import { type TSchema, type TSchemaOptions } from '../../types/schema.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TState, type TInstantiateType, type TCanInstantiate } from '../instantiate.mjs'; import { type TExtractDeferred } from '../../action/extract.mjs'; import { type TExtractOperation } from './operation.mjs'; export type TExtractAction extends true ? TExtractOperation : TExtractDeferred> = Result; export declare function ExtractAction(left: Left, right: Right, options: TSchemaOptions): TExtractAction; export type TExtractInstantiate, InstantiatedRight extends TSchema = TInstantiateType> = TExtractAction; export declare function ExtractInstantiate(context: Context, state: State, left: Left, right: Right, options: TSchemaOptions): TExtractInstantiate;