import { type ConditionalFn, type RefsStore, type UnionNode } from '@vinejs/compiler/types'; import { ITYPE, OTYPE, COTYPE, PARSE } from '../../symbols.js'; import type { ParserOptions, SchemaTypes } from '../../types.js'; /** * Represents a union conditional type. A conditional is a predicate * function combined with a schema that is applied when the predicate * evaluates to true. * * Each conditional acts as a branch in the union, determining which * validation schema should be applied based on runtime conditions. * * @template Schema - The schema type to apply when condition is met */ export declare class UnionConditional { #private; /** * The input type of the schema */ [ITYPE]: Schema[typeof ITYPE]; /** * The output type of the schema */ [OTYPE]: Schema[typeof OTYPE]; /** * The camelCase output type of the schema */ [COTYPE]: Schema[typeof COTYPE]; /** * Creates a new UnionConditional instance. * * @param conditional - Function that determines if this branch matches * @param schema - Schema to apply when the conditional returns true */ constructor(conditional: ConditionalFn>, schema: Schema); /** * Transforms the conditional's schema into JSON Schema format. */ toJSONSchema(): import("json-schema").JSONSchema7; /** * Compiles the conditional to a union conditional node. * * @param propertyName - The name of the property being validated * @param refs - Reference store for tracking validators and conditionals * @param options - Parser options including camelCase transformation */ [PARSE](propertyName: string, refs: RefsStore, options: ParserOptions): UnionNode['conditions'][number]; }