import { OnDestroy } from '@angular/core';
import { TabItemComponent } from '../tab-item/tab-item.component';
import * as i0 from "@angular/core";
/**
 * @description Componente de abas (tabs) que organiza o conteúdo em painéis acessíveis por rótulos clicáveis.
 * Suporta layout horizontal e vertical, two-way binding da aba ativa e renderização condicional
 * do conteúdo de cada aba via `TabItemComponent`.
 *
 * @example
 * ```html
 * <s-tabs [(activeTab)]="activeTab" layoutType="horizontal">
 *   <s-tab-item header="Aba 1" value="tab1">Conteúdo 1</s-tab-item>
 *   <s-tab-item header="Aba 2" value="tab2">Conteúdo 2</s-tab-item>
 * </s-tabs>
 * ```
 *
 * @category Navegação
 */
export declare class TabsComponent implements OnDestroy {
    private readonly onDestroy$;
    protected readonly tabItems: import("@angular/core").Signal<readonly TabItemComponent[]>;
    protected readonly activeTabComponent: import("@angular/core").Signal<import("@angular/core").TemplateRef<any> | undefined>;
    protected readonly keepAliveTabsContent: import("@angular/core").Signal<TabItemComponent[]>;
    /**
     * @description Valor da aba atualmente ativa. Suporta two-way binding via `[(activeTab)]`.
     * Por padrão, ativa a primeira aba (índice `0`).
     *
     * @default 0
     */
    activeTab: import("@angular/core").ModelSignal<string | number>;
    /**
     * @description Orientação visual das abas.
     * - `'horizontal'`: abas exibidas em linha, acima do conteúdo (padrão).
     * - `'vertical'`: abas exibidas em coluna, à esquerda do conteúdo.
     *
     * @default 'horizontal'
     */
    layoutType: import("@angular/core").InputSignal<"horizontal" | "vertical">;
    constructor();
    ngOnDestroy(): void;
    protected onActiveTab(tab: TabItemComponent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "s-tabs", never, { "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; "layoutType": { "alias": "layoutType"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; }, ["tabItems"], never, true, never>;
}
