import { Effect } from "effect"; type FormMachineContext = { error: string | null; payload: TPayload | null; preprocess: TPreprocess | null; result: TResult | null; }; type FormMachineEvents = { type: "SAVE"; payload: TPayload; } | { type: "CHECK"; payload: TCheck; } | { type: "RESET"; }; type FormMachineServices = { onCheck: (payload: TCheck) => Effect.Effect; onValidate: (payload: TPayload) => Effect.Effect; onProcess: (input: { payload: TPayload; preprocess: TPreprocess; }) => Effect.Effect; }; type FormMachineConfig = { id: string; services: FormMachineServices; isUserRejectedError?: (error: unknown) => boolean; }; declare function createFormMachine({ id, services, isUserRejectedError, }: FormMachineConfig): import("xstate").StateMachine, { type: "RESET"; } | { type: "SAVE"; payload: TPayload; } | { type: "CHECK"; payload: TCheck; }, { [x: string]: import("xstate").ActorRefFromLogic> | import("xstate").ActorRefFromLogic> | import("xstate").ActorRefFromLogic> | undefined; }, { src: "doCheck"; logic: import("xstate").PromiseActorLogic; id: string | undefined; } | { src: "doProcess"; logic: import("xstate").PromiseActorLogic; id: string | undefined; } | { src: "doValidate"; logic: import("xstate").PromiseActorLogic; id: string | undefined; }, { type: "doCache"; params: import("xstate").NonReducibleUnknown; } | { type: "doError"; params: import("xstate").NonReducibleUnknown; } | { type: "doPrepareSave"; params: import("xstate").NonReducibleUnknown; } | { type: "doPreprocess"; params: import("xstate").NonReducibleUnknown; } | { type: "doReset"; params: import("xstate").NonReducibleUnknown; } | { type: "doResult"; params: import("xstate").NonReducibleUnknown; }, never, never, {}, string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, { id?: string | undefined | undefined; states?: {} | undefined; }>; export { createFormMachine }; export type { FormMachineConfig, FormMachineContext, FormMachineEvents, FormMachineServices }; //# sourceMappingURL=form.d.ts.map