import { AppState } from '../../app';
import { Favorite, Favorites, FavoritesLookup, RequestError, RequestStatus, SimpleCartItem } from '@open-tender/types';
export interface CustomerFavoritesState {
    entities: Favorites;
    error: RequestError;
    loading: RequestStatus;
    lookup: FavoritesLookup;
}
export declare enum CustomerFavoritesActionType {
    FetchCustomerFavorites = "customer/fetchCustomerFavorites",
    UpdateCustomerFavorite = "customer/updateCustomerFavorite",
    RemoveCustomerFavorite = "customer/removeCustomerFavorite",
    AddCustomerFavorite = "customer/addCustomerFavorite"
}
export declare const fetchCustomerFavorites: import("@reduxjs/toolkit").AsyncThunk<Favorites, void, {
    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 updateCustomerFavorite: import("@reduxjs/toolkit").AsyncThunk<Favorites, {
    favoriteId: number;
    data: Favorite;
    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 removeCustomerFavorite: import("@reduxjs/toolkit").AsyncThunk<Favorites, {
    favoriteId: 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 addCustomerFavorite: import("@reduxjs/toolkit").AsyncThunk<Favorites, {
    item: SimpleCartItem;
    name?: string | undefined;
    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 resetCustomerFavorites: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"favorites/resetCustomerFavorites">, resetCustomerFavoritesError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"favorites/resetCustomerFavoritesError">, setCustomerFavorites: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "favorites/setCustomerFavorites">, setCustomerFavoritesLookup: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "favorites/setCustomerFavoritesLookup">;
export declare const selectCustomerFavorites: (state: AppState) => CustomerFavoritesState;
export declare const customerFavoritesReducer: import("redux").Reducer<CustomerFavoritesState, import("redux").AnyAction>;
