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;
