import { signal, Type } from '@angular/core'; import * as i0 from "@angular/core"; export interface DialogConfig { /** Data passed to the dialog content component via the `dialogData` input. */ data?: D; /** Whether clicking the backdrop closes the dialog. Defaults to true. */ closeOnBackdrop?: boolean; /** Additional CSS class(es) to apply to the dialog panel. */ panelClass?: string | string[]; /** ARIA label for the dialog (for screen readers). */ ariaLabel?: string; /** Max width of the dialog panel (CSS value). Defaults to '560px'. */ maxWidth?: string; } export interface DialogRef { /** Emits the result value and removes the dialog from the DOM. */ close(result?: R): void; /** Signal that resolves with the result once the dialog closes. */ readonly closed: ReturnType>; } /** * DialogService — programmatically opens Angular components inside a floating * overlay without requiring NgModule or z-index hacks. * * Usage: * ```ts * const ref = this.dialog.open(MyFormComponent, { data: { id: 42 } }); * ref.closed(); // reactive signal — undefined until dialog closes * ``` */ export declare class DialogService { private appRef; private injector; private platformId; open(component: Type, config?: DialogConfig): DialogRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }