import { TravelCloudClient, Cart, TcResponse } from "../../travelcloud"; import { SelectedOptionDayInfo, TourBookingFormValue, Room } from "../tour-booking"; import Big from "big.js"; import { Tour, FlightDetail } from "../../types"; export declare type TourBookingFormController = { tour: Tour; client: TravelCloudClient; cart: Cart; status: { allowRooms: boolean; allowChildBed: boolean; allowChildNoBed: boolean; allowInfant: boolean; }; updateBookingForm: (Kvp: any) => void; updateOptionId: (string: any) => void; updateDepartureDateAndFlightResult: (string: any) => Promise; getBookingForm: () => TourBookingFormValue; adjustNumberOfRooms: (x: number) => void; adjustRoom: (key: number, type: string, change: number) => void; nextCurrentViewMonth: () => void; prevCurrentViewMonth: () => void; }; export declare type TourBookingFormState = { tour_id: string; option_id: string; departure_date: string; selectedOption: Tour['options'][0]; selectedOptionDateInfoMap: { [key: string]: SelectedOptionDayInfo; }; tourComputed: TourComputed; flightComputed: { beforeDiscount: Big; afterDiscount: Big; }; rooms: Room[]; currentViewMonth: Date; flightResult: TcResponse; loading: boolean; tourPlusFlightPrice: Big; }; export interface TourComputed { tourFormHasAddons: boolean; allowRooms: boolean; selectedOption: any; selectedOptionDateInfoMap: { [key: string]: SelectedOptionDayInfo; }; tourOptionsWithCheapestComputed: any; totalPrice: any; totalDeposit: any; invoiceEntries: any; tourAddonsComputed: any; } export declare function useTourBookingForm(tour: any, cart: any, client: any, options: { source: string; }): { tourBookingFormController: TourBookingFormController; tourBookingFormState: TourBookingFormState; }; export declare function dateDiffInDays(stringA: string, stringB: string): number; export declare function offsetFlightItinerary(od1: string, od2: string, departure_date: string): { "od1.id": string; "od2.id": string; };