import { MatDialog } from '@angular/material/dialog';
import { type Maybe } from '@dereekb/util';
import { Observable } from 'rxjs';
import { DbxPromptConfirm } from './prompt.confirm';
import { DbxPromptConfirmConfig } from './prompt.confirm.component';
import * as i0 from "@angular/core";
/**
 * Directive that when triggered shows a dialog to accept or reject.
 */
export declare abstract class AbstractPromptConfirmDirective implements DbxPromptConfirm {
    protected readonly matDialog: MatDialog;
    private _currentDialogRef?;
    private _currentDialogPromise?;
    protected abstract getDefaultDialogConfig(): Maybe<DbxPromptConfirmConfig>;
    showDialog(): Observable<boolean>;
    protected showDialogWithConfig(config: Maybe<DbxPromptConfirmConfig>): Observable<boolean>;
    protected _handleDialogResult(result: boolean): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPromptConfirmDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPromptConfirmDirective, never, never, {}, {}, never, never, false, never>;
}
/**
 * Directive that shows a confirmation screen.
 */
export declare class DbxPromptConfirmDirective extends AbstractPromptConfirmDirective {
    readonly dbxPromptConfirm: import("@angular/core").InputSignal<Maybe<DbxPromptConfirmConfig>>;
    protected getDefaultDialogConfig(): Maybe<DbxPromptConfirmConfig>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxPromptConfirmDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DbxPromptConfirmDirective, "[dbxPromptConfirm]", never, { "dbxPromptConfirm": { "alias": "dbxPromptConfirm"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
