import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { TabComponent } from '../tab/tab.component';
import { TabsDensity } from './tabs.model';
import * as i0 from "@angular/core";
export declare class TabsComponent implements AfterViewInit, OnDestroy {
    private cdr;
    private activeTabIndex?;
    private readonly tabClass;
    private unsubscribe;
    /**
     * @ignore
     */
    tabToRender?: TabComponent;
    /**
     * @ignore
     */
    tabs?: TabComponent[];
    /**
     * Label for the tablist element
     */
    label?: string;
    /**
     * Tabs density
     */
    density: TabsDensity;
    /**
     * @ignore
     */
    tabsList?: QueryList<TabComponent>;
    /**
     * Output that emits selected tab index
     */
    selectedTab: EventEmitter<number>;
    constructor(cdr: ChangeDetectorRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Check if tab is active
     * @param index index of tab to check
     */
    isActiveTab(index: number): boolean;
    /**
     * Allows you to navigate to tab
     * @param index index of tab to select
     * @param emit emits if set to true
     */
    goToTab(index: number, emit?: boolean): void;
    /**
     * @ignore
     */
    focusNextFocusableTab(): void;
    /**
     * @ignore
     */
    focusPreviousFocusableTab(): void;
    /**
     * @ignore
     */
    handleTabKeydown(event: KeyboardEvent): void;
    getDensityClass(): string | undefined;
    private initializeClickListener;
    private initializeKeydownListener;
    private renderTemplate;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "nj-tabs", never, { "label": { "alias": "label"; "required": false; }; "density": { "alias": "density"; "required": false; }; }, { "selectedTab": "selectedTab"; }, ["tabsList"], ["*"], true, never>;
}
