import { DialogRef, MessageService, NotificationService } from '@alauda/ui';
import { EventEmitter, OnDestroy, TemplateRef } from '@angular/core';
import { BehaviorSubject, Subject } from 'rxjs';
import { ConfirmDeleteData, DeleteResourceApi, DeleteType } from './utils';
import * as i0 from "@angular/core";
export declare class ConfirmDeleteTipDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDeleteTipDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ConfirmDeleteTipDirective, "[aclConfirmDeleteTip]", never, {}, {}, never, never, true, never>;
}
export declare class ConfirmDeleteContentDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDeleteContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ConfirmDeleteContentDirective, "[aclConfirmDeleteContent]", never, {}, {}, never, never, true, never>;
}
export declare class ConfirmDeleteLabelDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDeleteLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ConfirmDeleteLabelDirective, "[aclConfirmDeleteLabel]", never, {}, {}, never, never, true, never>;
}
export declare class ConfirmDeleteComponent<P = unknown, R = unknown> implements ConfirmDeleteData<P, R>, OnDestroy {
    private readonly message;
    private readonly notification;
    private readonly dialogRef?;
    data?: ConfirmDeleteData<P, R>;
    context?: unknown;
    type: DeleteType;
    title: string;
    resourceName: string | string[];
    deleteTips?: string;
    confirmTips?: string;
    extraConfirmTips?: string;
    confirmText?: string;
    deleteResourceApi: DeleteResourceApi<P, R>;
    deleteResourceParams?: P;
    deleteSuccessMsg: string;
    deleteFailMsg: string;
    close: EventEmitter<R>;
    deleteTipTemplate: TemplateRef<any>;
    contentTemplate: TemplateRef<any>;
    labelTemplate: TemplateRef<any>;
    inputValue: string;
    inputValue$$: BehaviorSubject<string>;
    deleting$$: BehaviorSubject<boolean>;
    disabled$: import("rxjs").Observable<boolean>;
    destroy$$: Subject<void>;
    constructor(message: MessageService, notification: NotificationService, dialogRef?: DialogRef<ConfirmDeleteComponent<P, R>, R>, data?: ConfirmDeleteData<P, R>);
    ngOnDestroy(): void;
    onConfirm(): void;
    closeDialog(result?: R): void;
    private resolveData;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmDeleteComponent<any, any>, [null, null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmDeleteComponent<any, any>, "acl-confirm-delete", never, { "context": { "alias": "context"; "required": false; }; "type": { "alias": "type"; "required": false; }; "title": { "alias": "title"; "required": false; }; "resourceName": { "alias": "resourceName"; "required": false; }; "deleteTips": { "alias": "deleteTips"; "required": false; }; "confirmTips": { "alias": "confirmTips"; "required": false; }; "extraConfirmTips": { "alias": "extraConfirmTips"; "required": false; }; "confirmText": { "alias": "confirmText"; "required": false; }; "deleteResourceApi": { "alias": "deleteResourceApi"; "required": false; }; "deleteResourceParams": { "alias": "deleteResourceParams"; "required": false; }; "deleteSuccessMsg": { "alias": "deleteSuccessMsg"; "required": false; }; "deleteFailMsg": { "alias": "deleteFailMsg"; "required": false; }; }, { "close": "close"; }, ["deleteTipTemplate", "contentTemplate", "labelTemplate"], never, true, never>;
}
