export type Demand = { readonly paints: readonly Paint[] } export type Healthcheck = { readonly status: Status } export type OptimizeRequest = { readonly colors: number readonly customers: number readonly demands: readonly Demand[] } export type Paint = { readonly id: number readonly sheen: Sheen } export type ReadableError = { readonly text: string } export type Sheen = 'M' | 'G' export type Status = 'ok' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]