import { A as StateMachine, C as StateValue, D as PromiseActorLogic, a as ActorRefFromLogic, b as RequiredActorOptions, c as AnyEventObject, g as IsNotNever, h as InputFrom, i as ActorRefFrom, k as MachineSnapshot, m as GetConcreteByKey, o as AnyActorLogic, p as EventObject, r as ActorRef, s as AnyActorRef, u as ConditionalRequired, v as MetaObject, w as Values, x as RequiredLogicInput, y as NonReducibleUnknown } from "./spawn-D9jgw9pW.js"; import "./StateMachine-EDpYWy0i.js"; import { t as Manager } from "./Manager-CQQ99QOI.js"; import "./Actor-iTq7YY48.js"; import { a as UpdateOcrResponse, i as UpdateOcrDataParams, n as OcrData, t as IdOcrConfig } from "./types-CJ7Yl9K-2.js"; //#region src/modules/id-ocr/idOcrStateMachine.d.ts type IdOcrOcrDocument = 'first' | 'second'; type IdOcrContext = { config: IdOcrConfig; error?: string; formData: UpdateOcrDataParams; editedFields: UpdateOcrDataParams; activeOcrDocument: IdOcrOcrDocument; validationErrors?: Partial>; }; type IdOcrInput = { config: IdOcrConfig; }; declare const idOcrStateMachine: StateMachine> | ActorRefFromLogic> | undefined; }, Values<{ getOcrData: { src: "getOcrData"; logic: PromiseActorLogic; id: string | undefined; }; updateOcrData: { src: "updateOcrData"; logic: PromiseActorLogic; id: string | undefined; }; }>, Values<{ setError: { type: "setError"; params: NonReducibleUnknown; }; setInitialData: { type: "setInitialData"; params: NonReducibleUnknown; }; updateField: { type: "updateField"; params: NonReducibleUnknown; }; clearFieldValidationError: { type: "clearFieldValidationError"; params: NonReducibleUnknown; }; setOcrValidationErrors: { type: "setOcrValidationErrors"; params: NonReducibleUnknown; }; validateFormField: { type: "validateFormField"; params: NonReducibleUnknown; }; beginSecondIdOcrPhase: { type: "beginSecondIdOcrPhase"; params: NonReducibleUnknown; }; resetForRetry: { type: "resetForRetry"; params: NonReducibleUnknown; }; computeValidationResult: { type: "computeValidationResult"; params: NonReducibleUnknown; }; }>, Values<{ isOcrEditable: { type: "isOcrEditable"; params: unknown; }; shouldLoadSecondOcrAfterFirst: { type: "shouldLoadSecondOcrAfterFirst"; params: unknown; }; isOcrFormValid: { type: "isOcrFormValid"; params: unknown; }; shouldSubmit: { type: "shouldSubmit"; params: unknown; }; shouldProceedWithoutSubmitToSecondId: { type: "shouldProceedWithoutSubmitToSecondId"; params: unknown; }; }>, never, "error" | "idle" | "success" | "finished" | "submitting" | "loading" | "inputting" | "readonly" | "validatingContinue", string, IdOcrInput, NonReducibleUnknown, EventObject, MetaObject, { readonly id: "idOcr"; readonly initial: "idle"; readonly context: ({ input }: { spawn: { (logic: TSrc, ...[options]: ({ src: "getOcrData"; logic: PromiseActorLogic; id: string | undefined; } extends (infer T) ? T extends { src: "getOcrData"; logic: PromiseActorLogic; id: string | undefined; } ? T extends { src: TSrc; } ? ConditionalRequired<[options?: ({ id?: T["id"] | undefined; systemId?: string; input?: InputFrom | undefined; syncSnapshot?: boolean; } & { [K in RequiredActorOptions]: unknown; }) | undefined], IsNotNever>> : never : never : never) | ({ src: "updateOcrData"; logic: PromiseActorLogic; id: string | undefined; } extends (infer T_1) ? T_1 extends { src: "updateOcrData"; logic: PromiseActorLogic; id: string | undefined; } ? T_1 extends { src: TSrc; } ? ConditionalRequired<[options?: ({ id?: T_1["id"] | undefined; systemId?: string; input?: InputFrom | undefined; syncSnapshot?: boolean; } & { [K_1 in RequiredActorOptions]: unknown; }) | undefined], IsNotNever>> : never : never : never)): ActorRefFromLogic; id: string | undefined; }; updateOcrData: { src: "updateOcrData"; logic: PromiseActorLogic; id: string | undefined; }; }>, "src", TSrc>["logic"]>; (src: TLogic, ...[options]: ConditionalRequired<[options?: ({ id?: never; systemId?: string; input?: InputFrom | undefined; syncSnapshot?: boolean; } & { [K in RequiredLogicInput]: unknown; }) | undefined], IsNotNever>>): ActorRefFromLogic; }; input: IdOcrInput; self: ActorRef, StateValue, string, unknown, any, any>, { type: "LOAD"; } | { type: "DATA_CHANGED"; field: keyof UpdateOcrDataParams; value: string; } | { type: "VALIDATE_FIELD"; field: keyof UpdateOcrDataParams; } | { type: "CONTINUE"; } | { type: "RETRY"; }, AnyEventObject>; }) => { config: IdOcrConfig; formData: UpdateOcrDataParams; editedFields: {}; activeOcrDocument: IdOcrOcrDocument; }; readonly states: { readonly idle: { readonly on: { readonly LOAD: readonly [{ readonly target: "loading"; }]; }; }; readonly loading: { readonly invoke: { readonly src: "getOcrData"; readonly input: ({ context }: { context: IdOcrContext; event: { type: "LOAD"; } | { type: "DATA_CHANGED"; field: keyof UpdateOcrDataParams; value: string; } | { type: "VALIDATE_FIELD"; field: keyof UpdateOcrDataParams; } | { type: "CONTINUE"; } | { type: "RETRY"; }; self: ActorRef, StateValue, string, unknown, any, any>, { type: "LOAD"; } | { type: "DATA_CHANGED"; field: keyof UpdateOcrDataParams; value: string; } | { type: "VALIDATE_FIELD"; field: keyof UpdateOcrDataParams; } | { type: "CONTINUE"; } | { type: "RETRY"; }, AnyEventObject>; }) => { isSecondId: boolean; }; readonly onDone: readonly [{ readonly target: "inputting"; readonly guard: "isOcrEditable"; readonly actions: "setInitialData"; }, { readonly target: "readonly"; readonly actions: "setInitialData"; }]; readonly onError: { readonly target: "error"; readonly actions: "setError"; }; }; }; readonly readonly: { readonly on: { readonly CONTINUE: readonly [{ readonly target: "loading"; readonly guard: "shouldLoadSecondOcrAfterFirst"; readonly actions: "beginSecondIdOcrPhase"; }, { readonly target: "success"; }]; }; }; readonly inputting: { readonly on: { readonly DATA_CHANGED: { readonly actions: readonly ["updateField", "clearFieldValidationError"]; }; readonly VALIDATE_FIELD: { readonly actions: "validateFormField"; }; readonly CONTINUE: { readonly target: "validatingContinue"; }; }; }; readonly validatingContinue: { readonly entry: "computeValidationResult"; readonly always: readonly [{ readonly guard: "shouldSubmit"; readonly target: "submitting"; }, { readonly guard: "shouldProceedWithoutSubmitToSecondId"; readonly target: "loading"; readonly actions: "beginSecondIdOcrPhase"; }, { readonly guard: "isOcrFormValid"; readonly target: "success"; }, { readonly target: "inputting"; }]; }; readonly submitting: { readonly invoke: { readonly src: "updateOcrData"; readonly input: ({ context }: { context: IdOcrContext; event: { type: "LOAD"; } | { type: "DATA_CHANGED"; field: keyof UpdateOcrDataParams; value: string; } | { type: "VALIDATE_FIELD"; field: keyof UpdateOcrDataParams; } | { type: "CONTINUE"; } | { type: "RETRY"; }; self: ActorRef, StateValue, string, unknown, any, any>, { type: "LOAD"; } | { type: "DATA_CHANGED"; field: keyof UpdateOcrDataParams; value: string; } | { type: "VALIDATE_FIELD"; field: keyof UpdateOcrDataParams; } | { type: "CONTINUE"; } | { type: "RETRY"; }, AnyEventObject>; }) => { params: UpdateOcrDataParams; isSecondId: boolean; }; readonly onDone: readonly [{ readonly target: "loading"; readonly guard: "shouldLoadSecondOcrAfterFirst"; readonly actions: "beginSecondIdOcrPhase"; }, { readonly target: "success"; }]; readonly onError: { readonly target: "error"; readonly actions: "setError"; }; }; }; readonly error: { readonly on: { readonly RETRY: { readonly target: "loading"; readonly actions: "resetForRetry"; }; }; }; readonly success: { readonly after: { readonly 3000: "finished"; }; }; readonly finished: { readonly type: "final"; }; }; }>; type IdOcrMachine = typeof idOcrStateMachine; //#endregion //#region src/modules/id-ocr/idOcrActor.d.ts type IdOcrActor = ActorRefFrom; type CreateIdOcrActorOptions = { config: IdOcrConfig; }; //#endregion //#region src/modules/id-ocr/idOcrManager.d.ts type IdOcrIdleState = { status: 'idle'; }; type IdOcrLoadingState = { status: 'loading'; ocrDocument: IdOcrOcrDocument; }; type IdOcrReadonlyState = { status: 'readonly'; formData: UpdateOcrDataParams; editableOcr: boolean; ocrDocument: IdOcrOcrDocument; }; type IdOcrInputtingState = { status: 'inputting'; formData: UpdateOcrDataParams; editedFields: UpdateOcrDataParams; editableOcr: boolean; ocrDocument: IdOcrOcrDocument; validationErrors?: Partial>; }; type IdOcrSubmittingState = { status: 'submitting'; ocrDocument: IdOcrOcrDocument; }; type IdOcrFinishedState = { status: 'finished'; }; type IdOcrErrorState = { status: 'error'; error: string; }; type IdOcrSuccessState = { status: 'success'; }; type IdOcrState = IdOcrIdleState | IdOcrLoadingState | IdOcrReadonlyState | IdOcrInputtingState | IdOcrSubmittingState | IdOcrFinishedState | IdOcrErrorState | IdOcrSuccessState; declare function createIdOcrManager(options: CreateIdOcrActorOptions): Manager & { load(): void; setField(field: keyof UpdateOcrDataParams, value: string): void; validateField(field: keyof UpdateOcrDataParams): void; continue(): void; retry(): void; }; /** * Creates an ID-OCR manager from a pre-built actor. * Use this when overriding the machine via `.provide()` for custom backends * or for story-isolation testing. */ declare function createIdOcrManagerFromActor(actor: IdOcrActor): Manager & { load(): void; setField(field: keyof UpdateOcrDataParams, value: string): void; validateField(field: keyof UpdateOcrDataParams): void; continue(): void; retry(): void; }; type IdOcrManager = ReturnType; //#endregion export { IdOcrActor as a, createIdOcrManagerFromActor as i, IdOcrState as n, IdOcrOcrDocument as o, createIdOcrManager as r, idOcrStateMachine as s, IdOcrManager as t };