import { AppState } from '../../app';
import { LoyaltyPrograms, OrderType, RequestError, RequestStatus } from '@open-tender/types';
export interface CustomerLoyaltyState {
    entities: LoyaltyPrograms;
    error: RequestError;
    loading: RequestStatus;
    lookup: {
        [key: number | string]: number;
    };
}
export declare enum CustomerLoyaltyActionType {
    FetchCustomerLoyalty = "customer/fetchCustomerLoyalty"
}
export declare const fetchCustomerLoyalty: import("@reduxjs/toolkit").AsyncThunk<LoyaltyPrograms, 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 resetCustomerLoyalty: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"loyalty/resetCustomerLoyalty">, resetCustomerLoyaltyError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"loyalty/resetCustomerLoyaltyError">, setCustomerLoyalty: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "loyalty/setCustomerLoyalty">;
export declare const selectCustomerLoyalty: (state: AppState) => CustomerLoyaltyState;
export declare const selectCustomerLoyaltyProgram: ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("..").AllergensState;
    announcements: import("..").AnnouncementsState;
    checkout: import("..").CheckoutState;
    completedOrders: import("..").CompletedOrdersState;
    config: import("..").ConfigState;
    confirmation: import("..").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./account").AccountState;
        communicationPreferences: import("./communicationPreferences").CustomerCommunicationPrefsState;
        creditCards: import("./creditCards").CustomerCreditCardsState;
        allergens: import("./allergens").CustomerAllergensState;
        addresses: import("./addresses").CustomerAddressesState;
        favorites: import("./favorites").CustomerFavoritesState;
        fcmToken: import("./fcmToken").CustomerFcmTokenState;
        giftCards: import("./giftCards").CustomerGiftCardsState;
        groupOrders: import("./groupOrders").CustomerGroupOrdersState;
        history: import("./history").CustomerHistoryState;
        houseAccounts: import("./houseAccounts").CustomerHouseAccountsState;
        loyalty: CustomerLoyaltyState;
        order: import("./order").CustomerOrderState;
        orders: import("./orders").CustomerOrdersState;
        pointsShop: import("./pointsShop").PointsShopState;
        tplsPointsShop: import("./tplsPointsShop").TplsPointsShopState;
        qrcode: import("./qrCode").CustomerQRCodeState;
        rewards: import("./rewards").CustomerRewardsState;
        thanx: import("./thanx").CustomerThanxState;
        tpls: import("./tpls").CustomerTplsState;
    }>;
    deals: import("..").DealsState;
    donations: import("..").DonationState;
    geolocation: import("..").GeoLocationState;
    giftCards: import("..").GiftCardsState;
    groupOrder: import("..").GroupOrderState;
    guest: import("..").GuestState;
    loader: import("..").LoaderState;
    menu: import("..").MenuState;
    menuDisplay: import("..").MenuDisplayState;
    menuItems: import("..").MenuItemsState;
    modal: import("@open-tender/types").Modal;
    misc: import("..").MiscState;
    nav: import("..").NavState;
    navSite: import("..").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("..").OneTimePasscodeState;
    order: import("..").OrderState;
    orderFulfillment: import("..").OrderFulfillmentState;
    orderRating: import("..").OrderRatingState;
    posts: import("..").PostsSlice;
    pushNotifications: import("..").PushNotificationsState;
    qr: import("..").QrState;
    quote: import("..").QuoteState;
    resetPassword: import("..").ResetPasswordState;
    revenueCenters: import("..").RevenueCentersState;
    rewardCode: import("..").RewardCodeState;
    sidebar: import("..").SidebarState;
    sidebarModal: import("..").SidebarModalState;
    signUp: import("..").SignUpState;
    tags: import("..").TagsState;
    terms: import("..").TermsSlice;
    Unsubscribe: import("..").UnsubscribeState;
    validTimes: import("..").ValidTimesState;
    verifyAccount: import("..").VerifyAccountState;
}) => {
    program: import("@open-tender/types").LoyaltyProgram | null;
    loading: RequestStatus;
    error: RequestError;
}) & import("reselect").OutputSelectorFields<(args_0: {
    entities: LoyaltyPrograms;
    loading: RequestStatus;
    error: RequestError;
}) => {
    program: import("@open-tender/types").LoyaltyProgram | null;
    loading: RequestStatus;
    error: RequestError;
}, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectHasPointsShop: ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("..").AllergensState;
    announcements: import("..").AnnouncementsState;
    checkout: import("..").CheckoutState;
    completedOrders: import("..").CompletedOrdersState;
    config: import("..").ConfigState;
    confirmation: import("..").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./account").AccountState;
        communicationPreferences: import("./communicationPreferences").CustomerCommunicationPrefsState;
        creditCards: import("./creditCards").CustomerCreditCardsState;
        allergens: import("./allergens").CustomerAllergensState;
        addresses: import("./addresses").CustomerAddressesState;
        favorites: import("./favorites").CustomerFavoritesState;
        fcmToken: import("./fcmToken").CustomerFcmTokenState;
        giftCards: import("./giftCards").CustomerGiftCardsState;
        groupOrders: import("./groupOrders").CustomerGroupOrdersState;
        history: import("./history").CustomerHistoryState;
        houseAccounts: import("./houseAccounts").CustomerHouseAccountsState;
        loyalty: CustomerLoyaltyState;
        order: import("./order").CustomerOrderState;
        orders: import("./orders").CustomerOrdersState;
        pointsShop: import("./pointsShop").PointsShopState;
        tplsPointsShop: import("./tplsPointsShop").TplsPointsShopState;
        qrcode: import("./qrCode").CustomerQRCodeState;
        rewards: import("./rewards").CustomerRewardsState;
        thanx: import("./thanx").CustomerThanxState;
        tpls: import("./tpls").CustomerTplsState;
    }>;
    deals: import("..").DealsState;
    donations: import("..").DonationState;
    geolocation: import("..").GeoLocationState;
    giftCards: import("..").GiftCardsState;
    groupOrder: import("..").GroupOrderState;
    guest: import("..").GuestState;
    loader: import("..").LoaderState;
    menu: import("..").MenuState;
    menuDisplay: import("..").MenuDisplayState;
    menuItems: import("..").MenuItemsState;
    modal: import("@open-tender/types").Modal;
    misc: import("..").MiscState;
    nav: import("..").NavState;
    navSite: import("..").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("..").OneTimePasscodeState;
    order: import("..").OrderState;
    orderFulfillment: import("..").OrderFulfillmentState;
    orderRating: import("..").OrderRatingState;
    posts: import("..").PostsSlice;
    pushNotifications: import("..").PushNotificationsState;
    qr: import("..").QrState;
    quote: import("..").QuoteState;
    resetPassword: import("..").ResetPasswordState;
    revenueCenters: import("..").RevenueCentersState;
    rewardCode: import("..").RewardCodeState;
    sidebar: import("..").SidebarState;
    sidebarModal: import("..").SidebarModalState;
    signUp: import("..").SignUpState;
    tags: import("..").TagsState;
    terms: import("..").TermsSlice;
    Unsubscribe: import("..").UnsubscribeState;
    validTimes: import("..").ValidTimesState;
    verifyAccount: import("..").VerifyAccountState;
}) => boolean) & import("reselect").OutputSelectorFields<(args_0: {
    entities: LoyaltyPrograms;
}) => boolean, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectCustomerPointsProgram: (orderType: OrderType | null) => ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("..").AllergensState;
    announcements: import("..").AnnouncementsState;
    checkout: import("..").CheckoutState;
    completedOrders: import("..").CompletedOrdersState;
    config: import("..").ConfigState;
    confirmation: import("..").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./account").AccountState;
        communicationPreferences: import("./communicationPreferences").CustomerCommunicationPrefsState;
        creditCards: import("./creditCards").CustomerCreditCardsState;
        allergens: import("./allergens").CustomerAllergensState;
        addresses: import("./addresses").CustomerAddressesState;
        favorites: import("./favorites").CustomerFavoritesState;
        fcmToken: import("./fcmToken").CustomerFcmTokenState;
        giftCards: import("./giftCards").CustomerGiftCardsState;
        groupOrders: import("./groupOrders").CustomerGroupOrdersState;
        history: import("./history").CustomerHistoryState;
        houseAccounts: import("./houseAccounts").CustomerHouseAccountsState;
        loyalty: CustomerLoyaltyState;
        order: import("./order").CustomerOrderState;
        orders: import("./orders").CustomerOrdersState;
        pointsShop: import("./pointsShop").PointsShopState;
        tplsPointsShop: import("./tplsPointsShop").TplsPointsShopState;
        qrcode: import("./qrCode").CustomerQRCodeState;
        rewards: import("./rewards").CustomerRewardsState;
        thanx: import("./thanx").CustomerThanxState;
        tpls: import("./tpls").CustomerTplsState;
    }>;
    deals: import("..").DealsState;
    donations: import("..").DonationState;
    geolocation: import("..").GeoLocationState;
    giftCards: import("..").GiftCardsState;
    groupOrder: import("..").GroupOrderState;
    guest: import("..").GuestState;
    loader: import("..").LoaderState;
    menu: import("..").MenuState;
    menuDisplay: import("..").MenuDisplayState;
    menuItems: import("..").MenuItemsState;
    modal: import("@open-tender/types").Modal;
    misc: import("..").MiscState;
    nav: import("..").NavState;
    navSite: import("..").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("..").OneTimePasscodeState;
    order: import("..").OrderState;
    orderFulfillment: import("..").OrderFulfillmentState;
    orderRating: import("..").OrderRatingState;
    posts: import("..").PostsSlice;
    pushNotifications: import("..").PushNotificationsState;
    qr: import("..").QrState;
    quote: import("..").QuoteState;
    resetPassword: import("..").ResetPasswordState;
    revenueCenters: import("..").RevenueCentersState;
    rewardCode: import("..").RewardCodeState;
    sidebar: import("..").SidebarState;
    sidebarModal: import("..").SidebarModalState;
    signUp: import("..").SignUpState;
    tags: import("..").TagsState;
    terms: import("..").TermsSlice;
    Unsubscribe: import("..").UnsubscribeState;
    validTimes: import("..").ValidTimesState;
    verifyAccount: import("..").VerifyAccountState;
}) => import("@open-tender/types").LoyaltyProgram | null) & import("reselect").OutputSelectorFields<(args_0: {
    loyaltyPrograms: LoyaltyPrograms;
}) => import("@open-tender/types").LoyaltyProgram | null, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectCustomerPoints: (orderType: OrderType | null) => (state: AppState) => {
    name: string;
    points: `${number}.${number}` | null;
} | null;
export declare const selectPointsProgram: (state: AppState) => import("@open-tender/types").LoyaltyProgram | null;
export declare const customerLoyaltyReducer: import("redux").Reducer<CustomerLoyaltyState, import("redux").AnyAction>;
