export type Audit = { readonly created_at: string readonly created_by: string readonly updated_at: string readonly updated_by: string } export type ErrorLinks = { readonly about?: string | LinkObject readonly type?: string | LinkObject } export type ErrorSource = { readonly type: ErrorSourceType readonly source: string } export type GenericError = { readonly links?: ErrorLinks readonly code: string readonly title: string readonly detail: string readonly source?: ErrorSource readonly meta?: any } export type HealthCheck = { readonly status: HealthStatus readonly message?: string } export type LinkObject = { readonly href: string readonly title?: string readonly type?: string } export type PageResponse = { readonly offset: number readonly limit: number readonly sort: readonly Sort[] readonly total_results: number readonly total_pages: number } export type PagingForm = { readonly offset: number readonly limit: number readonly sort?: readonly Sort[] } export type ServiceInfo = { readonly name: string readonly version: string readonly uri: string readonly title?: string readonly description?: string } export type Sort = { readonly property: string readonly direction: SortDirection } export type ErrorSourceType = 'pointer' | 'parameter' | 'header' export type HealthStatus = 'running' | 'starting' | 'unhealthy' export type SortDirection = 'asc' | 'desc' export type JSONValue = | string | number | boolean | { readonly [x: string]: JSONValue } | readonly JSONValue[]