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