import { OnDestroy, OnInit } from '@angular/core';
import { DialogOpenStartEvent } from '../dialog-types';
import { DialogService } from '../dialog.service';
import * as i0 from "@angular/core";
export declare class DialogGroupComponent implements OnInit, OnDestroy {
    private dialogService;
    activeDialogEvents: DialogOpenStartEvent<any>[];
    private destroyed;
    constructor(dialogService: DialogService);
    /**When the group component is created, start watching for any DialogOpenStart events
     * so that the group can react and make the matching dialog. New dialogs get assigned unique
     * eventIds so that when they close we know exactly which one is done and we can take it
     * out of the list of active dialogs
     */
    ngOnInit(): void;
    /** When the dialog group is destroyed we no longer want to listen for any open events. */
    ngOnDestroy(): void;
    /**The dialog component completed opening (including animation delay) and
     * emits an event that tells us it is ready. The group can then pump out a dialog
     * openEnd event (kinda NavigationEnd in the router) to tell anybody who cares that
     * the dialog is now ready.
     */
    dialogOpened(dialogOpenEvent: DialogOpenStartEvent<any>, dialogId: string): void;
    /** The dialog has closed (after animation delay) and emitted an event to tell the hosting component.
     * We handle the event and pump a matching DialogCloseEvent so that anybody who cares can know that the
     * dialog instance referenced by dialogOpenEvent.eventId is gone now. We remove it from our list of
     * active dialogs which pulls it out of the DOM too
     */
    dialogClosed(dialogOpenEvent: DialogOpenStartEvent<any>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DialogGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DialogGroupComponent, "ec-dialog-group", never, {}, {}, never, never, false, never>;
}
