import { CdkPortal, CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
import { ComponentFactoryResolver, ElementRef, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class TabBodyComponent implements OnDestroy {
    private _content;
    content$: BehaviorSubject<TemplatePortal<any>>;
    /** The portal host inside of this container into which the tab body content will be loaded. */
    _portalOutlet: CdkPortalOutlet;
    /** The tab body content to display. */
    get content(): TemplatePortal;
    set content(content: TemplatePortal);
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabBodyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabBodyComponent, "aui-tab-body", never, { "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
}
/** Used to flag tab labels for use with the portal directive */
export declare class TabLabelDirective extends CdkPortal {
    constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<TabLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabLabelDirective, "[auiTabLabel]", never, {}, {}, never, never, true, never>;
}
/**
 * Lazy load the embedded template for a tab content.
 */
export declare class TabContentDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<TabContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabContentDirective, "[auiTabContent]", never, {}, {}, never, never, true, never>;
}
/** Used to project additional template from host to the tab header. */
export declare class TabHeaderAddonDirective extends CdkPortal {
    constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<TabHeaderAddonDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabHeaderAddonDirective, "[auiTabHeaderAddon]", never, {}, {}, never, never, true, never>;
}
/**
 * Used in the `aui-tab-group` view to display tab labels.
 */
export declare class TabLabelWrapperDirective {
    elementRef: ElementRef<HTMLElement>;
    /** Whether or not the tab is disabled  */
    disabled: boolean;
    getOffsetLeft(): number;
    getOffsetWidth(): number;
    /** Sets focus on the wrapper element */
    focus(): void;
    constructor(elementRef: ElementRef<HTMLElement>);
    static ɵfac: i0.ɵɵFactoryDeclaration<TabLabelWrapperDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabLabelWrapperDirective, "[auiTabLabelWrapper]", never, { "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_disabled: unknown;
}
export declare class TabTitleDirective extends CdkPortal {
    constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<TabTitleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabTitleDirective, "[auiTabTitle]", never, {}, {}, never, never, true, never>;
}
/**
 * The portal host directive for the contents of the tab.
 */
export declare class TabBodyPortalDirective extends CdkPortalOutlet implements OnInit, OnDestroy {
    private readonly _host;
    private _hostSubscription;
    constructor(componentFactoryResolver: ComponentFactoryResolver, viewContainerRef: ViewContainerRef, _host: TabBodyComponent);
    /** Set initial visibility or set up subscription for changing visibility. */
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabBodyPortalDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabBodyPortalDirective, "[auiTabBodyHost]", never, {}, {}, never, never, true, never>;
}
