import type { M } from "ts-algebra"; import type { JSONSchema, JSONSchemaType } from "../definitions"; import type { ParseSchema, ParseSchemaOptions } from "./index"; export type MultipleTypesSchema = JSONSchema & Readonly<{ type: readonly JSONSchemaType[]; }>; export type ParseMultipleTypesSchema = M.$Union>; type RecurseOnMixedSchema = TYPES extends readonly [infer TYPES_HEAD, ...infer TYPES_TAIL] ? TYPES_HEAD extends JSONSchemaType ? TYPES_TAIL extends readonly JSONSchemaType[] ? RecurseOnMixedSchema & { type: TYPES_HEAD; }, OPTIONS>> : never : never : RESULT; export {};