import { IxComponent } from '../utils/internal'; export type CloseBehavior = 'inside' | 'outside' | 'both' | boolean; export interface DropdownInterface extends IxComponent { closeBehavior: CloseBehavior; discoverAllSubmenus: boolean; getAssignedSubmenuIds(): string[]; getId(): string; discoverSubmenu(): void; isPresent(): boolean; willPresent?(): boolean; willDismiss?(): boolean; present(): void; dismiss(): void; } export declare function hasDropdownItemWrapperImplemented(item: unknown): item is DropdownItemWrapper; export interface DropdownItemWrapper { getDropdownItemElement(): Promise; } declare class DropdownController { private readonly dropdowns; private submenuIds; private isWindowListenerActive; connected(dropdown: DropdownInterface): void; disconnected(dropdown: DropdownInterface): void; removeFromSubmenuIds(id: string): void; getDropdownById(id: string): DropdownInterface | undefined; discoverSubmenus(): void; present(dropdown: DropdownInterface): void; dismissChildren(uid: string): void; dismiss(dropdown: DropdownInterface): void; dismissAll(ignoreBehaviorForIds?: string[], ignoreRelatedDropdowns?: boolean): void; dismissOthers(uid: string): void; pathIncludesTrigger(eventTargets: EventTarget[]): HTMLElement | undefined; private pathIncludesDropdown; private buildComposedPath; private addOverlayListeners; } export declare const dropdownController: DropdownController; export {};