import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs'; import { type TUnion } from '../../types/union.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TExtends, ExtendsResult } from '../../extends/index.mjs'; import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs'; import { type TConditionalDeferred } from '../../action/conditional.mjs'; type TConditionalOperation> = (ExtendsResult extends ExtendsResult.TExtendsUnion ? TUnion<[TInstantiateType, TInstantiateType]> : ExtendsResult extends ExtendsResult.TExtendsTrue ? TInstantiateType : TInstantiateType); export type TConditionalAction extends true ? TConditionalOperation : TConditionalDeferred> = Result; export declare function ConditionalAction(context: Context, state: State, left: Left, right: Right, true_: True, false_: False, options: TSchemaOptions): TConditionalAction; export type TConditionalInstantiate, InstaniatedRight extends TSchema = TInstantiateType> = TConditionalAction; export declare function ConditionalInstantiate(context: Context, state: State, left: Left, right: Right, true_: True, false_: False, options: TSchemaOptions): TConditionalInstantiate; export {};