import { ElementRef, OnChanges } from '@angular/core';
import { CssClassBuilder } from '@fundamental-ngx/cdk/utils';
import { IconFont } from '@fundamental-ngx/core/icon';
import * as i0 from "@angular/core";
/**
 * Directive used to identify the template which will populate the tab header.
 * Used to achieve complex headers that require more than a string.
 *
 * ```html
 * <fd-tab>
 *      <ng-template fd-tab-title>
 *          <fd-icon [glyph]="'delete'"></fd-icon>
 *          <span>Tab Label</span>
 *      </ng-template>
 * </fd-tab>
 * ```
 */
export declare class TabTitleDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabTitleDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabTitleDirective, "[fdTabTitleTemplate], [fd-tab-title-template]", never, {}, {}, never, never, true, never>;
}
/**
 * Directive for counter element, available in most of the modes on `tab` component
 */
export declare class TabCountDirective {
    /** @hidden */
    fdTabsCountClass: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabCountDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabCountDirective, "[fdTabCount], [fd-tab-count]", never, {}, {}, never, never, true, never>;
}
/**
 * Directive for icon element, available in most of the modes on `tab` component
 */
export declare class TabIconComponent implements CssClassBuilder, OnChanges {
    readonly elementRef: ElementRef;
    /** Apply user custom styles */
    class: string;
    /**
     * The icon to include inside the element
     * See the icon page for the list of icons.
     */
    icon: string;
    /** Icon font family */
    iconFont: IconFont;
    /** @hidden */
    constructor(elementRef: ElementRef);
    /** @hidden CssClassBuilder interface implementation
     * function must return single string
     * function is responsible for order which css classes are applied
     */
    buildComponentCssClass(): string[];
    /** @hidden
     * Function runs when component is initialized
     * function should build component css class
     * function should build css style
     */
    ngOnChanges(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabIconComponent, "[fd-tab-icon]", never, { "class": { "alias": "class"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconFont": { "alias": "iconFont"; "required": false; }; }, {}, never, ["*"], true, never>;
}
export declare class TabTagDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabTagDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabTagDirective, "[fdTabTag], [fd-tab-tag]", never, {}, {}, never, never, true, never>;
}
export declare class TabLabelDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabLabelDirective, "[fdTabLabel], [fd-tab-label]", never, {}, {}, never, never, true, never>;
}
export declare class TabProcessDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabProcessDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabProcessDirective, "[fdTabProcess], [fd-tab-process]", never, {}, {}, never, never, true, never>;
}
export declare class TabHeaderDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabHeaderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabHeaderDirective, "[fdTabHeader], [fd-tab-header]", never, {}, {}, never, never, true, never>;
}
export declare class TabCounterHeaderDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabCounterHeaderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabCounterHeaderDirective, "[fdTabCounterHeader], [fd-tab-counter-header]", never, {}, {}, never, never, true, never>;
}
export declare class TabProcessIconDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabProcessIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabProcessIconDirective, "[fdTabProcessIcon], [fd-tab-process-icon]", never, {}, {}, never, never, true, never>;
}
export declare class TabSeparatorDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<TabSeparatorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TabSeparatorDirective, "[fdTabSeparator], [fd-tab-separator]", never, {}, {}, never, never, true, never>;
}
