import { AfterViewInit, ElementRef } from '@angular/core';
import { TagType } from '../../../Enum/tags.enums';
import { BabylonButtonI, BabylonIconInfoI, BabylonMultimediaI, BabylonTextInfoI } from '../../../interfaces';
import { BabylonEquipmentItem } from '../../../interfaces/babylon-equipments-item.interface';
import { BabylonRoomDetailI } from '../../../interfaces/babylon-room-detail.interface';
import * as i0 from "@angular/core";
export declare class BabylonListImgComponent implements AfterViewInit {
    rightSide: boolean;
    leftSide: boolean;
    texts?: BabylonTextInfoI;
    items?: BabylonIconInfoI[];
    multimedia?: BabylonMultimediaI;
    equipment?: BabylonEquipmentItem[];
    room?: BabylonRoomDetailI;
    visibleLimit: number;
    iconsLikeImages?: boolean;
    tag: TagType;
    /** Offset para cabeceras sticky (desktop), modifícalo si necesitas */
    scrollOffset: number;
    /** Texto del botón (traducible) */
    moreText?: string;
    lessText?: string;
    buttons?: BabylonButtonI[];
    /** Controla el estado del desplegable */
    open: boolean;
    /** Referencias a DOM del propio template */
    moreContentRef: ElementRef<HTMLElement>;
    btnRef: ElementRef<HTMLButtonElement>;
    rootSectionRef: ElementRef<HTMLElement>;
    headingRef?: ElementRef<HTMLElement>;
    private platformId;
    /** id único para aria-controls */
    contentId: string;
    listItems: Array<BabylonEquipmentItem | BabylonIconInfoI>;
    visibleItems: Array<BabylonEquipmentItem | BabylonIconInfoI>;
    hiddenItems: Array<BabylonEquipmentItem | BabylonIconInfoI>;
    showMoreButton: boolean;
    ngOnInit(): void;
    get vm(): {
        texts: any;
        multimedia: any;
        visibleItems: any[];
        hiddenItems: any[];
        showMoreButton: boolean;
    };
    getItemTitle(item: BabylonEquipmentItem | BabylonIconInfoI): string;
    getItemSubtitle(item: BabylonEquipmentItem | BabylonIconInfoI): string;
    isIconClass(icon?: string): boolean;
    getIconHref(icon?: string): string;
    getIconClass(icon?: string): string;
    ngAfterViewInit(): void;
    onResize(): void;
    updateBGHeight(): void;
    private toRem;
    toggleDisplay(): void;
    private scrollToComponentTop;
    /** Puedes ajustar offset según viewport (ej: solo >500px) */
    private getOffsetForViewport;
    getImagesByTag(tagName: string): any;
    getFirstImageByTag(tagName: string): import("../../../interfaces").BabylonImageI | undefined;
    static ɵfac: i0.ɵɵFactoryDeclaration<BabylonListImgComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BabylonListImgComponent, "lib-babylon-list-img", never, { "rightSide": { "alias": "rightSide"; "required": false; }; "leftSide": { "alias": "leftSide"; "required": false; }; "texts": { "alias": "texts"; "required": false; }; "items": { "alias": "items"; "required": false; }; "multimedia": { "alias": "multimedia"; "required": false; }; "equipment": { "alias": "equipment"; "required": false; }; "room": { "alias": "room"; "required": false; }; "visibleLimit": { "alias": "visibleLimit"; "required": false; }; "iconsLikeImages": { "alias": "iconsLikeImages"; "required": false; }; "scrollOffset": { "alias": "scrollOffset"; "required": false; }; "moreText": { "alias": "moreText"; "required": false; }; "lessText": { "alias": "lessText"; "required": false; }; "buttons": { "alias": "buttons"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_rightSide: unknown;
    static ngAcceptInputType_leftSide: unknown;
}
