/// <reference types="react" />
import { AddressErrors, CheckoutDeliveryAddressData, CheckoutUpdateStatus, RefreshableCheckout } from '../types';
export declare function useAddresses({ checkout, refreshCheckout }: RefreshableCheckout): {
    forceUpdateForms: (values: any) => Promise<boolean>;
    billingAddressForm: {
        currentValue: Pick<CheckoutDeliveryAddressData, "city" | "country" | "state" | "apartment" | "firstName" | "lastName" | "street" | "zipCode">;
        exists: boolean;
        isValid: boolean;
        onSubmit: (value?: Pick<CheckoutDeliveryAddressData, "city" | "country" | "state" | "apartment" | "firstName" | "lastName" | "street" | "zipCode">) => Promise<CheckoutUpdateStatus>;
        reset: () => void;
        setCurrentValue: import("react").Dispatch<import("react").SetStateAction<Pick<CheckoutDeliveryAddressData, "city" | "country" | "state" | "apartment" | "firstName" | "lastName" | "street" | "zipCode">>>;
        setExists: import("react").Dispatch<import("react").SetStateAction<boolean>>;
        setIsValid: import("react").Dispatch<import("react").SetStateAction<boolean>>;
        setSubmit: import("react").Dispatch<import("react").SetStateAction<() => void>>;
        setSubmittedValue: import("react").Dispatch<import("react").SetStateAction<Pick<CheckoutDeliveryAddressData, "city" | "country" | "state" | "apartment" | "firstName" | "lastName" | "street" | "zipCode">>>;
        submit: () => void;
        submittedValue: Pick<CheckoutDeliveryAddressData, "city" | "country" | "state" | "apartment" | "firstName" | "lastName" | "street" | "zipCode">;
    };
    billingAddressRequest: {
        error: AddressErrors;
        setError: import("react").Dispatch<import("react").SetStateAction<AddressErrors>>;
        status: CheckoutUpdateStatus;
        setStatus: import("react").Dispatch<import("react").SetStateAction<CheckoutUpdateStatus>>;
    };
    deliveryAddressForm: {
        currentValue: CheckoutDeliveryAddressData;
        isValid: boolean;
        onSubmit: (value?: CheckoutDeliveryAddressData) => Promise<CheckoutUpdateStatus>;
        reset: () => void;
        setCurrentValue: import("react").Dispatch<import("react").SetStateAction<CheckoutDeliveryAddressData>>;
        setIsValid: import("react").Dispatch<import("react").SetStateAction<boolean>>;
        setSubmit: import("react").Dispatch<import("react").SetStateAction<() => void>>;
        setSubmittedValue: import("react").Dispatch<import("react").SetStateAction<CheckoutDeliveryAddressData>>;
        submit: () => void;
        submittedValue: CheckoutDeliveryAddressData;
    };
    deliveryAddressRequest: {
        error: AddressErrors;
        setError: import("react").Dispatch<import("react").SetStateAction<AddressErrors>>;
        status: CheckoutUpdateStatus;
        setStatus: import("react").Dispatch<import("react").SetStateAction<CheckoutUpdateStatus>>;
    };
    isBillingAddressSameAsDelivery: boolean;
    setIsBillingAddressSameAsDelivery: import("react").Dispatch<import("react").SetStateAction<boolean>>;
};
//# sourceMappingURL=use-addresses.d.ts.map