import { ElementRef, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { CssClassBuilder } from '@fundamental-ngx/cdk/utils';
import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
import * as i0 from "@angular/core";
export type SizeType = '' | 's' | 'm_l' | 'xl';
export type BarDesignType = 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer';
/**
 * The Bar component is a container that holds titles, buttons and input controls.
 * Its content is distributed in three areas - left, middle and right.
 * The Bar has 2 modes - Desktop (default) and Tablet/Mobile (cozy).
 */
export declare class BarComponent implements OnChanges, OnInit, CssClassBuilder, OnDestroy {
    readonly elementRef: ElementRef;
    private _contentDensityObserver;
    /** user's custom classes */
    class: string;
    /** Whether the Bar component is used as a header, subheader, header-with-subheader,
     * footer or floating-footer.
     * Types available: 'header' | 'subheader' | 'header-with-subheader' | 'footer' | 'floating-footer' */
    barDesign: BarDesignType;
    /** Whether the Bar component is used in Page Layout. */
    inPage: boolean;
    /** Whether the Bar component is used in Home Page Layout. */
    inHomePage: boolean;
    /** The size of the Page in Page responsive design.
     * Available sizes: 's' | 'm_l' | 'xl'
     */
    size: SizeType;
    /** Aria role for the Bar
     * default is toolbar
     */
    role: import("@angular/core").InputSignal<string>;
    /** @hidden */
    private _subscriptions;
    /** @hidden */
    constructor(elementRef: ElementRef, _contentDensityObserver: ContentDensityObserver);
    /** @hidden
     * CssClassBuilder interface implementation
     * function must return single string
     * function is responsible for order which css classes are applied
     */
    buildComponentCssClass(): string[];
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /** @hidden */
    ngOnChanges(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BarComponent, "[fd-bar]", never, { "class": { "alias": "class"; "required": false; }; "barDesign": { "alias": "barDesign"; "required": false; }; "inPage": { "alias": "inPage"; "required": false; }; "inHomePage": { "alias": "inHomePage"; "required": false; }; "size": { "alias": "size"; "required": false; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; }, {}, never, ["[fd-bar-left]", "[fd-bar-middle]", "[fd-bar-right]", "*"], true, never>;
}
