import { AfterContentInit, ChangeDetectorRef, ComponentRef, DestroyRef, ElementRef, Renderer2, ViewContainerRef } from "@angular/core"; import { Alignment, Position } from "@design-system-rte/core"; import { DropdownService } from "../../services/dropdown.service"; import { OverlayService } from "../../services/overlay.service"; import { DropdownMenuComponent } from "./dropdown-menu/dropdown-menu.component"; import { DropdownTriggerDirective } from "./dropdown-trigger/dropdown-trigger.directive"; import { DropdownItemConfig } from "./dropdown.types"; import * as i0 from "@angular/core"; export type DropdownOverlayLevel = "low" | "high"; export declare class DropdownDirective implements AfterContentInit { private static idCounter; readonly trigger: import("@angular/core").Signal; readonly menu: import("@angular/core").Signal; readonly rteDropdownId: import("@angular/core").InputSignal; readonly rteDropdownPosition: import("@angular/core").InputSignal; readonly rteDropdownAlignment: import("@angular/core").InputSignal; readonly rteDropdownIsOpen: import("@angular/core").InputSignal; readonly rteDropdownOffset: import("@angular/core").InputSignal; readonly rteDropdownAutofocus: import("@angular/core").InputSignal; readonly rteDropdownAutoOpen: import("@angular/core").InputSignal; readonly rteDropdownWidth: import("@angular/core").InputSignal; readonly rteDropdownOverlayLevel: import("@angular/core").InputSignal; readonly rteCloseOnItemClick: import("@angular/core").InputSignal; readonly menuEvent: import("@angular/core").OutputEmitterRef<{ event: Event; id: string; item?: DropdownItemConfig; }>; readonly dropdownId: string; readonly overlayService: OverlayService; readonly dropdownService: DropdownService; readonly viewContainerRef: ViewContainerRef; readonly elementRef: ElementRef; readonly renderer: Renderer2; readonly hostElement: HTMLElement; readonly destroyRef: DestroyRef; readonly cdr: ChangeDetectorRef; readonly clickedOutside: import("@angular/core").OutputEmitterRef; readonly closedDropdown: import("@angular/core").OutputEmitterRef; readonly menuChangeEvent: import("@angular/core").OutputEmitterRef<{ event: Event; id: string; }>; readonly isActive: import("@angular/core").WritableSignal; readonly menuInputs: import("@angular/core").Signal<{ items: DropdownItemConfig[]; bodyTemplate: import("@angular/core").TemplateRef | null | undefined; headerTemplate: import("@angular/core").TemplateRef | null | undefined; footerTemplate: import("@angular/core").TemplateRef | null | undefined; width: string | null; } | null>; dropdownMenuRef: ComponentRef | null; private itemEventSubscription; private viewportResizeFrameId; private closeDropdownTimeoutId; private readonly onViewportOrWindowResize; constructor(); private registerViewportResizeRepositionHandling; private scheduleOverlayLayoutSync; onTrigger(): void; onTriggerKeyEvent(event: KeyboardEvent): void; onMenuEvent(event: { event: Event; id: string; item?: DropdownItemConfig; }): void; onMenuChangeEvent(event: { event: Event; id: string; }): void; private setupScrollBehavior; ngAfterContentInit(): void; showDropdownMenu(): void; private resolveDropdownUsesHighOverlayLevel; private assignInputs; private assignWidth; private positionDropdownMenu; private focusTriggerElementAfterMenuClosed; private unsubscribeItemEvent; private readonly handleClickOutside; private addClickOutsideListener; private removeClickOutsideListener; private closeDropdown; private clearCloseDropdownTimeout; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }