import * as i0 from '@angular/core';
import { AfterContentInit, OnDestroy } from '@angular/core';
import { ListComponent } from '@fundamental-ngx/core/list';

declare class VerticalNavigationGroupHeaderDirective {
    /** @hidden */
    fdVerticalNavigationGroupHeaderClass: boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<VerticalNavigationGroupHeaderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<VerticalNavigationGroupHeaderDirective, "[fdVerticalNavigationGroupHeader], [fd-vertical-navigation-group-header]", never, {}, {}, never, never, true, never>;
}

declare class VerticalNavigationMainNavigationComponent {
    /** @hidden */
    _list: ListComponent;
    static ɵfac: i0.ɵɵFactoryDeclaration<VerticalNavigationMainNavigationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<VerticalNavigationMainNavigationComponent, "fd-vertical-navigation-main-navigation", never, {}, {}, ["_list"], ["*"], true, never>;
}

/**
 * @deprecated use the (btp)vertical navigation component instead.
 * The side-navigation is a wrapping component representing
 * a left navigation that can always display or expand/collapse using the menu icon within the global navigation.
 */
declare class VerticalNavigationComponent implements AfterContentInit, OnDestroy {
    /** Whether or not this component is to be shown in 'condensed' mode. */
    set condensed(value: boolean);
    get condensed(): boolean;
    /** @hidden */
    private readonly _navigationItems;
    /** @hidden
     * Querylist of list-items in main navigation.
     */
    private set _mainItems(value);
    /** @hidden */
    private _keyManager;
    /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing)  */
    private readonly _destroyRef;
    /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing)  */
    private readonly _onRefresh$;
    /** @hidden */
    private readonly _condensed;
    /** @hidden */
    private readonly _contentInited;
    /** @hidden */
    private readonly _mainNavItems;
    /** @hidden */
    constructor();
    /** @hidden */
    keyDownHandler(event: KeyboardEvent): void;
    /** @hidden */
    ngAfterContentInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /** Set fake focus on element with passed index */
    setItemActive(index: number, updateOnly?: boolean): void;
    /** @hidden */
    private _listenOnQueryChange;
    /** @hidden */
    private _listenOnItemsClick;
    static ɵfac: i0.ɵɵFactoryDeclaration<VerticalNavigationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<VerticalNavigationComponent, "fd-vertical-navigation", never, { "condensed": { "alias": "condensed"; "required": false; }; }, {}, ["_navigationItems", "_mainItems"], ["*"], true, never>;
}

/**
 * @deprecated
 * Use direct imports of `VerticalNavigationComponent`, `VerticalNavigationMainNavigationComponent`, `VerticalNavigationGroupHeaderDirective`
 */
declare class VerticalNavigationModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<VerticalNavigationModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<VerticalNavigationModule, never, [typeof VerticalNavigationComponent, typeof VerticalNavigationMainNavigationComponent, typeof VerticalNavigationGroupHeaderDirective], [typeof VerticalNavigationComponent, typeof VerticalNavigationMainNavigationComponent, typeof VerticalNavigationGroupHeaderDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<VerticalNavigationModule>;
}

export { VerticalNavigationComponent, VerticalNavigationGroupHeaderDirective, VerticalNavigationMainNavigationComponent, VerticalNavigationModule };
