import { DeferredMap, ValueParserResult } from "./valueparser.js"; import { ExecutionContext, Mode, ModeValue, Parser } from "./internal/parser.js"; //#region src/phase2-seed.d.ts /** * Best-effort parser value used for phase-two context collection. * * @internal */ interface Phase2Seed { readonly value: T; readonly deferred?: true; readonly deferredKeys?: DeferredMap; } /** * Internal hook for extracting a best-effort phase-two seed from parser state. * * @internal */ type Phase2SeedExtractor = (state: TState, exec?: ExecutionContext) => ModeValue | null>; /** * Internal parser hook key for phase-two seed extraction. * * @internal */ declare const extractPhase2SeedKey: unique symbol; /** * Converts a successful complete() result into a phase-two seed. * * @internal */ declare function phase2SeedFromValueResult(result: Extract, { readonly success: true; }>): Phase2Seed; /** * Invokes a parser's internal phase-two seed hook when present. * * @internal */ declare function extractPhase2Seed(parser: Parser, state: TState, exec?: ExecutionContext): ModeValue | null>; /** * Attempts to complete a parser and falls back to the internal phase-two * seed hook when completion returns an unsuccessful result. * * @internal */ declare function completeOrExtractPhase2Seed(parser: Parser, state: TState, exec?: ExecutionContext): ModeValue | null>; //#endregion export { Phase2Seed, Phase2SeedExtractor, completeOrExtractPhase2Seed, extractPhase2Seed, extractPhase2SeedKey, phase2SeedFromValueResult };