export interface ScannedItem { el: HTMLElement; buttonEl: HTMLElement | null; menuId: string | undefined; minStateWidth: string | undefined; } export interface ScannedMenu { el: HTMLElement; triggerEl: HTMLElement; menuItemEls: HTMLElement[]; inMenuIds: Set; hasMenuOnlyItems: boolean; } export interface ScanResult { items: ScannedItem[]; menu: ScannedMenu | null; /** true when the menu appears before items in DOM order */ menuFirst: boolean; } export interface OverflowHost { getContainerEl(): HTMLElement; scanChildren(): ScanResult; isCompact(): boolean; isReverse(): boolean; isSnap(): boolean; } export declare class OverflowController { private host; private orderedSteps; private appliedSteps; private minWidthMenuIds; private ro; private lastScan; constructor(host: OverflowHost); /** Start observing (call after DOM is ready). */ connect(): void; /** Stop observing and clear all applied state. */ disconnect(): void; /** Re-scan children + restart (call after external DOM changes). */ update(): void; private scan; private startObserver; private onResize; private applyState; private applyMenuState; private applyCompactCorners; private setCorners; private applyMinStyles; private clearMinStyles; private clearState; } //# sourceMappingURL=OverflowController.d.ts.map