import { RpcAlert, RpcAlertSeverity } from '@microsoft/windows-admin-center-sdk/core/rpc/dialog/rpc-dialog-model';
import { Subject } from 'rxjs';
import { ValidationAlert } from '../../form';
import { BaseDialogComponent, DialogOptions, DialogResult } from '../base-dialog.component';
import { DialogCloseReason } from '../dialog.component';
import { DialogService } from '../dialog.service';
import { MessageDialogLink } from '../message-dialog/message-dialog.component';
import * as i0 from "@angular/core";
/**
 * The confirmation dialog options.
 */
export interface ConfirmationDialogOptions extends DialogOptions {
    /**
     * The text for the dialog cancel button.
     */
    cancelButtonText: string;
    /**
     * The text for the dialog checkbox.
     */
    checkboxText?: string;
    /**
     * The text for the doubleCheck checkbox
     */
    doubleCheckText?: string;
    /**
     * The text for the dialog confirm button.
     */
    confirmButtonText: string;
    /**
     * The message of the dialog body.
     */
    message: string;
    /**
     * The title of the dialog.
     */
    title: string;
    /**
     * (Optional) The link to open referenced information on new tab.
     */
    externalLink?: MessageDialogLink;
    /**
     * If the dialog is opened from Rpc
     */
    isFromRpc?: boolean;
    /**
     * The alert of the dialog.
     */
    alert?: RpcAlert;
    /**
     * Set an RpcAlertSeverity value to show a critical or warning button color.
     */
    alertButtonStyle?: RpcAlertSeverity;
}
/**
 * The confirmation dialog result.
 */
export interface ConfirmationDialogResult extends DialogResult {
    /**
     * The result of the dialog confirmation.
     */
    confirmed: boolean;
    /**
     * The result of the dialog checkbox.
     */
    checkboxResult?: boolean;
}
/**
 * The Confirmation Dialog Component
 * @deprecated since 02/20/18. Please use AppContextService.frame.showDialogConfirmation instead
 */
export declare class ConfirmationDialogComponent extends BaseDialogComponent<ConfirmationDialogOptions, ConfirmationDialogResult> {
    alertButtonStyle: RpcAlertSeverity;
    cancelButtonText: string;
    checkboxText: string;
    doubleCheckText: string;
    checked: boolean;
    confirmButtonText: string;
    message: string;
    title: string;
    externalLink: MessageDialogLink;
    alert: ValidationAlert;
    /**
     *  false value disables confirm button
     */
    doubleChecked: any;
    /**
     * Initializes a new instance of the ConfirmationDialogComponent class.
     */
    constructor(dialogService: DialogService);
    /**
     * handler for when a close is requested
     * this override cancels the confirmation when requested to close
     * @param reason - reason for the close following DialogCloseReason
     */
    closeRequested(reason: DialogCloseReason): void;
    /**
     * Shows the dialog.
     *
     * @param options The options for the dialog.
     * @return The dialog result subject.
     */
    show(options: ConfirmationDialogOptions): Subject<ConfirmationDialogResult>;
    get isCritical(): boolean;
    get isWarning(): boolean;
    /**
     * The method to call when the confirm button is clicked.
     */
    onConfirm(): void;
    /**
     * The method to call when the cancel button is clicked.
     */
    onCancel(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfirmationDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfirmationDialogComponent, "sme-confirmation-dialog", never, {}, {}, never, never, false, never>;
}
