import { ComponentRef, TemplateRef } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { JustProps } from './types'; declare type GuardFN = (result?: R) => Observable | Promise | boolean; export declare abstract class BllDialogRef | TemplateRef = ComponentRef | TemplateRef> { ref: Ref; id: string; data: Data; backdropClick$: Observable; afterClosed$: Observable; abstract close(result?: Result): void; abstract beforeClose(guard: GuardFN): void; } export declare class InternalDialogRef extends BllDialogRef { backdropClick$: Subject; beforeCloseGuards: GuardFN[]; constructor(props?: Partial>); onClose: (result?: unknown) => void; close(result?: unknown): void; beforeClose(guard: GuardFN): void; canClose(result: unknown): Observable; mutate(props: Partial): void; asDialogRef(): BllDialogRef; } export {};