import { TemplatePortal } from '@angular/cdk/portal';
import { OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { PopUpPlacements } from '@koobiq/components/core';
import { Subject } from 'rxjs';
import { KbqTabLabel } from './tab-label.directive';
import * as i0 from "@angular/core";
export declare class KbqTab implements OnInit, OnChanges, OnDestroy {
    private readonly viewContainerRef;
    /** @docs-private */
    get content(): TemplatePortal | null;
    get templateLabel(): KbqTabLabel;
    set templateLabel(value: KbqTabLabel);
    private _templateLabel;
    /**
     * Template provided in the tab content that will be used if present, used to enable lazy-loading
     */
    explicitContent: TemplateRef<any>;
    /** Template inside the KbqTab view that contains an `<ng-content>`. */
    implicitContent: TemplateRef<any>;
    get tooltipTitle(): string;
    set tooltipTitle(value: string);
    private _tooltipTitle;
    get disabled(): boolean;
    set disabled(value: boolean);
    private _disabled;
    tooltipPlacement: PopUpPlacements;
    /** Plain text label for the tab, used when there is no template label. */
    textLabel: string;
    empty: boolean;
    tabId: string;
    /** Emits whenever the internal state of the tab changes. */
    readonly stateChanges: Subject<void>;
    /**
     * The relatively indexed position where 0 represents the center, negative is left, and positive
     * represents the right.
     */
    position: number | null;
    /**
     * The initial relatively index origin of the tab if it was created and selected after there
     * was already a selected tab. Provides context of what position the tab should originate from.
     */
    origin: number | null;
    /**
     * Whether the tab is currently active.
     */
    isActive: boolean;
    get isOverflown(): boolean;
    get overflowTooltipTitle(): string;
    set overflowTooltipTitle(value: string);
    private _overflowTooltipTitle;
    /** Portal that will be the hosted content of the tab */
    private contentPortal;
    constructor(viewContainerRef: ViewContainerRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * This has been extracted to a util because of TS 4 and VE.
     * View Engine doesn't support property rename inheritance.
     * TS 4.0 doesn't allow properties to override accessors or vice-versa.
     * @docs-private
     */
    protected setTemplateLabelInput(value: KbqTabLabel): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqTab, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqTab, "kbq-tab", ["kbqTab"], { "tooltipTitle": { "alias": "tooltipTitle"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "textLabel": { "alias": "label"; "required": false; }; "empty": { "alias": "empty"; "required": false; }; "tabId": { "alias": "tabId"; "required": false; }; }, {}, ["templateLabel", "explicitContent"], ["*"], false, never>;
    static ngAcceptInputType_disabled: unknown;
    static ngAcceptInputType_empty: unknown;
}
