import * as _angular_core from '@angular/core';
import { InputSignal } from '@angular/core';
import { EuiMenuItem } from '@eui/components/eui-menu';

/**
 * @description
 * A sidebar menu component that wraps the EUI menu component.
 * This component provides a collapsible sidebar navigation menu with various display options.
 *
 * @usageNotes
 * ### Basic usage
 * ```typescript
 * menuItems: EuiMenuItem[] = [
 *   { label: 'Dashboard', icon: 'home', route: '/dashboard' },
 *   { label: 'Settings', icon: 'settings', route: '/settings' }
 * ];
 * ```
 * ```html
 * <eui-sidebar-menu [items]="menuItems"></eui-sidebar-menu>
 * ```
 *
 * ### Collapsed with icons
 * ```html
 * <eui-sidebar-menu
 *   [items]="menuItems"
 *   [isCollapsed]="true"
 *   [hasIcons]="true"
 *   [hasCollapsedInitials]="true">
 * </eui-sidebar-menu>
 * ```
 *
 * ### With search filter
 * ```html
 * <eui-sidebar-menu
 *   [items]="menuItems"
 *   [hasFilter]="true"
 *   searchFilterLabel="Search menu"
 *   (itemClick)="onMenuItemClick($event)">
 * </eui-sidebar-menu>
 * ```
 *
 * ### Accessibility
 * - Keyboard navigation with arrow keys and Enter
 * - Tooltips provide context in collapsed mode
 * - ARIA labels for screen reader support
 * - Focus management for nested menu items
 *
 * ### Notes
 * - Use `hasTooltipOnExpanded` to show tooltips even when menu is expanded
 * - `expandAllItems` opens all nested menu groups on initial render
 * - `hasBoldRootLevel` emphasizes top-level navigation items
 * - Filter searches through all menu item labels and nested items
 */
declare class EuiSidebarMenuComponent {
    /**
     * CSS class binding for the host element
     * @default 'eui-sidebar-menu'
     */
    string: string;
    /**
     * The menu items to be displayed
     * @default []
     */
    items: InputSignal<EuiMenuItem[]>;
    /**
     * Whether to show initials in collapsed mode
     * @default false
     */
    hasCollapsedInitials: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether the sidebar is collapsed
     * @default false
     */
    isCollapsed: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show a filter input for searching menu items
     * @default false
     */
    hasFilter: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show icons for menu items
     * @default false
     */
    hasIcons: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show tooltips for menu items
     * @default true
     */
    hasTooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show tooltips even when the menu is expanded
     * @default false
     */
    hasTooltipOnExpanded: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show tooltips only from tooltip property instead of label and tabLabel when expanded
     * @default false
     */
    hasTooltipOnlyOnExpanded: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to initially expand all menu items
     * @default false
     */
    expandAllItems: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to make root level menu items bold
     * @default false
     */
    hasBoldRootLevel: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Custom inline styles for the sidebar container
     */
    style: InputSignal<string>;
    /**
     * ID of the fragment to navigate to
     */
    fragmentId: InputSignal<string>;
    /**
     * Label for the search filter input
     */
    searchFilterLabel: InputSignal<string>;
    /**
     * Target for external links
     */
    externalTarget: InputSignal<string>;
    /**
     * Initial value for the filter input
     * @default ''
     */
    filterValue: InputSignal<string>;
    /**
     * Event emitted when the menu itself is clicked
     */
    menuClick: _angular_core.OutputEmitterRef<boolean>;
    /**
     * Event emitted when a menu item is clicked
     */
    itemClick: _angular_core.OutputEmitterRef<EuiMenuItem<unknown>>;
    /**
     * Handler for menu item click events
     * @param item The menu item that was clicked
     */
    protected onMenuItemClicked(item: EuiMenuItem): void;
    /**
     * Handler for menu click events
     * @param event Whether the menu was clicked
     */
    protected onMenuClicked(event: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<EuiSidebarMenuComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<EuiSidebarMenuComponent, "eui-sidebar-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "hasCollapsedInitials": { "alias": "hasCollapsedInitials"; "required": false; "isSignal": true; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; "isSignal": true; }; "hasFilter": { "alias": "hasFilter"; "required": false; "isSignal": true; }; "hasIcons": { "alias": "hasIcons"; "required": false; "isSignal": true; }; "hasTooltip": { "alias": "hasTooltip"; "required": false; "isSignal": true; }; "hasTooltipOnExpanded": { "alias": "hasTooltipOnExpanded"; "required": false; "isSignal": true; }; "hasTooltipOnlyOnExpanded": { "alias": "hasTooltipOnlyOnExpanded"; "required": false; "isSignal": true; }; "expandAllItems": { "alias": "expandAllItems"; "required": false; "isSignal": true; }; "hasBoldRootLevel": { "alias": "hasBoldRootLevel"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "fragmentId": { "alias": "fragmentId"; "required": false; "isSignal": true; }; "searchFilterLabel": { "alias": "searchFilterLabel"; "required": false; "isSignal": true; }; "externalTarget": { "alias": "externalTarget"; "required": false; "isSignal": true; }; "filterValue": { "alias": "filterValue"; "required": false; "isSignal": true; }; }, { "menuClick": "menuClick"; "itemClick": "itemClick"; }, never, never, true, never>;
}

declare const EUI_SIDEBAR_MENU: readonly [typeof EuiSidebarMenuComponent];

export { EUI_SIDEBAR_MENU, EuiSidebarMenuComponent };
//# sourceMappingURL=eui-components-eui-sidebar-menu.d.ts.map
