import { AfterViewInit, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; import { BabylonImageI, BabylonTextInfoI } from '../../../../interfaces'; import { BabylonStyleGlobalItem } from '../../../../interfaces/babylon-style.interface'; import * as i0 from "@angular/core"; export interface GalleryFilterItem { id: number; text: string; all?: boolean; room?: boolean; rooms?: boolean; } export interface GalleryImageItem { filter: number; img: BabylonImageI & { name?: string; }; title?: string; } export interface BabylonGloablsGalleryFilter { leftSide?: boolean; rightSide?: boolean; filters: GalleryFilterItem[]; images: GalleryImageItem[]; } export interface LisC2TxtImgContent { lensIcon: string; } export declare class LisC2TxtImgComponent implements AfterViewInit, OnChanges, OnDestroy { private host; private platformId; content: LisC2TxtImgContent; filters?: BabylonGloablsGalleryFilter; texts?: BabylonTextInfoI; styles?: BabylonStyleGlobalItem; nofiters?: boolean; categoriesModal?: ElementRef; roomsModal?: ElementRef; /** null => Todas */ selectedFilterId: number | null; private galleryBound; constructor(host: ElementRef, platformId: Object); ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; /** ✅ ID del filtro padre "Habitaciones" */ get roomsFilterId(): number | null; /** ✅ Existe filtro padre habitaciones */ get hasRoomsFilter(): boolean; /** ✅ ID del filtro "Todas" */ private get allFilterId(); private setDefaultSelection; /** * ✅ MODIFICADO: Obtiene los filtros reales de habitaciones * Filtra aquellos items que tengan la propiedad `room: true` */ get roomOptions(): GalleryFilterItem[]; /** ✅ Lógica de filtrado actualizada */ get filteredImages(): GalleryImageItem[]; /** ✅ Click filtro (desktop/general) */ filterBy(filter: GalleryFilterItem): void; /** ✅ Click desde el modal de categorías (mobile) */ filterFromModal(filter: GalleryFilterItem): void; /** * ✅ MODIFICADO: Selección de habitación desde el modal * Ahora recibe el ID del filtro real, no un string */ selectRoom(filterId: number): void; openCategoriesModal(): void; openRoomsModal(): void; closeModals(): void; /** * Checkea si el filtro está activo. * Si es habitaciones, está activo si el seleccionado es el padre O cualquiera de sus hijos. */ isFilterActive(filter: GalleryFilterItem): boolean; getFancyboxGroup(): string; trackByIndex(index: number): number; private bindGallery; private unbindGallery; private openInlineModal; get categoryOptions(): GalleryFilterItem[]; get desktopFilterOptions(): GalleryFilterItem[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }