import { EventEmitter, OnDestroy, QueryList, ChangeDetectorRef, AfterViewInit, ViewContainerRef, ElementRef, OnChanges, SimpleChanges } from '@angular/core';
import { AnimationBuilder } from '@angular/animations';
import { Router } from '@angular/router';
import { EuiTabComponent } from './eui-tab/eui-tab.component';
import * as i0 from "@angular/core";
export declare class EuiTabsComponent implements OnDestroy, AfterViewInit, OnChanges {
    private cd;
    private router;
    private builder;
    styleClass: string;
    tabs: EuiTabComponent[];
    get isMainNavigation(): boolean;
    set isMainNavigation(value: boolean);
    _isMainNavigation: boolean;
    get isSubTabs(): boolean;
    set isSubTabs(value: boolean);
    _isSubTabs: boolean;
    activeTabIndex: any;
    get isVerticalTabs(): boolean;
    set isVerticalTabs(value: boolean);
    _isVerticalTabs: boolean;
    e2eAttr: string;
    pathMatch: ('prefix' | 'full');
    tabClosed: EventEmitter<{
        tab: EuiTabComponent;
        index: number;
    }>;
    tabSelected: EventEmitter<{
        tab: EuiTabComponent;
        index: number;
    }>;
    _tabs: QueryList<EuiTabComponent>;
    euiTabLabelItems: QueryList<ViewContainerRef>;
    euiTabsItems: ElementRef;
    euiTabsItemsWrapper: ElementRef;
    host: ElementRef;
    scrolling: boolean;
    navigationLeftButtonDisabled: boolean;
    navigationRightButtonDisabled: boolean;
    currentState: string;
    currentOffset: number;
    private destroy$;
    private routerSubscription;
    private player;
    private observer;
    private stepMove;
    /**
     * For race condition reason, the wrapper width is not correctly calculated when the component passes from no-scroll state to scroll
     * state.
     * To fix this issue, we count the number of times the getScrollingStatus method is called.
     *
     * Scenario 1: The number of tabs does not require any scroll:
     * - Without any fix the scroll will have a delta of 64 at the first activation, then on the first no-scroll to scroll state, we had
     * 64 to the move
     *
     * Scenario 2: The number of tabs requires a scroll:
     * - In this case the wrapper width is correctly calculated, so we don't need to add the delta
     */
    private scrollingCount;
    constructor(cd: ChangeDetectorRef, router: Router, builder: AnimationBuilder);
    ngOnChanges(c: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    onResize(): void;
    onContentChanges(): void;
    goToLeft(): void;
    goToRight(): void;
    changeTab(index: number): void;
    onKeyUp(evt: KeyboardEvent, index: number): void;
    closeTab(index: number, e: any): void;
    detectChanges(): void;
    private isActiveTabVisible;
    private setScrollTo;
    private getScrollingStatus;
    static ɵfac: i0.ɵɵFactoryDef<EuiTabsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<EuiTabsComponent, "eui-tabs", never, { "styleClass": "styleClass"; "tabs": "tabs"; "isMainNavigation": "isMainNavigation"; "isSubTabs": "isSubTabs"; "activeTabIndex": "activeTabIndex"; "isVerticalTabs": "isVerticalTabs"; "e2eAttr": "e2eAttr"; "pathMatch": "pathMatch"; }, { "tabClosed": "tabClosed"; "tabSelected": "tabSelected"; }, ["_tabs"], ["euiTabsRightContent"]>;
}
export declare class EuiTabsRightContentTagDirective {
    static ɵfac: i0.ɵɵFactoryDef<EuiTabsRightContentTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDefWithMeta<EuiTabsRightContentTagDirective, "euiTabsRightContent", never, {}, {}, never>;
}
