import { TemplateRef, ViewContainerRef } from '@angular/core'; import { Overlay } from '@angular/cdk/overlay'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export interface DropdownConfig { templateToRender: TemplateRef; viewContainerRef: ViewContainerRef; referenceElement: HTMLElement; positionParams: any; closeOnOutsideClick?: boolean; } export interface DropdownRef { close: (result?: any) => void; afterClosed: Subject; } export declare class DynamicDropdownService { private overlay; private overlayRefs; private renderedDropdowns; constructor(overlay: Overlay); /** * Opens a new dropdown with the given configuration. */ open(config: DropdownConfig): DropdownRef; /** * Exposes a function to check if a given template is rendered. */ isTemplateRendered(template: TemplateRef): boolean; /** * Creates an overlay with the specified position and configuration. */ private createOverlay; /** * Creates a flexible position strategy for the dropdown. */ private createPositionStrategy; /** * Creates the configuration for the overlay. */ private createOverlayConfig; /** * Attaches the specified template to the overlay. */ private attachTemplateToOverlay; /** * Sets up listeners for overlay events. */ private setupOverlayListeners; /** * Creates a subject that emits when the dropdown is closed. */ private createAfterClosedSubject; /** * Creates a reference for controlling the dropdown. */ private createModalRef; /** * Closes the dropdown and cleans up. */ private closeModal; /** * Closes all open dropdowns. */ closeAll(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }