/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import type { ReactiveControllerHost } from 'lit'; import type { NrMenuElement } from '../menu.component.js'; import type { MenuController } from '../interfaces/index.js'; import { BaseComponentController } from '@nuralyui/common/controllers'; /** * Base controller class providing common functionality for all menu controllers * Handles controller lifecycle, error handling, and event dispatching */ export declare class BaseMenuController extends BaseComponentController implements MenuController { /** * Dispatch a custom event from the host element * @param eventName - Name of the event * @param detail - Event detail object * @param options - Additional event options */ protected dispatchMenuEvent(eventName: string, detail?: any, options?: Partial): boolean; /** * Check if host element is disabled */ protected isDisabled(): boolean; /** * Get element by path key * @param pathKey - The path key to search for */ protected getElementByPath(pathKey: string): HTMLElement | null; /** * Get all menu link elements */ protected getAllMenuLinks(): HTMLElement[]; /** * Check if element is visible and not disabled * @param element - The element to check */ protected isElementInteractive(element: HTMLElement | null): boolean; } //# sourceMappingURL=base.controller.d.ts.map