import { OnInit } from '@angular/core';
import { TimelineItem } from './models/timeline-item';
import * as i0 from "@angular/core";
declare const HORIZONTAL = "horizontal";
declare const VERTICAL = "vertical";
/**
 * @description Componente de linha do tempo que renderiza itens de forma horizontal
 * ou vertical (ou autodetectável por largura de tela). Suporta navegação entre
 * etapas, destaque do item ativo e modo colapsável para muitos itens.
 *
 * @example
 * ```html
 * <s-timeline
 *   [items]="etapas"
 *   [activeIndex]="etapaAtiva"
 *   direction="horizontal" />
 * ```
 *
 * @category Structure
 */
export declare class TimelineComponent implements OnInit {
    private _innerWidth;
    private _items;
    get items(): TimelineItem[];
    /**
     * @description Lista de itens da linha do tempo. Campo obrigatório.
     * IDs duplicados são rejeitados com exceção.
     */
    set items(items: TimelineItem[]);
    /** @description Índice ativo (0-based) que define o item em destaque. Campo obrigatório. */
    activeIndex: number;
    /** @description Aplica destaque visual ao item ativo. @default true */
    highlightActiveItem: boolean;
    /** @description Direção de renderização: `'horizontal'` ou `'vertical'`. @default 'horizontal' */
    direction: typeof HORIZONTAL | typeof VERTICAL;
    /** @description Habilita o modo colapsável quando há muitos itens. @default true */
    collapsable: boolean;
    /** @description Rótulo exibido no contador de itens colapsados. @default 'items' */
    counterLabel: string;
    ngOnInit(): void;
    onResize(_: any): void;
    changeToVertical(): boolean;
    checkDuplicateIds(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimelineComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent, "s-timeline", never, { "items": { "alias": "items"; "required": true; }; "activeIndex": { "alias": "activeIndex"; "required": true; }; "highlightActiveItem": { "alias": "highlightActiveItem"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "collapsable": { "alias": "collapsable"; "required": false; }; "counterLabel": { "alias": "counterLabel"; "required": false; }; }, {}, never, never, true, never>;
}
export {};
