import { Allergens, RequestError, RequestStatus } from '@open-tender/types';
import { AppState } from '../app';
export interface AllergensState {
    entities: Allergens;
    error: RequestError;
    loading: RequestStatus;
    selectedAllergens: Allergens | null;
}
export declare enum AllergensActionType {
    FetchAllergens = "allergens/fetchAllergens"
}
export interface AllergensPayload {
    data: Allergens;
}
export declare const fetchAllergens: import("@reduxjs/toolkit").AsyncThunk<AllergensPayload, void, {
    state: AppState;
    rejectValue: RequestError;
    dispatch?: import("redux").Dispatch<import("redux").UnknownAction> | undefined;
    extra?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const resetAllergens: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"allergens/resetAllergens">, setSelectedAllergens: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "allergens/setSelectedAllergens">;
export declare const selectAllergens: (state: AppState) => AllergensState;
export declare const selectSelectedAllergens: (state: AppState) => Allergens | null;
export declare const selectSelectedAllergenNames: ((state: {
    alerts: import("@open-tender/types").Alerts;
    allergens: AllergensState;
    arrivals: import("./arrivals").ArrivalsState;
    cartSummary: import("./cartSummary").CartSummaryState;
    checkout: import("./checkout").CheckoutState;
    config: import("./config").ConfigState;
    customer: import("./customer").CustomerState;
    customerIdentify: import("./customerIdentify").CustomerIdentifyState;
    deals: import("./deals").DealsState;
    discounts: import("./discounts").DiscountsState;
    errorAlerts: import("./errorAlerts").ErrorAlertsState;
    kds: import("./kds").KdsState;
    kiosk: import("./kiosk").KioskState;
    menu: import("./menu").MenuState;
    menuPages: import("./menuPages").MenuPagesState;
    modal: import("./modal").ModalState;
    notifications: import("@open-tender/types").Notifications;
    offlineAuths: import("./offlineAuths").OfflineAuthsState;
    order: import("./order").OrderState;
    pos: import("./pos").PosState;
    punches: import("./punches").PunchesState;
    refund: import("./refund").RefundState;
    sendReceipt: import("./sendReceipt").SendReceiptState;
    settings: import("./settings").SettingsState;
    sidebar: import("./sidebar").SidebarState;
    surcharges: import("./surcharges").SurchargesState;
    taxes: import("./taxes").TaxesState;
    idle: import("./idle").IdleState;
    tags: import("./tags").TagsState;
    revenueCenter: import("./revenueCenter").RevenueCenterState;
}) => string[]) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: {
        allergens: Allergens;
        selectedAllergens: Allergens | null;
    }) => string[];
    memoizedResultFunc: ((resultFuncArgs_0: {
        allergens: Allergens;
        selectedAllergens: Allergens | null;
    }) => string[]) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => string[];
    dependencies: [(state: AppState) => {
        allergens: Allergens;
        selectedAllergens: Allergens | null;
    }];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export declare const allergensReducer: import("redux").Reducer<AllergensState>;
