import { AppState } from '../app';
import { MenuCartErrors, MenuCategories, MenuRevenueCenters, MenuVars, RequestError, RequestStatus, SoldOut } from '@open-tender/types';
export interface MenuState {
    loading: RequestStatus;
    error: RequestError;
    cartErrors: MenuCartErrors | null;
    categories: MenuCategories;
    menuVars: MenuVars | null;
    offsetTop: number | null;
    previousMenuVars: MenuVars | null;
    revenueCenters: MenuRevenueCenters | null;
    soldOut: SoldOut;
}
export declare enum MenuActionType {
    FetchMenu = "menu/fetchMenu"
}
export declare const fetchMenu: import("@reduxjs/toolkit").AsyncThunk<void | Partial<MenuState>, MenuVars, {
    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 resetMenu: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"menu/resetMenu">, resetCartErrors: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"menu/resetCartErrors">, resetMenuVars: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"menu/resetMenuVars">, resetOffsetTop: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"menu/resetOffsetTop">, setCartErrors: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "menu/setCartErrors">, setOffsetTop: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "menu/setOffsetTop">;
export declare const selectMenu: (state: AppState) => MenuState;
export declare const selectSoldOut: (state: AppState) => SoldOut;
export declare const selectMenuOffset: (state: AppState) => number | null;
export declare const menuReducer: import("redux").Reducer<MenuState, import("redux").AnyAction>;
