import { OnInit, AfterContentInit, AfterViewInit, OnChanges, SimpleChange, EventEmitter, QueryList, TemplateRef, Renderer2, NgZone, ChangeDetectorRef } from '@angular/core';
import { TabToggleDirective } from './tabs.directive';
export declare class TabHeaderComponent {
    templateRef: TemplateRef<any>;
}
export declare class TabContentComponent {
    templateRef: TemplateRef<any>;
}
export declare class TabComponent implements OnInit {
    index: number;
    isActive: boolean;
    private contentTemplateRef;
    header: string;
    isDisabled: boolean;
    tabColor: string;
    templateRef: TemplateRef<any>;
    tabHeaderComponent: TabHeaderComponent;
    tabContentComponent: TabContentComponent;
    /**
     * @method ngOnInit
     */
    ngOnInit(): void;
}
export declare class TabsHeaderComponent {
    templateRef: TemplateRef<any>;
}
export declare class TabsComponent implements AfterContentInit, AfterViewInit, OnChanges {
    private changeDetectorRef;
    private ngZone;
    private renderer2;
    private activatedTabIndex;
    private toggleListeners;
    private subscription;
    activeTabIndex: number;
    header: string;
    headerStyleClass: string;
    navStyleClass: string;
    contentStyleClass: string;
    styleClass: string;
    tabsColor: string;
    onClose: EventEmitter<{}>;
    onOpen: EventEmitter<{}>;
    tabsHeaderComponent: TabsHeaderComponent;
    tabs: QueryList<TabComponent>;
    tabToggleDirectives: QueryList<TabToggleDirective>;
    /**
     * @method constructor
     * @param  {ChangeDetectorRef} private changeDetectorRef [description]
     * @param  {NgZone}            private ngZone            [description]
     * @param  {Renderer2}         private renderer2         [description]
     */
    constructor(changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, renderer2: Renderer2);
    /**
     * @method ngAfterViewInit
     */
    ngAfterContentInit(): void;
    /**
     * @method ngAfterViewInit
     */
    ngAfterViewInit(): void;
    /**
     * @method ngOnChanges
     * @param  {SimpleChange}} changes [description]
     */
    ngOnChanges(changes: {
        [propKey: string]: SimpleChange;
    }): void;
    /**
     * @method ngOnDestroy
     */
    ngOnDestroy(): void;
    /**
     * [toggleTab description]
     * @method toggleTab
     * @param  {Event}        event [description]
     * @param  {TabComponent} tab   [description]
     */
    openTabIndex(): void;
    /**
     * [openTab description]
     * @method openTab
     * @param  {Event}        event     [description]
     * @param  {TabComponent} tabToOpen [description]
     */
    openTab(event: Event, tabToOpen: TabComponent): void;
    /**
     * [setTabIndex description]
     * @method setTabIndex
     */
    private setTabIndex();
    /**
     * [setTabsToggle description]
     * @method setTabsToggle
     */
    private setTabsToggle();
    /**
     * [removeListeners description]
     * @method removeListeners
     */
    private removeListeners();
}
