import { DistanceUnitType } from '../Client/Hotel/DistanceUnitType.types';
export interface TransportDistancesConfig {
    subTitle?: string;
    unit?: string;
    suffix?: string;
}
export interface TransportDistances {
    /** Seems that the old way had these as numbers, and if the unit wasn't metric done conversions on the number
   As they're inputting the string directly now I've changed the Distance component to accept both types and only
   run the conversion on numbers.
   */
    displayCard?: boolean;
    plane?: string | number;
    train?: string | number;
    tram?: string | number;
    bus?: string | number;
    taxi?: string | number;
    car?: string | number;
    ferry?: string | number;
    location?: string | number;
    configuration?: {
        plane?: TransportDistancesConfig;
        train?: TransportDistancesConfig;
        tram?: TransportDistancesConfig;
        bus?: TransportDistancesConfig;
        taxi?: TransportDistancesConfig;
        car?: TransportDistancesConfig;
        ferry?: TransportDistancesConfig;
        location?: TransportDistancesConfig;
    };
}
export interface ShowYearOnCalendarProps {
    showYearOnCalendar?: boolean;
    yearDisplayOption?: string;
}
export interface ShowPromoCodeAlertProps {
    showPromoCodeAlert?: boolean;
    promoCodeAlertType?: 'popup' | 'notification';
}
export interface IPageTitle {
    enable: boolean;
    HotelInfo: string;
    FindReservation: string;
    Date: string;
    Room: string;
    Addon: string;
    Confirmation: string;
    Thanks: string;
}
export interface IOverrideMessage {
    enable: boolean;
    BestRatePerks: string;
    BestRatePerksAlert: string;
    PreSignUp: string;
    PostSignUp: string;
    pricesIncludeFeesMessage?: string;
}
export interface HotelOverrideDTO extends ShowYearOnCalendarProps, ShowPromoCodeAlertProps {
    hideByLine?: boolean;
    overrideDistanceUnitType?: boolean;
    distanceUnitType?: DistanceUnitType;
    transportDistances?: TransportDistances;
    phoneNumberInSummary?: string;
    enabledEventIds?: string[];
    pageTitle?: IPageTitle;
    showPromoCodeDescription?: boolean;
    alwaysShowDecimals?: boolean;
    messages?: IOverrideMessage;
    /**
     * If true, displays the long description next to the short description side by side in the room modal
     */
    roomModalDescSideBySide?: boolean;
    /**
     * If true, Disable grouping rooms in the All Accommodation tab
     * Default: false
     */
    disableGroupRoomsAllTab?: boolean;
    orderUnavailableRoomsLast?: boolean;
}
