import { AppState } from '../app';
import { Address, Cart, CartCounts, CartItem, DeviceType, MenuCategory, MenuRevenueCenter, Messages, Modal, Order, OrderType, PrepType, RequestedAt, RequestError, RequestStatus, RevenueCenter, ServiceType, SimpleCart, Timezone } from '@open-tender/types';
export interface OrderState {
    address: Address | null;
    alert: Modal | null;
    cart: Cart | null;
    cartCounts: CartCounts | null;
    currentCategory: MenuCategory | null;
    currentItem: CartItem | null;
    currentVendor: MenuRevenueCenter | null;
    deviceType: DeviceType | null;
    error: RequestError | string;
    isCurbside: boolean;
    isOutpost: boolean;
    loading: RequestStatus;
    messages: Messages;
    orderId: number | null;
    orderType: OrderType | null;
    prepType: PrepType | null;
    requestedAt: RequestedAt | null;
    revenueCenter: RevenueCenter | null;
    serviceType: ServiceType | null;
    table: string | null;
}
export declare enum OrderActionType {
    FetchRevenueCenter = "order/fetchRevenueCenter",
    FetchLocation = "order/fetchLocation",
    RevertMenu = "order/revertMenu",
    RefreshRevenueCenter = "order/refreshRevenueCenter",
    EditOrder = "order/editOrder",
    ReorderPastOrder = "order/reorderPastOrder"
}
export declare const fetchRevenueCenter: import("@reduxjs/toolkit").AsyncThunk<void, {
    revenueCenterId: number;
    requestedAt: string | null;
}, {
    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 fetchLocation: import("@reduxjs/toolkit").AsyncThunk<void, {
    revenueCenterId: number;
    cartTotal?: string | 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 fetchLocationBySlug: import("@reduxjs/toolkit").AsyncThunk<void, {
    slug: string;
    cartTotal?: string | 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 revertMenu: import("@reduxjs/toolkit").AsyncThunk<void | RevenueCenter, {
    revenueCenterId: number;
    serviceType: ServiceType;
    requestedAt: RequestedAt;
}, {
    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 refreshRevenueCenter: import("@reduxjs/toolkit").AsyncThunk<any, {
    revenueCenterId: number;
    serviceType: ServiceType;
    requestedAt: RequestedAt | null;
    reset?: boolean | 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 editOrder: import("@reduxjs/toolkit").AsyncThunk<void | Partial<OrderState>, Order, {
    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 reorderPastOrder: import("@reduxjs/toolkit").AsyncThunk<void | Partial<OrderState>, {
    revenueCenterId: number;
    serviceType: ServiceType;
    items: SimpleCart;
}, {
    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 resetOrder: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetOrder">, addItemToCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/addItemToCart">, addMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/addMessage">, decrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/decrementItemInCart">, incrementItemInCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/incrementItemInCart">, removeItemFromCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/removeItemFromCart">, removeMessage: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/removeMessage">, resetAlert: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetAlert">, resetCart: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetCart">, resetLocation: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetLocation">, resetMessages: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetMessages">, resetOrderType: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetOrderType">, resetRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/resetRevenueCenter">, setAddress: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setAddress">, setAlert: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setAlert">, setCart: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCart">, setCurbside: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurbside">, setCurrentCategory: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentCategory">, setCurrentItem: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentItem">, setDeviceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setDeviceType">, setMenuVars: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setMenuVars">, setOrderId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setOrderId">, setOrderServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
    orderType: OrderType;
    serviceType: ServiceType;
    isOutpost?: boolean | undefined;
}, "order/setOrderServiceType">, setOrderType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setOrderType">, setPrepType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setPrepType">, setRequestedAt: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setRequestedAt">, setRevenueCenter: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setRevenueCenter">, setServiceType: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setServiceType">, setTable: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setTable">, checkout: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"order/checkout">, setCurrentVendor: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/setCurrentVendor">, updateOrder: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "order/updateOrder">;
export declare const selectAlert: (state: AppState) => Modal | null;
export declare const selectTimezone: (state: AppState) => Timezone;
export declare const selectOrder: (state: AppState) => OrderState;
export declare const selectCartQuantity: (state: AppState) => number;
export declare const selectCartTotal: (state: AppState) => number;
export declare const selectCartCounts: (state: AppState) => CartCounts;
export declare const selectCanOrder: (state: AppState) => RequestedAt | null;
export declare const selectOrderLimits: ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("./allergens").AllergensState;
    announcements: import("./announcements").AnnouncementsState;
    checkout: import("./checkout").CheckoutState;
    completedOrders: import("./completedOrders").CompletedOrdersState;
    config: import("./config").ConfigState;
    confirmation: import("./confirmation").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./customer").AccountState;
        communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
        creditCards: import("./customer").CustomerCreditCardsState;
        allergens: import("./customer").CustomerAllergensState;
        addresses: import("./customer").CustomerAddressesState;
        favorites: import("./customer").CustomerFavoritesState;
        fcmToken: import("./customer").CustomerFcmTokenState;
        giftCards: import("./customer").CustomerGiftCardsState;
        groupOrders: import("./customer").CustomerGroupOrdersState;
        history: import("./customer").CustomerHistoryState;
        houseAccounts: import("./customer").CustomerHouseAccountsState;
        loyalty: import("./customer").CustomerLoyaltyState;
        order: import("./customer").CustomerOrderState;
        orders: import("./customer").CustomerOrdersState;
        pointsShop: import("./customer").PointsShopState;
        tplsPointsShop: import("./customer").TplsPointsShopState;
        qrcode: import("./customer").CustomerQRCodeState;
        rewards: import("./customer").CustomerRewardsState;
        thanx: import("./customer").CustomerThanxState;
        tpls: import("./customer").CustomerTplsState;
    }>;
    deals: import("./deals").DealsState;
    donations: import("./donations").DonationState;
    geolocation: import("./geolocation").GeoLocationState;
    giftCards: import("./giftCards").GiftCardsState;
    groupOrder: import("./groupOrder").GroupOrderState;
    guest: import("./guest").GuestState;
    loader: import("./loader").LoaderState;
    menu: import("./menu").MenuState;
    menuDisplay: import("./menuDisplay").MenuDisplayState;
    menuItems: import("./menuItems").MenuItemsState;
    modal: Modal;
    misc: import("./misc").MiscState;
    nav: import("./nav").NavState;
    navSite: import("./navSite").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState;
    order: OrderState;
    orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
    orderRating: import("./orderRating").OrderRatingState;
    posts: import("./posts").PostsSlice;
    pushNotifications: import("./pushNotifications").PushNotificationsState;
    qr: import("./qr").QrState;
    quote: import("./quote").QuoteState;
    resetPassword: import("./resetPassword").ResetPasswordState;
    revenueCenters: import("./revenueCenters").RevenueCentersState;
    rewardCode: import("./rewardCode").RewardCodeState;
    sidebar: import("./sidebar").SidebarState;
    sidebarModal: import("./sidebarModal").SidebarModalState;
    signUp: import("./signUp").SignUpState;
    tags: import("./tags").TagsState;
    terms: import("./terms").TermsSlice;
    Unsubscribe: import("./unsubscribe").UnsubscribeState;
    validTimes: import("./validTimes").ValidTimesState;
    verifyAccount: import("./verifyAccount").VerifyAccountState;
}) => {
    orderMinimum: number | null;
    orderMaximum: number | null;
}) & import("reselect").OutputSelectorFields<(args_0: {
    revenueCenter: RevenueCenter | null;
    serviceType: ServiceType | null;
    cartGuest: import("./groupOrder").GroupOrderGuestState | null;
    spendingLimit: string | null;
}) => {
    orderMinimum: number | null;
    orderMaximum: number | null;
}, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectCartIds: ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("./allergens").AllergensState;
    announcements: import("./announcements").AnnouncementsState;
    checkout: import("./checkout").CheckoutState;
    completedOrders: import("./completedOrders").CompletedOrdersState;
    config: import("./config").ConfigState;
    confirmation: import("./confirmation").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./customer").AccountState;
        communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
        creditCards: import("./customer").CustomerCreditCardsState;
        allergens: import("./customer").CustomerAllergensState;
        addresses: import("./customer").CustomerAddressesState;
        favorites: import("./customer").CustomerFavoritesState;
        fcmToken: import("./customer").CustomerFcmTokenState;
        giftCards: import("./customer").CustomerGiftCardsState;
        groupOrders: import("./customer").CustomerGroupOrdersState;
        history: import("./customer").CustomerHistoryState;
        houseAccounts: import("./customer").CustomerHouseAccountsState;
        loyalty: import("./customer").CustomerLoyaltyState;
        order: import("./customer").CustomerOrderState;
        orders: import("./customer").CustomerOrdersState;
        pointsShop: import("./customer").PointsShopState;
        tplsPointsShop: import("./customer").TplsPointsShopState;
        qrcode: import("./customer").CustomerQRCodeState;
        rewards: import("./customer").CustomerRewardsState;
        thanx: import("./customer").CustomerThanxState;
        tpls: import("./customer").CustomerTplsState;
    }>;
    deals: import("./deals").DealsState;
    donations: import("./donations").DonationState;
    geolocation: import("./geolocation").GeoLocationState;
    giftCards: import("./giftCards").GiftCardsState;
    groupOrder: import("./groupOrder").GroupOrderState;
    guest: import("./guest").GuestState;
    loader: import("./loader").LoaderState;
    menu: import("./menu").MenuState;
    menuDisplay: import("./menuDisplay").MenuDisplayState;
    menuItems: import("./menuItems").MenuItemsState;
    modal: Modal;
    misc: import("./misc").MiscState;
    nav: import("./nav").NavState;
    navSite: import("./navSite").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState;
    order: OrderState;
    orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
    orderRating: import("./orderRating").OrderRatingState;
    posts: import("./posts").PostsSlice;
    pushNotifications: import("./pushNotifications").PushNotificationsState;
    qr: import("./qr").QrState;
    quote: import("./quote").QuoteState;
    resetPassword: import("./resetPassword").ResetPasswordState;
    revenueCenters: import("./revenueCenters").RevenueCentersState;
    rewardCode: import("./rewardCode").RewardCodeState;
    sidebar: import("./sidebar").SidebarState;
    sidebarModal: import("./sidebarModal").SidebarModalState;
    signUp: import("./signUp").SignUpState;
    tags: import("./tags").TagsState;
    terms: import("./terms").TermsSlice;
    Unsubscribe: import("./unsubscribe").UnsubscribeState;
    validTimes: import("./validTimes").ValidTimesState;
    verifyAccount: import("./verifyAccount").VerifyAccountState;
}) => number[]) & import("reselect").OutputSelectorFields<(args_0: Cart | null) => number[], {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectMenuSlug: (state: AppState) => string;
export declare const selectRevenueCenter: (state: AppState) => RevenueCenter | null;
export declare const selectCart: (state: AppState) => Cart | null;
export declare const selectCurrentVendor: (state: AppState) => MenuRevenueCenter | null;
export declare const selectMessages: (state: AppState) => Messages;
export declare const selectCurrentItem: (state: AppState) => CartItem | null;
export declare const selectMenuVars: ((state: import("redux").EmptyObject & {
    alerts: import("@open-tender/types").Alerts;
    allergens: import("./allergens").AllergensState;
    announcements: import("./announcements").AnnouncementsState;
    checkout: import("./checkout").CheckoutState;
    completedOrders: import("./completedOrders").CompletedOrdersState;
    config: import("./config").ConfigState;
    confirmation: import("./confirmation").ConfirmationState;
    customer: import("redux").CombinedState<{
        account: import("./customer").AccountState;
        communicationPreferences: import("./customer").CustomerCommunicationPrefsState;
        creditCards: import("./customer").CustomerCreditCardsState;
        allergens: import("./customer").CustomerAllergensState;
        addresses: import("./customer").CustomerAddressesState;
        favorites: import("./customer").CustomerFavoritesState;
        fcmToken: import("./customer").CustomerFcmTokenState;
        giftCards: import("./customer").CustomerGiftCardsState;
        groupOrders: import("./customer").CustomerGroupOrdersState;
        history: import("./customer").CustomerHistoryState;
        houseAccounts: import("./customer").CustomerHouseAccountsState;
        loyalty: import("./customer").CustomerLoyaltyState;
        order: import("./customer").CustomerOrderState;
        orders: import("./customer").CustomerOrdersState;
        pointsShop: import("./customer").PointsShopState;
        tplsPointsShop: import("./customer").TplsPointsShopState;
        qrcode: import("./customer").CustomerQRCodeState;
        rewards: import("./customer").CustomerRewardsState;
        thanx: import("./customer").CustomerThanxState;
        tpls: import("./customer").CustomerTplsState;
    }>;
    deals: import("./deals").DealsState;
    donations: import("./donations").DonationState;
    geolocation: import("./geolocation").GeoLocationState;
    giftCards: import("./giftCards").GiftCardsState;
    groupOrder: import("./groupOrder").GroupOrderState;
    guest: import("./guest").GuestState;
    loader: import("./loader").LoaderState;
    menu: import("./menu").MenuState;
    menuDisplay: import("./menuDisplay").MenuDisplayState;
    menuItems: import("./menuItems").MenuItemsState;
    modal: Modal;
    misc: import("./misc").MiscState;
    nav: import("./nav").NavState;
    navSite: import("./navSite").NavSiteState;
    notifications: import("@open-tender/types").Notifications;
    oneTimePasscode: import("./oneTimePasscode").OneTimePasscodeState;
    order: OrderState;
    orderFulfillment: import("./orderFulfillment").OrderFulfillmentState;
    orderRating: import("./orderRating").OrderRatingState;
    posts: import("./posts").PostsSlice;
    pushNotifications: import("./pushNotifications").PushNotificationsState;
    qr: import("./qr").QrState;
    quote: import("./quote").QuoteState;
    resetPassword: import("./resetPassword").ResetPasswordState;
    revenueCenters: import("./revenueCenters").RevenueCentersState;
    rewardCode: import("./rewardCode").RewardCodeState;
    sidebar: import("./sidebar").SidebarState;
    sidebarModal: import("./sidebarModal").SidebarModalState;
    signUp: import("./signUp").SignUpState;
    tags: import("./tags").TagsState;
    terms: import("./terms").TermsSlice;
    Unsubscribe: import("./unsubscribe").UnsubscribeState;
    validTimes: import("./validTimes").ValidTimesState;
    verifyAccount: import("./verifyAccount").VerifyAccountState;
}) => {
    revenueCenterId: number | null;
    serviceType: ServiceType | null;
    requestedAt: RequestedAt | null;
}) & import("reselect").OutputSelectorFields<(args_0: {
    revenueCenter: RevenueCenter | null;
    serviceType: ServiceType | null;
    requestedAt: RequestedAt | null;
}) => {
    revenueCenterId: number | null;
    serviceType: ServiceType | null;
    requestedAt: RequestedAt | null;
}, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectAutoSelect: (state: AppState) => boolean | undefined;
export declare const selectCurrentCategory: (state: AppState) => MenuCategory | null;
export declare const orderReducer: import("redux").Reducer<OrderState, import("redux").AnyAction>;
