import { ComponentRef, TemplateRef } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { DialogConfig, GlobalDialogConfig, JustProps, GuardTrigger } from './types'; import { DragOffset } from './draggable.directive'; type GuardFN = (result?: R) => Observable | Promise | boolean; export declare abstract class DialogRef | TemplateRef = ComponentRef | TemplateRef> { ref: Ref; data: Data; id: string; backdropClick$: Observable; afterClosed$: Observable; abstract close(result?: Result): void; abstract beforeClose(guard: GuardFN): void; abstract resetDrag(offset?: DragOffset): void; abstract updateConfig(config: Partial): void; } type InternalDialogRefProps = Partial, 'id' | 'data'> & Pick>; export declare class InternalDialogRef extends DialogRef { config: DialogConfig & GlobalDialogConfig; backdropClick$: Subject; beforeCloseGuards: GuardFN[]; onClose: (result?: unknown) => void; onReset: (offset?: DragOffset) => void; private activeGuardTrigger?; constructor(props?: InternalDialogRefProps); close(result?: unknown, action?: GuardTrigger): void; beforeClose(guard: GuardFN): void; resetDrag(offset?: DragOffset): void; canClose(result: unknown): Observable; private shouldRunGuards; mutate(props: InternalDialogRefProps): void; updateConfig(config: Partial): void; asDialogRef(): DialogRef; } export {};