import { AppState } from '../../app';
import { Address, Addresses, RequestError, RequestStatus } from '@open-tender/types';
export interface CustomerAddressesState {
    entities: Addresses;
    error: RequestError;
    loading: RequestStatus;
    lookup: {
        [key: number | string]: number;
    };
}
export declare enum CustomerAddressesActionType {
    FetchCustomerAddresses = "customer/fetchCustomerAddresses",
    UpdateCustomerAddresses = "customer/updateCustomerAddresses",
    RemoveCustomerAddress = "customer/removeCustomerAddress"
}
export declare const fetchCustomerAddresses: import("@reduxjs/toolkit").AsyncThunk<Addresses, number, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const updateCustomerAddress: import("@reduxjs/toolkit").AsyncThunk<Addresses, {
    addressId: number;
    data: Address;
    callback?: (() => void) | undefined;
}, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const removeCustomerAddress: import("@reduxjs/toolkit").AsyncThunk<Addresses, {
    addressId: number;
    callback?: (() => void) | undefined;
}, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const resetCustomerAddresses: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"addresses/resetCustomerAddresses">, setCustomerAddresses: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "addresses/setCustomerAddresses">, resetCustomerAddressesError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"addresses/resetCustomerAddressesError">;
export declare const selectCustomerAddresses: (state: AppState) => CustomerAddressesState;
export declare const customerAddressesReducer: import("redux").Reducer<CustomerAddressesState, import("redux").AnyAction>;
