import type { ObjectSchema, SchemaBase, Static } from "./index.js"; type OneOfStatic>, TDiscriminator extends string> = { [TBranchName in keyof TBranches & string]: Omit, TDiscriminator> & { [TFieldName in TDiscriminator]: TBranchName; }; }[keyof TBranches & string]; export interface OneOfSchema>, TDiscriminator extends string = string> extends SchemaBase<"oneOf", OneOfStatic> { readonly discriminator: TDiscriminator; readonly branches: TBranches; } export declare function OneOf>>(config: { discriminator: TDiscriminator; branches: TBranches; }): OneOfSchema; export {};