import { type HasSlotController } from '../../internal/slot.js';
import type { ReactiveController, ReactiveControllerHost } from 'lit';
import type SdMenuItem from './menu-item.js';
export declare class SubmenuController implements ReactiveController {
    private host;
    private popupRef;
    private enableSubmenuTimer;
    private isConnected;
    private isPopupConnected;
    private skidding;
    private readonly hasSlotController;
    private readonly submenuOpenDelay;
    constructor(host: ReactiveControllerHost & SdMenuItem, hasSlotController: HasSlotController);
    hostConnected(): void;
    hostDisconnected(): void;
    hostUpdated(): void;
    private addListeners;
    private removeListeners;
    private handleMouseMove;
    private handleMouseOver;
    private handleSubmenuEntry;
    private handleKeyDown;
    private handleClick;
    private handleFocusOut;
    private handlePopupMouseover;
    private handlePopupReposition;
    private setSubmenuState;
    private enableSubmenu;
    private disableSubmenu;
    private updateSkidding;
    isExpanded(): boolean;
    renderSubmenu(): import("lit").TemplateResult<1>;
}
