import { OnInit } from '@angular/core';
import { Subject } from 'rxjs';
import { ValidationAlert } from '../../form/validation-alert/validation-alert';
import { BaseDialogComponent, DialogOptions, DialogResult } from '../base-dialog.component';
import { DialogCloseReason } from '../dialog.component';
import { DialogService } from '../dialog.service';
import * as i0 from "@angular/core";
/**
 * The choice dialog options.
 */
export interface ChoiceDialogOptions extends DialogOptions {
    /**
     * The text for the dialog cancel button.
     */
    cancelButtonText: string;
    /**
     * The choices of the
     */
    choices: {
        name: string;
        value: any;
    }[];
    /**
     * The text for the dialog confirm button.
     */
    confirmButtonText: string;
    /**
     * The text at the bottom of the dialog content.
     */
    footnote: string;
    /**
     * The message of the dialog body.
     */
    message: string;
    /**
     * The title of the dialog.
     */
    title: string;
}
/**
 * The choice dialog result.
 */
export interface ChoiceDialogResult extends DialogResult {
    /**
     * The result of the dialog confirmation.
     */
    confirmed: boolean;
    /**
     * The result of the dialog checkbox.
     */
    choice: {
        name: string;
        value: any;
    };
}
/**
 * The Choice Dialog Component
 * @deprecated since 02/20/18. Please use AppContextService.frame.showDialogChoice instead
 */
export declare class ChoiceDialogComponent extends BaseDialogComponent<ChoiceDialogOptions, ChoiceDialogResult> implements OnInit {
    /**
     * The cancel button text.
     */
    cancelButtonText: string;
    /**
     * The choices to display.
     */
    choices: {
        name: string;
        value: any;
    }[];
    /**
     * The confirm button text.
     */
    confirmButtonText: string;
    /**
     * The footnote.
     */
    footnoteAlert: ValidationAlert;
    /**
     * The message.
     */
    message: string;
    /**
     * The selected choice.
     */
    selection: any;
    /**
     * The title.
     */
    title: string;
    /**
     * Initializes a new instance of the ConfirmationDialogComponent class.
     */
    constructor(dialogService: DialogService);
    /**
     * The method called after the component inputs are set.
     */
    ngOnInit(): void;
    /**
     * 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;
    /**
     * The method to call when the confirm button is clicked.
     */
    onConfirm(): void;
    /**
     * The method to call when the cancel button is clicked.
     */
    onCancel(): void;
    /**
     * Shows the dialog.
     *
     * @param options The options for the dialog.
     * @return The dialog result subject.
     */
    show(options: ChoiceDialogOptions): Subject<ChoiceDialogResult>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChoiceDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChoiceDialogComponent, "sme-choice-dialog", never, {}, {}, never, never, false, never>;
}
