import { Intersection, Union } from "../meta-types"; import { Tail, Head, Get, HasKeyIn, Merge } from "../utils"; import { ParseSchema } from "."; import { MergeSubSchema, RemoveInvalidAdditionalItems } from "./utils"; export declare type ParseOneOfSchema = Union, S>>; declare type RecurseOnOneOfSchema = { stop: R; continue: S extends any[] ? RecurseOnOneOfSchema, P, R | (HasKeyIn extends true ? Intersection>, ParseSchema, Head>>> : ParseSchema, RemoveInvalidAdditionalItems>>>)> : never; }[S extends [any, ...any[]] ? "continue" : "stop"]; export {};