import { Account, AnonymousJazzAgent, LoadedAndRequired, BranchDefinition, InstanceOfSchema, InstanceOrPrimitiveOfSchemaCoValuesMaybeLoaded, Settled, RefsToResolve, RefsToResolveStrict, Resolved, SchemaUnion, SchemaUnionConcreteSubclass, SubscribeCallback, SubscribeListenerOptions, LoadCoValueCursorOption } from "../../../internal.js"; import { z } from "../zodReExport.js"; import { CoOptionalSchema } from "./CoOptionalSchema.js"; import { CoreCoValueSchema, CoreResolveQuery } from "./CoValueSchema.js"; export interface DiscriminableCoValueSchemaDefinition { discriminatorMap: z.core.$ZodDiscriminatedUnionInternals["propValues"]; } export interface DiscriminableCoreCoValueSchema extends CoreCoValueSchema { getDefinition: () => DiscriminableCoValueSchemaDefinition; } export interface CoDiscriminatedUnionSchemaDefinition extends DiscriminableCoValueSchemaDefinition { discriminator: string; options: Options; } export type DiscriminableCoValueSchemas = [ DiscriminableCoreCoValueSchema, ...DiscriminableCoreCoValueSchema[] ]; export interface CoreCoDiscriminatedUnionSchema extends DiscriminableCoreCoValueSchema { builtin: "CoDiscriminatedUnion"; getDefinition: () => CoDiscriminatedUnionSchemaDefinition; } export declare class CoDiscriminatedUnionSchema implements CoreCoDiscriminatedUnionSchema { #private; private coValueClass; readonly collaborative: true; readonly builtin: "CoDiscriminatedUnion"; readonly getDefinition: () => CoDiscriminatedUnionSchemaDefinition; getValidationSchema: () => z.ZodType>; /** * Default resolve query to be used when loading instances of this schema. * This resolve query will be used when no resolve query is provided to the load method. * @default true */ resolveQuery: DefaultResolveQuery; constructor(coreSchema: CoreCoDiscriminatedUnionSchema, coValueClass: SchemaUnionConcreteSubclass>); load & SchemaUnion> = DefaultResolveQuery>(id: string, options?: { resolve?: RefsToResolveStrict & SchemaUnion, R>; loadAs?: Account | AnonymousJazzAgent; skipRetry?: boolean; unstable_branch?: BranchDefinition; cursor?: LoadCoValueCursorOption; }): Promise & SchemaUnion, R>>>; subscribe & SchemaUnion> = DefaultResolveQuery>(id: string, listener: SubscribeCallback & SchemaUnion, R>>): () => void; subscribe & SchemaUnion> = DefaultResolveQuery>(id: string, options: SubscribeListenerOptions & SchemaUnion, R>, listener: SubscribeCallback & SchemaUnion, R>>): () => void; getCoValueClass(): SchemaUnionConcreteSubclass>; optional(): CoOptionalSchema; /** * Adds a default resolve query to be used when loading instances of this schema. * This resolve query will be used when no resolve query is provided to the load method. */ resolved & SchemaUnion> = true>(resolveQuery: RefsToResolveStrict & SchemaUnion, R>): CoDiscriminatedUnionSchema; } export declare function createCoreCoDiscriminatedUnionSchema(discriminator: string, schemas: Options): CoreCoDiscriminatedUnionSchema; type CoDiscriminatedUnionInstanceCoValuesMaybeLoaded = LoadedAndRequired>; export {}; //# sourceMappingURL=CoDiscriminatedUnionSchema.d.ts.map