import { RootState } from "../../store";
import { BookingPriceDetail, BookingPriceDetails, BookingProductNotification } from "@qite/tide-client/build/types";
export interface PriceDetailsState {
    priceDetails: BookingPriceDetail[];
    notifications: BookingProductNotification[];
    deposit?: number;
    isBusy: boolean;
}
export declare const fetchPriceDetails: import("@reduxjs/toolkit").AsyncThunk<BookingPriceDetails, void, {
    state?: unknown;
    dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
    extra?: unknown;
    rejectValue?: unknown;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const selectPriceDetails: (state: RootState) => BookingPriceDetail[];
export declare const selectPackagePriceDetails: ((state: {
    booking: import("../booking/booking-slice").BookingState;
    travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
    priceDetails: PriceDetailsState;
    summary: import("../summary/summary-slice").SummaryState;
    apiSettings: import("../../../shared/types").ApiSettingsState;
}) => BookingPriceDetail[]) & import("reselect").OutputSelectorFields<(args_0: BookingPriceDetail[]) => BookingPriceDetail[], {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectSeparatePackagePriceDetails: ((state: {
    booking: import("../booking/booking-slice").BookingState;
    travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
    priceDetails: PriceDetailsState;
    summary: import("../summary/summary-slice").SummaryState;
    apiSettings: import("../../../shared/types").ApiSettingsState;
}) => BookingPriceDetail[]) & import("reselect").OutputSelectorFields<(args_0: BookingPriceDetail[]) => BookingPriceDetail[], {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectBasePrice: ((state: {
    booking: import("../booking/booking-slice").BookingState;
    travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
    priceDetails: PriceDetailsState;
    summary: import("../summary/summary-slice").SummaryState;
    apiSettings: import("../../../shared/types").ApiSettingsState;
}) => number) & import("reselect").OutputSelectorFields<(args_0: BookingPriceDetail[]) => number, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectSeparateExtraPriceDetails: ((state: {
    booking: import("../booking/booking-slice").BookingState;
    travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
    priceDetails: PriceDetailsState;
    summary: import("../summary/summary-slice").SummaryState;
    apiSettings: import("../../../shared/types").ApiSettingsState;
}) => BookingPriceDetail[]) & import("reselect").OutputSelectorFields<(args_0: BookingPriceDetail[]) => BookingPriceDetail[], {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectTotalPrice: ((state: {
    booking: import("../booking/booking-slice").BookingState;
    travelersForm: import("../travelers-form/travelers-form-slice").TravelersFormState;
    priceDetails: PriceDetailsState;
    summary: import("../summary/summary-slice").SummaryState;
    apiSettings: import("../../../shared/types").ApiSettingsState;
}) => number) & import("reselect").OutputSelectorFields<(args_0: number, args_1: BookingPriceDetail[]) => number, {
    clearCache: () => void;
}> & {
    clearCache: () => void;
};
export declare const selectDeposit: (state: RootState) => number | undefined;
export declare const selectIsFetchingPriceDetails: (state: RootState) => boolean;
export declare const selectNotifications: (state: RootState) => BookingProductNotification[];
export declare const resetPriceDetails: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"priceDetails/resetPriceDetails">, setNotifications: import("@reduxjs/toolkit").ActionCreatorWithPayload<BookingProductNotification[], "priceDetails/setNotifications">;
declare const _default: import("redux").Reducer<PriceDetailsState, import("redux").AnyAction>;
export default _default;
