import {
  BookingAttributes,
  BookingOptions,
  GroupedFlights,
  ProductAttributes,
} from "../../types";
import {
  AirlineBookingPackageOption,
  AirportBookingPackageOption,
  BookingAirlineGroup,
  BookingAirportGroup,
  BookingOptionGroup,
  BookingOptionPax,
  BookingOptionUnit,
  BookingPackage,
  BookingPackageRoom,
  BookingTravelAgent,
  PerBookingPackageOption,
} from "@qite/tide-client/build/types";
import { BookingStep } from "./constants";
export interface BookingState {
  officeId: number;
  languageCode: string;
  productAttributes?: ProductAttributes;
  bookingAttributes?: BookingAttributes;
  calculateDeposit: boolean;
  bookingNumber?: string;
  isRetry: boolean;
  package?: BookingPackage;
  agents?: BookingTravelAgent[];
  isBusy: boolean;
  skipPaymentWithAgent: boolean;
  generatePaymentUrl: boolean;
  isUnavailable?: boolean;
  tagIds?: number[];
  agentAdressId?: number;
  remarks?: string;
  voucherCodes?: string[];
  bookingOptions: BookingOptions;
  bookingType: string;
  currentStep: BookingStep;
  translations?: {
    language: string;
    value: any;
  }[];
  accommodationViewId?: number;
  accommodationViews?: {
    [key: string]: string;
  };
}
export declare const fetchPackage: import("@reduxjs/toolkit").AsyncThunk<
  void,
  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 setOfficeId: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    number,
    "booking/setOfficeId"
  >,
  setLanguageCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    string,
    "booking/setLanguageCode"
  >,
  setTranslations: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    any,
    "booking/setTranslations"
  >,
  setBookingOptions: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingOptions,
    "booking/setBookingOptions"
  >,
  setBookingType: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    string,
    "booking/setBookingType"
  >,
  setProductAttributes: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    ProductAttributes,
    "booking/setProductAttributes"
  >,
  setBookingAttributes: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingAttributes,
    "booking/setBookingAttributes"
  >,
  setCalculateDeposit: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    boolean,
    "booking/setCalculateDeposit"
  >,
  setBookingNumber: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    string,
    "booking/setBookingNumber"
  >,
  setIsRetry: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    boolean,
    "booking/setIsRetry"
  >,
  setFetchingPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    boolean,
    "booking/setFetchingPackage"
  >,
  setPackage: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingPackage,
    "booking/setPackage"
  >,
  setPackageRooms: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingPackageRoom[],
    "booking/setPackageRooms"
  >,
  setPackageOptionPax: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingOptionPax[],
    "booking/setPackageOptionPax"
  >,
  setPackageOptionUnits: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingOptionUnit[],
    "booking/setPackageOptionUnits"
  >,
  setPackageGroups: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingOptionGroup<PerBookingPackageOption>[],
    "booking/setPackageGroups"
  >,
  setSkipPayment: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    boolean,
    "booking/setSkipPayment"
  >,
  setGeneratePaymentUrl: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    boolean,
    "booking/setGeneratePaymentUrl"
  >,
  setTagIds: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
    number[] | undefined,
    "booking/setTagIds"
  >,
  setAgentAdressId: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<
    number | undefined,
    "booking/setAgentAdressId"
  >,
  setBookingRemarks: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    string,
    "booking/setBookingRemarks"
  >,
  setVoucherCodes: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    string[],
    "booking/setVoucherCodes"
  >,
  setCurrentStep: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingStep,
    "booking/setCurrentStep"
  >,
  setPackageAirlineGroups: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingAirlineGroup<AirlineBookingPackageOption>[],
    "booking/setPackageAirlineGroups"
  >,
  setPackageAirportGroups: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    BookingAirportGroup<AirportBookingPackageOption>[],
    "booking/setPackageAirportGroups"
  >,
  setFlights: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    GroupedFlights,
    "booking/setFlights"
  >,
  setAccommodationViewId: import("@reduxjs/toolkit").ActionCreatorWithPayload<
    number,
    "booking/setAccommodationViewId"
  >;
declare const _default: import("redux").Reducer<
  BookingState,
  import("redux").AnyAction
>;
export default _default;
