import { type HasSlotController } from '../../internal/slot.js'; import type { ReactiveController, ReactiveControllerHost } from 'lit'; import type SynMenuItem from './menu-item.js'; /** A reactive controller to manage the registration of event listeners for submenus. */ export declare class SubmenuController implements ReactiveController { private host; private popupRef; private enableSubmenuTimer; private hasGlobalDismissListeners; private isConnected; private isPopupConnected; private skidding; private readonly hasSlotController; private readonly submenuOpenDelay; constructor(host: ReactiveControllerHost & SynMenuItem, hasSlotController: HasSlotController); hostConnected(): void; hostDisconnected(): void; hostUpdated(): void; private addListeners; private removeListeners; private addGlobalDismissListeners; private removeGlobalDismissListeners; private handleMouseMove; private handleMouseOver; private isWithinSubmenuInteractionTree; private handleHostMouseLeave; private handleSubmenuEntry; private handleKeyDown; private handleClick; private handleFocusOut; private handleWindowBlur; private handlePageHide; private handleVisibilityChange; private handleDocumentKeyDown; private handlePopupMouseover; private handlePopupMouseLeave; private handlePopupReposition; private setSubmenuState; private enableSubmenu; private disableSubmenu; private updateSkidding; isExpanded(): boolean; renderSubmenu(): import("lit").TemplateResult<1>; }