import type { Placement } from '@popperjs/core';
import { BookingEngineOnBooking } from '../../../engines/BaseEngine';
import type ColorProfile from '../../../models/Client/Hotel/ColorProfile';
import { Hotel } from '../../../models/Client/Hotel/Hotel';
import { EBookingWizardSection, EBookingWizardTheme } from './BookingWizard';
export type BookingWizardLayout = 'vertical' | 'horizontal' | 'button' | 'horizontal-condensed' | 'booking-summary';
export type BookingWizardOverlayType = 'popup' | 'inline' | 'bottom-sheet' | 'top-sheet';
export type BookingWizardTheme = EBookingWizardTheme;
export type BookingWizardOnBooking = BookingEngineOnBooking;
export interface BookingWizardContextType extends Pick<Hotel, 'startsWeekOnDay'> {
    layout: BookingWizardLayout;
    type: BookingWizardOverlayType;
    theme: BookingWizardTheme;
    className?: string;
    style?: any;
    color?: ColorProfile;
    isMobile?: boolean;
    isSmallContainer?: boolean;
    onSubmit?: (result: BookingWizardOnBooking) => void;
    overlay?: {
        offset?: [number, number];
        placement?: Placement;
        fallbackPlacements?: Placement;
        dateOffset?: [number, number];
    };
    isImagesTheme: boolean;
    isImagesThemeMobile: boolean;
    activeSection: EBookingWizardSection | null;
    onNextHandler: (currentSection: EBookingWizardSection) => void;
    onPrevHandler: (currentSection: EBookingWizardSection) => void;
    stateSections: Record<EBookingWizardSection, {
        opening: boolean;
        isFirst: boolean;
        hidden: boolean;
        inactive: boolean;
    }>;
}
export declare const BookingWizardContext: import("react").Context<BookingWizardContextType>;
export declare const useBookingWizard: () => BookingWizardContextType;
