import { AfterViewInit, EventEmitter, OnDestroy } from '@angular/core'; import { FolderTab, FolderTabsMetadata } from './types'; import * as i0 from "@angular/core"; /** * val-folder-tabs * * Pestañas donde la activa se funde con el cuerpo, como la lengüeta de una * carpeta. La lengüeta es UN solo elemento que se desplaza entre posiciones, no * el fondo de cada botón: el cambio se lee como un movimiento y no como un * encendido. * * Cuándo usar este y no los otros dos componentes de pestañas de la librería: * - `val-segment-control` — conmutar un filtro, sin contenedor propio. * - `val-tabbed-content` — navegación tipo segmento sobre paneles. * - `val-folder-tabs` — cuando las pestañas CONTIENEN a su contenido y el * conjunto se lee como una sola pieza (una card con secciones). * * @example * ```html * * * * * ``` * * Identidad visual: no trae paleta propia, lee cuatro custom properties. El * consumer las redefine sobre el host y el componente cambia de identidad sin * tocar su CSS: * --val-folder-tabs-rail color de la barra * --val-folder-tabs-surface color del cuerpo y de la lengüeta * --val-folder-tabs-radius radio del contenedor * --val-folder-tabs-notch tamaño de la curva que une lengüeta y cuerpo */ export declare class FolderTabsComponent implements AfterViewInit, OnDestroy { private readonly propsSig; /** * Configuración. Es un signal con setter (no un campo plano) porque de él * dependen computeds y el reposicionamiento de la lengüeta: con un campo * plano, una reasignación no dispararía ninguno de los dos. */ set props(value: FolderTabsMetadata); get props(): FolderTabsMetadata; /** Emite el `value` de la pestaña elegida. */ tabChange: EventEmitter; private railRef?; private readonly internalValue; protected readonly animationReady: import("@angular/core").WritableSignal; private resizeObserver?; private readonly instanceId; /** * Pestaña activa. `selectedTab` gana cuando el consumer la pasa (modo * controlado); si no, manda la selección interna; y si ninguna resuelve, la * primera habilitada. */ protected readonly activeValue: import("@angular/core").Signal; protected readonly activeTab: import("@angular/core").Signal; protected readonly activeIndex: import("@angular/core").Signal; constructor(); ngAfterViewInit(): void; ngOnDestroy(): void; protected select(tab: FolderTab): void; protected onKeydown(event: KeyboardEvent, index: number): void; protected panelId(tab: FolderTab): string; /** * Mide la pestaña activa y mueve la lengüeta hasta ella. Se mide en cada * llamada en vez de cachear: el ancho depende del texto renderizado, no de la * configuración. */ private placeFlap; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }