import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { LogoType } from '../../../../Enum';
import { BabylonBodyExtra, BabylonButtonI, BabylonImageI, BabylonMenuButtonI, BabylonMultimediaI, BabylonRoomDetailI, BabylonTextInfoI } from '../../../../interfaces';
import { BabylonFloatingButtonsI } from '../../../../interfaces/babylon-floating-buttons.interface';
import { BabylonHotelStylesItem } from '../../../../interfaces/babylon-hotel-styles.interface';
import { Utils } from '../../../../utils';
import { BabylonLanguageModalI, BabylonLanguageModalItem } from '../../../core';
import { ModuloMenuHomeContent } from './modulo-menu-home.interfaces';
import * as i0 from "@angular/core";
export declare class ModuloMenuHomeComponent implements AfterViewInit, OnDestroy {
    private readonly renderer;
    private el;
    private readonly dialog;
    Utils: typeof Utils;
    hoveredRoomIndex: number | null;
    private _data;
    private cleanupFns;
    private scheduleHandle;
    private readonly bodyLocks;
    private _dinamyHeader;
    set dinamyHeader(value: boolean | undefined);
    get dinamyHeader(): boolean;
    hotelPage?: boolean;
    menu?: BabylonMenuButtonI[];
    logos?: Record<LogoType, BabylonImageI | undefined>;
    floatingButtons?: BabylonFloatingButtonsI;
    links?: BabylonButtonI[];
    locale?: string;
    ticker?: string;
    languages?: BabylonLanguageModalI;
    hotel?: string;
    items?: BabylonButtonI[];
    selected?: BabylonButtonI;
    styles?: BabylonHotelStylesItem;
    hotelType?: BabylonBodyExtra;
    hotelCategory?: BabylonBodyExtra;
    roomsModal?: {
        texts: BabylonTextInfoI;
        multimedia: BabylonMultimediaI;
        buttons: BabylonButtonI[];
        rooms: BabylonRoomDetailI[];
    };
    currentDesktopItems: BabylonButtonI[] | BabylonMenuButtonI[];
    currentBackground: BabylonImageI;
    widgetConfig?: any;
    languageSelect: EventEmitter<BabylonLanguageModalItem>;
    isSticky: boolean;
    private readonly platformId;
    mobile: boolean;
    moduleRoot?: ElementRef<HTMLElement>;
    roomModal?: ElementRef<HTMLElement>;
    desktopMenuModalRef?: ElementRef<HTMLElement>;
    mobileMenuModalRef?: ElementRef<HTMLElement>;
    private readonly screenSizer;
    private readonly router;
    private readonly cdr;
    private navSub?;
    constructor(renderer: Renderer2, el: ElementRef<HTMLElement>, dialog: MatDialog);
    set data(value: ModuloMenuHomeContent);
    get data(): ModuloMenuHomeContent;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onWindowScroll(): void;
    private scheduleSetup;
    private setupInteractions;
    private setupKeyboardActivation;
    private bindClick;
    selectLanguage(language: BabylonLanguageModalItem): void;
    openEngineModal(): void;
    private bindKey;
    private cleanupInteractions;
    private lockBody;
    private unlockBody;
    trackByIndex(index: number): number;
    openComponentModal(component: string | null): void;
    updateBackground(room: any, index: number): void;
    closeRoomModal(): void;
    openDesktopMenu(): void;
    closeDesktopMenu(): void;
    openMobileMenu(): void;
    closeMobileMenu(): void;
    getNumber(text: string): number[];
    showIfSup(value?: string | null): string;
    private closeEverything;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModuloMenuHomeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ModuloMenuHomeComponent, "modulo-menu-home", never, { "dinamyHeader": { "alias": "dinamyHeader"; "required": false; }; "hotelPage": { "alias": "hotelPage"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "logos": { "alias": "logos"; "required": false; }; "floatingButtons": { "alias": "floatingButtons"; "required": false; }; "links": { "alias": "links"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "ticker": { "alias": "ticker"; "required": false; }; "languages": { "alias": "languages"; "required": false; }; "hotel": { "alias": "hotel"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "styles": { "alias": "styles"; "required": false; }; "hotelType": { "alias": "hotelType"; "required": false; }; "hotelCategory": { "alias": "hotelCategory"; "required": false; }; "roomsModal": { "alias": "roomsModal"; "required": false; }; "widgetConfig": { "alias": "widgetConfig"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "languageSelect": "languageSelect"; }, never, never, true, never>;
}
