import { ElementRef, TemplateRef, NgZone, AfterViewInit, OnDestroy } from '@angular/core';
import { IgxTabsGroupComponent } from './tabs-group.component';
import { IgxTabItemBase, IgxTabsBase } from './tabs.common';
import { IgxTabItemTemplateDirective } from './tabs.directives';
export declare class IgxTabItemComponent extends IgxTabItemBase implements AfterViewInit, OnDestroy {
    private _tabs;
    private _element;
    private _ngZone;
    /**
    * Gets the group associated with the tab.
    * ```html
    * const relatedGroup = this.tabbar.tabs.toArray()[1].relatedGroup;
    * ```
    */
    relatedGroup: IgxTabsGroupComponent;
    /**@hidden*/
    private _icon;
    /**
    * An @Input property that sets the value of the `icon`.
    * The value should be valid icon name from {@link https://material.io/tools/icons/?style=baseline}.
    *```html
    *<igx-tab-item label="Tab 1" icon="home">
    *```
    */
    get icon(): string;
    set icon(newValue: string);
    /**@hidden*/
    private _label;
    /**
    * An @Input property that sets the value of the `label`.
    *```html
    *<igx-tabs-item label="Tab 2" icon="folder">
    *```
    */
    get label(): string;
    set label(newValue: string);
    /**
     * @hidden @internal
     * Set to true when the tab item is automatically generated from the IgxTabsComponent when tab groups are defined.
     */
    autoGenerated: boolean;
    /**@hidden*/
    protected defaultTabTemplate: TemplateRef<any>;
    /**@hidden*/
    protected customTabTemplateDir: IgxTabItemTemplateDirective;
    private _nativeTabItem;
    private _changesCount;
    private _isSelected;
    private _disabled;
    private _resizeObserver;
    constructor(_tabs: IgxTabsBase, _element: ElementRef, _ngZone: NgZone);
    get provideCssClassSelected(): boolean;
    get provideCssClassDisabled(): boolean;
    get provideCssClass(): boolean;
    /**
     * @hidden @internal
     */
    role: string;
    /**
     * @hidden @internal
     */
    tabindex: number;
    /**
     * @hidden @internal
     */
    id: string;
    /**
     * @hidden @internal
     */
    ariaLabel: string;
    /**
     * @hidden @internal
     */
    ariaDisabled: boolean;
    /**
     * @hidden @internal
     */
    ariaSelected: boolean;
    /**
     * @hidden @internal
     */
    ariaControls: string;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    onClick(event: any): void;
    /**
     * @hidden
     */
    onKeydown(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    get changesCount(): number;
    /**
     * @hidden
     */
    get nativeTabItem(): ElementRef;
    /**
    * 	Gets whether the tab is disabled.
    * ```
    * const disabledItem = this.myTabComponent.tabs.first.disabled;
    * ```
    */
    get disabled(): boolean;
    set disabled(newValue: boolean);
    /**
     * Gets whether the tab is selected.
     * ```typescript
     * const selectedItem = this.myTabComponent.tabs.first.isSelected;
     * ```
     */
    get isSelected(): boolean;
    set isSelected(newValue: boolean);
    /**
     * @hidden
     */
    select(): void;
    /**
     * @hidden
     */
    get index(): number;
    /**
     * @hidden
     */
    setSelectedInternal(newValue: boolean): void;
    /**
     * @hidden
     */
    get template(): TemplateRef<any>;
    /**
     * @hidden
     */
    get context(): any;
}
