import { EventEmitter, OnInit } from '@angular/core';
import { FormGroup, ValidatorFn } from '@angular/forms';
import { ButtonType } from '../../controls/button/button.component';
import { TextboxType } from '../../controls/textbox/textbox.component';
import { DialogContent } from '../dialog/dialog-content';
export declare class ConfirmDialogContext {
    /** Id to distinguish between confirm component contexts emitted by the dialog service */
    id: string;
    /** Optional title of the confirm */
    title?: string;
    /** Optional message */
    message?: string;
    /** Optional textbox type, this will determine whether
     *  an input is visible or not
     */
    textboxType?: TextboxType;
    /** Optional textbox label */
    textboxLabel?: string;
    /** Optional required flag for the textbox, will set
     *  a validator on the input if true
     */
    textboxRequired?: boolean;
    /** Optional array of validators to add to the textbox form control. */
    textboxValidators?: ValidatorFn[];
    /** Sets the textbox's uppercase parameter */
    textboxUppercase?: boolean;
    /** Optional error message to display when textbox */
    validationErrorMessage?: string;
    /** Value returned from the input if enabled */
    textboxValue?: string;
    /** Optional save button label */
    saveLabel?: string;
    /** Optional save button type */
    saveButtonType?: ButtonType;
    /** Optional cancel button label */
    cancelLabel?: string;
    /** When true, adds the submit tag to the save button so hitting enter triggers the save */
    saveOnEnter?: boolean;
}
export declare class ConfirmComponent implements OnInit, DialogContent<ConfirmDialogContext> {
    dialogId: string;
    /** Form Group to hold any form controls needed */
    formGroup: FormGroup;
    /** Provided by the calling component to tell the confirm what to show
     *  and is used on save to send back any entered values from the user
     */
    context: ConfirmDialogContext;
    onDialogSave: EventEmitter<ConfirmDialogContext>;
    onDialogCancel: EventEmitter<void>;
    onOpen(openContext?: ConfirmDialogContext): void;
    /** Error to be displayed in the error banner */
    error?: string;
    constructor();
    ngOnInit(): void;
    onSave(): void;
    onCancel(): void;
    /** Adds the textbox form control to our form group if its configured to be visible
     *  Will also add the required validator if requested
     */
    private addFormControls;
}
