import { SmzDialogCustomButton, SmzDialogFeature } from '../../modules/smz-dialogs/models/smz-dialogs';
import { SmzDialogBuilder } from './dialog-builder';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
export declare class SmzDialogButtonsBuilder<TResponse> extends SmzBuilderUtilities<SmzDialogButtonsBuilder<TResponse>> {
    _dialogBuilder: SmzDialogBuilder<TResponse>;
    protected that: this;
    constructor(_dialogBuilder: SmzDialogBuilder<TResponse>);
    custom(name: string): SmzDialogCustomButtonBuilder<TResponse>;
    showCustomFirst(): SmzDialogButtonsBuilder<TResponse>;
    confirm(name?: string): SmzDialogConfirmButtonBuilder<TResponse>;
    cancel(name?: string): SmzDialogCancelButtonBuilder<TResponse>;
    ok(name?: string): SmzDialogOkButtonBuilder<TResponse>;
    close(): SmzDialogCloseButtonBuilder<TResponse>;
    save(name?: string): SmzDialogSaveButtonBuilder<TResponse>;
    topbar(): SmzDialogTopbarButtonBuilder<TResponse>;
    help(): SmzDialogHelpButtonBuilder<TResponse>;
    get dialog(): SmzDialogBuilder<TResponse>;
}
export declare class SmzDialogCustomButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    private button;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>, button: SmzDialogCustomButton<TResponse>);
    dependsOnValidation(): SmzDialogCustomButtonBuilder<TResponse>;
    closeDialog(): SmzDialogCustomButtonBuilder<TResponse>;
    hide(): SmzDialogCustomButtonBuilder<TResponse>;
    setTooltip(tooltip: string): SmzDialogCustomButtonBuilder<TResponse>;
    disable(): SmzDialogCustomButtonBuilder<TResponse>;
    setClass(className: string): SmzDialogCustomButtonBuilder<TResponse>;
    callback(callback: (data: TResponse, features?: SmzDialogFeature[]) => void): SmzDialogCustomButtonBuilder<TResponse>;
    blockUi(successAction: any, erroredAction: any): SmzDialogCustomButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogConfirmButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    hide(): SmzDialogConfirmButtonBuilder<TResponse>;
    dependsOnValidation(): SmzDialogConfirmButtonBuilder<TResponse>;
    setClass(className: string): SmzDialogConfirmButtonBuilder<TResponse>;
    callback(callback: (data: TResponse) => void): SmzDialogConfirmButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogCancelButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    hide(): SmzDialogCancelButtonBuilder<TResponse>;
    setClass(className: string): SmzDialogCancelButtonBuilder<TResponse>;
    callback(callback: () => void): SmzDialogCancelButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogOkButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    hide(): SmzDialogOkButtonBuilder<TResponse>;
    setClass(className: string): SmzDialogOkButtonBuilder<TResponse>;
    dependsOnValidation(): SmzDialogOkButtonBuilder<TResponse>;
    callback(callback: (data: TResponse) => void): SmzDialogOkButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogCloseButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    hide(): SmzDialogCloseButtonBuilder<TResponse>;
    callback(callback: () => void): SmzDialogCloseButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogSaveButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    setClass(className: string): SmzDialogSaveButtonBuilder<TResponse>;
    dependsOnValidation(): SmzDialogSaveButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogTopbarButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    private _button;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    hide(): SmzDialogTopbarButtonBuilder<TResponse>;
    setCallback(callback: () => void): SmzDialogTopbarButtonBuilder<TResponse>;
    setIcon(icon: string): SmzDialogTopbarButtonBuilder<TResponse>;
    setClass(styleClass: string): SmzDialogTopbarButtonBuilder<TResponse>;
    setTooltip(tooltip: string): SmzDialogTopbarButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
export declare class SmzDialogHelpButtonBuilder<TResponse> {
    _dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>;
    private _button;
    private _path;
    private _data;
    private _title;
    constructor(_dialogButtonsBuilder: SmzDialogButtonsBuilder<TResponse>);
    addSourceFromServer(path: string): SmzDialogHelpButtonBuilder<TResponse>;
    addSourceFromAssets(path: string): SmzDialogHelpButtonBuilder<TResponse>;
    addSourceFromCustomData(data: string): SmzDialogHelpButtonBuilder<TResponse>;
    setClass(styleClass: string): SmzDialogHelpButtonBuilder<TResponse>;
    setTitle(title: string): SmzDialogHelpButtonBuilder<TResponse>;
    setTooltip(tooltip: string): SmzDialogHelpButtonBuilder<TResponse>;
    get buttons(): SmzDialogButtonsBuilder<TResponse>;
}
