import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
import { Nullable } from '@fundamental-ngx/cdk/utils';
import { ComboboxInterface } from '@fundamental-ngx/core/combobox';
import { SearchComponent } from '@fundamental-ngx/core/shared';
import { SideNavigationInterface } from '@fundamental-ngx/core/side-navigation';
import { Breakpoints, ShellbarGroupFlexOptions, ShellbarSizes } from './model/shellbar-sizes';
import { ShellbarBrandingComponent } from './shellbar-branding/shellbar-branding.component';
import { ShellbarContextAreaComponent } from './shellbar-context-area/shellbar-context-area.component';
import * as i0 from "@angular/core";
/**
 * The shellbar offers consistent, responsive navigation across all products and applications.
 * Includes support for branding, product navigation, search, notifications, and user settings.
 * Shellbar is a composite component comprised of mandatory and optional elements.
 */
export declare class ShellbarComponent implements AfterContentInit, AfterViewInit, OnDestroy {
    /** Size of Shellbar component 's' | 'm' | 'l' | 'xl' */
    set size(value: ShellbarSizes | undefined);
    get size(): ShellbarSizes | undefined;
    /**
     * Responsive breakpoints.
     */
    set breakpoints(breakpoints: Breakpoints);
    /**
     * Whether the Shellbar is used with Side Navigation.
     * When set to true, the responsive paddings are not applied.
     * Can also accept a template variable referring to a SideNavigationInterface (fd-side-nav or fdx-side-nav), and
     * will add the corresponding class.
     */
    sideNav: boolean | SideNavigationInterface;
    /**
     * Shellbar group flex configuration.
     */
    set groupFlex(value: Nullable<ShellbarGroupFlexOptions>);
    get groupFlex(): Nullable<ShellbarGroupFlexOptions>;
    /** Whether to show the navigation button. */
    showNavigationButton: boolean;
    /** Whether to show the back button. */
    showBackButton: boolean;
    /** Label for the navigation button. */
    navigationButtonLabel: string;
    /** Label for the back button. */
    backButtonLabel: string;
    /** Emitted event when navigation button is clicked. */
    navigationButtonClicked: EventEmitter<Event>;
    /** Emitted event when back button is clicked. */
    backButtonClicked: EventEmitter<Event>;
    /** @hidden */
    comboboxComponent: ComboboxInterface;
    /** @hidden */
    buttons: QueryList<ElementRef>;
    /** @hidden */
    contextArea: ShellbarContextAreaComponent;
    /** @hidden */
    branding: ShellbarBrandingComponent;
    /** @hidden */
    private _actions?;
    /** @hidden */
    private readonly _searchPortalOutlet;
    /** @hidden */
    private readonly _shellbar;
    /** @hidden */
    _showMobileSearch: boolean;
    /** @hidden */
    readonly _rtl$: import("@angular/core").Signal<boolean>;
    /**
     * Search component placed inside the shellbar
     */
    set searchComponent(component: Nullable<SearchComponent>);
    get searchComponent(): Nullable<SearchComponent>;
    /** @hidden */
    get _hideTitleComponents(): boolean;
    /** @hidden */
    get _hideAllComponents(): boolean;
    /** @hidden */
    get _currentSize(): ShellbarSizes;
    /** @hidden */
    private _groupFlex;
    /** @hidden */
    private _searchPortal;
    /** @hidden */
    private _searchComponent;
    /** @hidden */
    private readonly _currentSize$;
    /** @hidden */
    private _size;
    /** @hidden */
    private _breakpointSize;
    /** @hidden */
    private readonly _cd;
    /** @hidden */
    private readonly _destroyRef;
    /** @hidden */
    private _breakpoints;
    /** @hidden */
    private _searchSubmitSubscription;
    /** @hidden */
    private _resizeObserverService;
    /** @hidden */
    private readonly _rtlService;
    /** @hidden */
    ngAfterContentInit(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /** @hidden */
    applyShellbarModeToCombobox(): void;
    /** @hidden */
    applyShellbarModeToButtons(): void;
    /** @hidden */
    _closeMobileSearch(): void;
    /** @hidden */
    _getSideNavClass(): string;
    /** @hidden */
    _getShellbarEnd(): number;
    /** @hidden */
    _getActionsEnd(): number;
    /** @hidden */
    _actionsExceedShellbarWidth(): boolean;
    /** @hidden */
    _searchToggledFromActions(): void;
    /** @hidden */
    _navigationClicked(event: Event): void;
    /** @hidden */
    _backClicked(event: Event): void;
    /** @hidden */
    private _setSearchComponentListeners;
    private _placeSearch;
    /** @hidden */
    private _setCurrentBreakpoint;
    /** @hidden */
    private _handleOverflow;
    /** @hidden */
    private _resetOverflow;
    /** @hidden */
    private _normalizeBreakpoints;
    /** @hidden */
    private _attachSearch;
    /** @hidden */
    private _detachSearch;
    static ɵfac: i0.ɵɵFactoryDeclaration<ShellbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ShellbarComponent, "fd-shellbar", never, { "size": { "alias": "size"; "required": false; }; "breakpoints": { "alias": "breakpoints"; "required": false; }; "sideNav": { "alias": "sideNav"; "required": false; }; "groupFlex": { "alias": "groupFlex"; "required": false; }; "showNavigationButton": { "alias": "showNavigationButton"; "required": false; }; "showBackButton": { "alias": "showBackButton"; "required": false; }; "navigationButtonLabel": { "alias": "navigationButtonLabel"; "required": false; }; "backButtonLabel": { "alias": "backButtonLabel"; "required": false; }; }, { "navigationButtonClicked": "navigationButtonClicked"; "backButtonClicked": "backButtonClicked"; }, ["comboboxComponent", "contextArea", "branding", "_actions", "searchComponent", "buttons"], ["fd-shellbar-branding", "[fd-shellbar-side-nav]", "fd-shellbar-logo", "fd-shellbar-title", "fd-product-menu", "fd-shellbar-subtitle", "fd-shellbar-separator", "fd-shellbar-context-area", "*", "fd-shellbar-actions"], true, never>;
}
