import React from 'react'; import { Cart } from '../travelcloud'; import { Tour } from '../types'; export interface Room { adult: number; child_with_bed?: number; child_no_bed?: number; infant?: number; } export interface TourBookingFormValue { tour_id?: string; rooms?: Room[]; option_id?: string; departure_date?: string; tour_addons?: { id: string; option_id: string; }[]; generic_addons?: { id: string; options: { id: string; quantity: string | number; }[]; }[]; rooms_selected?: boolean; } export interface SelectedOptionDayInfo { date: Date; disabled: any; afterDiscounts: any; beforeDiscounts: any; product: any; noDeparture: any; slotsRemaining: any; } export interface TourBookingContext { tour?: Tour; cart: Cart; value: TourBookingFormValue; onChange: (TourBookingFormValue: any) => void; onSubmit: (TourBookingFormValue: any) => void; tourFormHasAddons: boolean; allowRooms: boolean; selectedOption: any; selectedOptionDateInfoMap: { [key: string]: SelectedOptionDayInfo; }; tourOptionsWithCheapestComputed: any; totalPrice: any; totalDeposit: any; invoiceEntries: any; tourAddonsComputed: any; } export declare const initialTourBookingForm: (tour: Tour, option_id?: string, departure_date?: string, rooms?: { adult: number; }[]) => TourBookingFormValue; export declare const createTourBookingForm: (WrappedComponent: any) => { new (props: { [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; } | Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; }; new (props: { [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }, context: any): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; }; contextType?: React.Context; }; export declare const TourBookingForm: { new (props: { [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; } | Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; }; new (props: { [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }, context: any): { render(): JSX.Element; context: any; setState(state: {} | ((prevState: Readonly<{}>, props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>) => {} | Pick<{}, K>) | Pick<{}, K>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }> & Readonly<{ children?: React.ReactNode; }>; state: Readonly<{}>; refs: { [key: string]: React.ReactInstance; }; componentDidMount?(): void; shouldComponentUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>): any; componentDidUpdate?(prevProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, prevState: Readonly<{}>, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextContext: any): void; componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly<{ [key: string]: any; value: TourBookingFormValue; tour: Tour; cart: Cart; onSubmit?: any; onChange?: any; priceComputationRooms?: Room[]; }>, nextState: Readonly<{}>, nextContext: any): void; }; contextType?: React.Context; }; export declare const RoomForm: import("antd/lib/form/interface").ConnectedComponentClass<(props: { index?: any; form: any; tour: any; deleteSelf?: any; numberOfSiblings?: any; title?: any; value?: Room; onChange?: any; className?: any; style?: any; isFull?: any; }) => JSX.Element, import("antd/lib/_util/type").Omit<{ tour: any; value?: Room; onChange?: any; form: any; index?: any; isFull?: any; numberOfSiblings?: any; deleteSelf?: any; className?: any; title?: any; }, "form">>;