/**
 * Shared form-data state, keyed by `formId` so multiple forms can
 * coexist on a page without colliding. Engine renderers and the
 * FormBuilder all read/write the same shape:
 *
 *   {
 *     values:  { [name]: value },
 *     errors:  { [name]: string[] },
 *     touched: { [name]: boolean },
 *     dirty:   boolean
 *   }
 */
export interface FormState {
    values: Record<string, unknown>;
    errors: Record<string, string[]>;
    touched: Record<string, boolean>;
    dirty: boolean;
}
export declare const useFormDataStore: import('pinia').StoreDefinition<"gx-modui/formData", Pick<{
    forms: import('vue').Ref<Record<string, FormState>, Record<string, FormState>>;
    ensureForm: (formId: string) => FormState;
    setInitialValues: (formId: string, values: Record<string, unknown>) => void;
    setValue: (formId: string, name: string, value: unknown) => void;
    setErrors: (formId: string, errors: Record<string, string[] | string>) => void;
    clearErrors: (formId: string, name?: string) => void;
    getForm: (formId: string) => FormState;
    resetForm: (formId: string) => void;
}, "forms">, Pick<{
    forms: import('vue').Ref<Record<string, FormState>, Record<string, FormState>>;
    ensureForm: (formId: string) => FormState;
    setInitialValues: (formId: string, values: Record<string, unknown>) => void;
    setValue: (formId: string, name: string, value: unknown) => void;
    setErrors: (formId: string, errors: Record<string, string[] | string>) => void;
    clearErrors: (formId: string, name?: string) => void;
    getForm: (formId: string) => FormState;
    resetForm: (formId: string) => void;
}, never>, Pick<{
    forms: import('vue').Ref<Record<string, FormState>, Record<string, FormState>>;
    ensureForm: (formId: string) => FormState;
    setInitialValues: (formId: string, values: Record<string, unknown>) => void;
    setValue: (formId: string, name: string, value: unknown) => void;
    setErrors: (formId: string, errors: Record<string, string[] | string>) => void;
    clearErrors: (formId: string, name?: string) => void;
    getForm: (formId: string) => FormState;
    resetForm: (formId: string) => void;
}, "ensureForm" | "setInitialValues" | "setValue" | "setErrors" | "clearErrors" | "getForm" | "resetForm">>;
//# sourceMappingURL=formDataStore.d.ts.map