import { AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { Platform } from '@angular/cdk/platform';
import { Observable } from 'rxjs';
import { MDCComponent } from '@angular-mdc/web/base';
import { MdcTabScroller, MdcTabScrollerAlignment } from '@angular-mdc/web/tab-scroller';
import { MdcTab, MdcTabInteractedEvent } from '@angular-mdc/web/tab';
import { MDCTabBarFoundation } from '@material/tab-bar';
export declare class MdcTabActivatedEvent {
    source: MdcTabBar;
    index: number;
    tab: MdcTab;
    constructor(source: MdcTabBar, index: number, tab: MdcTab);
}
export declare class MdcTabBar extends MDCComponent<MDCTabBarFoundation> implements AfterContentInit, OnDestroy {
    private _platform;
    private _changeDetectorRef;
    elementRef: ElementRef<HTMLElement>;
    /** Emits whenever the component is destroyed. */
    private _destroy;
    get fade(): boolean;
    set fade(value: boolean);
    private _fade;
    get stacked(): boolean;
    set stacked(value: boolean);
    private _stacked;
    get fixed(): boolean;
    set fixed(value: boolean);
    private _fixed;
    get align(): MdcTabScrollerAlignment | null;
    set align(value: MdcTabScrollerAlignment | null);
    private _align;
    get iconIndicator(): string | null;
    set iconIndicator(value: string | null);
    private _iconIndicator;
    get useAutomaticActivation(): boolean;
    set useAutomaticActivation(value: boolean);
    private _useAutomaticActivation;
    get activeTabIndex(): number;
    set activeTabIndex(value: number);
    private _activeTabIndex;
    get focusOnActivate(): boolean;
    set focusOnActivate(value: boolean);
    private _focusOnActivate;
    readonly activated: EventEmitter<MdcTabActivatedEvent>;
    tabScroller: MdcTabScroller;
    tabs: QueryList<MdcTab>;
    /** Subscription to changes in tabs. */
    private _changeSubscription;
    /** Subscription to interaction events in tabs. */
    private _tabInteractionSubscription;
    /** Combined stream of all of the tab interaction events. */
    get tabInteractions(): Observable<MdcTabInteractedEvent>;
    getDefaultFoundation(): MDCTabBarFoundation;
    constructor(_platform: Platform, _changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    private _syncTabs;
    private _resetTabSubscriptions;
    private _dropSubscriptions;
    /** Listens to interaction events on each tab. */
    private _listenToTabInteraction;
    /** Activates the tab at the given index */
    activateTab(index: number): void;
    /** Scrolls the tab at the given index into view */
    scrollIntoView(index: number): void;
    getActiveTabIndex(): number;
    getActiveTab(): MdcTab | undefined;
    /** Returns an index for given tab */
    getTabIndex(tab: MdcTab): number;
    /** Disable or enable the tab at the given index */
    disableTab(index: number, disabled: boolean): void;
    _onKeydown(evt: KeyboardEvent): void;
    private _indexIsInRange;
    /** Retrieves the DOM element of the component host. */
    private _getHostElement;
}
