import { AfterViewInit } from '@angular/core';
import { MenuItemComponent } from '../../../../menu-item/src/lib/menu-item/menu-item.component';
import { SidebarProgrammaticComponent } from './sidebar-programmatic.component';
import * as i0 from "@angular/core";
export declare abstract class BasicSidebarMenuComponent {
    selectedItem?: MenuItemComponent;
    sidebar?: SidebarProgrammaticComponent;
    menuItems: MenuItemComponent[];
    isInSettingsSubLevel: boolean;
    initializeComponent(): void;
    /**
     * Abstract method that child components must implement to define their menu items.
     * This method should populate the menuItems array with the component's menu items.
     */
    protected abstract initializeMenuItems(): void;
    onItemClick(menuItem: MenuItemComponent): void;
    hasSubNavigation(menuItem: MenuItemComponent): boolean;
    navigateToSubLevel(menuItem: MenuItemComponent): void;
    navigateToMainLevel(): void;
    onFooterItemClick(menuItem: MenuItemComponent): void;
}
export declare class SidebarWithFooterComponent extends BasicSidebarMenuComponent implements AfterViewInit {
    dashboardItem: MenuItemComponent;
    settingsItem: MenuItemComponent;
    profileItem: MenuItemComponent;
    helpItem: MenuItemComponent;
    generalSettingsItem: MenuItemComponent;
    privacySettingsItem: MenuItemComponent;
    notificationsSettingsItem: MenuItemComponent;
    securitySettingsItem: MenuItemComponent;
    selectedSubItem?: MenuItemComponent;
    ngAfterViewInit(): void;
    hasSubNavigation(menuItem: MenuItemComponent): boolean;
    onSubItemClick(subItem: MenuItemComponent): void;
    protected initializeMenuItems(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SidebarWithFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SidebarWithFooterComponent, "lib-sidebar-with-footer", never, {}, {}, never, never, true, never>;
}
export declare class SidebarProgrammaticExamplesComponent {
    private sidebarService;
    openSidebarWithFooter(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SidebarProgrammaticExamplesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SidebarProgrammaticExamplesComponent, "lib-sidebar-examples", never, {}, {}, never, never, true, never>;
}
