import { JSONSchema, JSONSchemaPrimitiveType, JSONSchemaValue } from '@criteria/json-schema/draft-04'; import { Discriminator } from './Discriminator'; import { ExternalDocumentation } from './ExternalDocumentation'; import { Reference } from './Reference'; import { XML } from './XML'; export type Schema = Pick & { type?: JSONSchemaPrimitiveType; allOf?: [Schema | ReferenceType, ...Array | ReferenceType>]; anyOf?: [Schema | ReferenceType, ...Array | ReferenceType>]; oneOf?: [Schema | ReferenceType, ...Array | ReferenceType>]; not?: Schema | ReferenceType; items?: Schema | ReferenceType; properties?: { [key: string]: Schema | ReferenceType; }; additionalProperties?: boolean | Schema | ReferenceType; description?: string; format?: string; default?: JSONSchemaValue; } & { nullable?: boolean; discriminator?: Discriminator; readOnly?: boolean; writeOnly?: boolean; xml?: XML; externalDocs?: ExternalDocumentation; example?: any; deprecated?: boolean; [key: `x-${string}`]: any; };