import { FieldErrors, TouchedFields } from "../validation/types"; import { InternalFormId } from "./state/atomUtils"; export declare const ATOM_SCOPE: unique symbol; export declare type SyncedFormProps = { formId?: string; action?: string; subaction?: string; defaultValues: { [fieldName: string]: any; }; validateField: (fieldName: string) => Promise; registerReceiveFocus: (fieldName: string, handler: () => void) => () => void; }; export declare const isHydratedAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: boolean | ((prev: boolean) => boolean)) => void; onMount?: ( boolean)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: boolean; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const isSubmittingAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: boolean | ((prev: boolean) => boolean)) => void; onMount?: ( boolean)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: boolean; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const hasBeenSubmittedAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: boolean | ((prev: boolean) => boolean)) => void; onMount?: ( boolean)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: boolean; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const fieldErrorsAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: FieldErrors | ((prev: FieldErrors) => FieldErrors)) => void; onMount?: ( FieldErrors)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: FieldErrors; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const touchedFieldsAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: TouchedFields | ((prev: TouchedFields) => TouchedFields)) => void; onMount?: ( TouchedFields)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: TouchedFields; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const formPropsAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: SyncedFormProps | ((prev: SyncedFormProps) => SyncedFormProps)) => void; onMount?: ( SyncedFormProps)) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: SyncedFormProps; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const formElementAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: HTMLFormElement | ((prev: HTMLFormElement | null) => HTMLFormElement | null) | null) => void; onMount?: ( HTMLFormElement | null) | null) => void>(setAtom: S) => void | (() => void)) | undefined; } & { init: HTMLFormElement | null; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const cleanupFormState: (formId: InternalFormId) => void; export declare const isValidAtom: { (param: InternalFormId): import("jotai").Atom; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const startSubmitAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: unknown) => void; onMount?: ( void>(setAtom: S) => void | (() => void)) | undefined; } & { init: null; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const endSubmitAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: unknown) => void; onMount?: ( void>(setAtom: S) => void | (() => void)) | undefined; } & { init: null; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const setTouchedAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: { field: string; touched: boolean; }) => void; onMount?: ( void>(setAtom: S) => void | (() => void)) | undefined; } & { init: null; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const setFieldErrorAtom: { (param: InternalFormId): import("jotai").Atom & { write: (get: { (atom: import("jotai").Atom>): Value; (atom: import("jotai").Atom>): Value_1; (atom: import("jotai").Atom): Value_2 extends Promise ? V : Value_2; } & { (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_3 | Promise; (atom: import("jotai").Atom>, options: { unstable_promise: true; }): Value_4 | Promise; (atom: import("jotai").Atom, options: { unstable_promise: true; }): (Value_5 extends Promise ? V : Value_5) | Promise ? V : Value_5>; }, set: { >(atom: import("jotai").WritableAtom): Result; >(atom: import("jotai").WritableAtom, update: Update): Result_1; }, update: { field: string; error: string | undefined; }) => void; onMount?: ( void>(setAtom: S) => void | (() => void)) | undefined; } & { init: null; }; remove(param: InternalFormId): void; setShouldRemove(shouldRemove: ((createdAt: number, param: InternalFormId) => boolean) | null): void; }; export declare const fieldTouchedAtom: { (param: import("./state/atomUtils").FieldAtomKey): import("jotai").WritableAtom; remove(param: import("./state/atomUtils").FieldAtomKey): void; setShouldRemove(shouldRemove: ((createdAt: number, param: import("./state/atomUtils").FieldAtomKey) => boolean) | null): void; }; export declare const fieldErrorAtom: { (param: import("./state/atomUtils").FieldAtomKey): import("jotai").WritableAtom; remove(param: import("./state/atomUtils").FieldAtomKey): void; setShouldRemove(shouldRemove: ((createdAt: number, param: import("./state/atomUtils").FieldAtomKey) => boolean) | null): void; }; export declare const fieldDefaultValueAtom: { (param: import("./state/atomUtils").FieldAtomKey): import("jotai").Atom; remove(param: import("./state/atomUtils").FieldAtomKey): void; setShouldRemove(shouldRemove: ((createdAt: number, param: import("./state/atomUtils").FieldAtomKey) => boolean) | null): void; };