import { CheckoutFormData } from './checkout-schema';
export type CheckoutStep = "customer" | "shipping" | "payment";
export interface FormStore {
    formData: Partial<CheckoutFormData>;
    setFormData: (formData: Partial<CheckoutFormData>) => void;
    step: CheckoutStep;
    setStep: (step: CheckoutStep) => void;
    checkoutId: string;
    setCheckoutId: (checkoutId: string) => void;
}
export declare const useFormStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<FormStore>, "setState" | "persist"> & {
    setState(partial: FormStore | Partial<FormStore> | ((state: FormStore) => FormStore | Partial<FormStore>), replace?: false | undefined): unknown;
    setState(state: FormStore | ((state: FormStore) => FormStore), replace: true): unknown;
    persist: {
        setOptions: (options: Partial<import('zustand/middleware').PersistOptions<FormStore, FormStore, unknown>>) => void;
        clearStorage: () => void;
        rehydrate: () => Promise<void> | void;
        hasHydrated: () => boolean;
        onHydrate: (fn: (state: FormStore) => void) => () => void;
        onFinishHydration: (fn: (state: FormStore) => void) => () => void;
        getOptions: () => Partial<import('zustand/middleware').PersistOptions<FormStore, FormStore, unknown>>;
    };
}>;
export declare const resetFormStore: (formData: Partial<CheckoutFormData>) => void;
