import { ServiceBase } from './../../data/service-base';
import { UIInput } from './../../ui/forms/ui-input';
import { Router } from 'aurelia-router';
import { DialogController } from 'aurelia-dialog';
import { ValidationController } from 'aurelia-validation';
import { InlineViewStrategy, ViewEngine, ViewResources } from 'aurelia-framework';
import * as breeze from 'breeze-client';
import { ActionDialogBoxInputParameters } from './../../model/common-model';
export interface ListDialogResultsInterface {
    operation: string;
    selectedEntities: any[];
}
export interface DialogBoxInputParameters {
    message: string;
    title?: string;
    actions?: Array<ActionDialogBoxInputParameters>;
    dialogType?: CustomDialogType;
    editVm?: any;
    input?: string;
    select?: number | Array<number>;
    icon?: string;
    content?: string;
    canSave?: boolean;
    required: boolean;
    isTranslated: boolean;
    service: ServiceBase<breeze.Entity>;
    optionsText: string;
    optionsValue: string;
    isMultiple: boolean;
    position: 'left' | 'right';
    size: string;
}
export declare enum CustomDialogType {
    Error = 0,
    Question = 1,
    Warning = 2,
    Notification = 3,
    Edit = 4,
    Input = 5,
    RichText = 6,
    Select = 7,
    Custom = 8
}
export declare class DialogBoxViewModel {
    private _controller;
    private valController;
    private router;
    private viewEngine;
    private viewResources;
    inputParams: DialogBoxInputParameters;
    customVM: any;
    input: string;
    select: number | Array<number>;
    inputField: UIInput;
    private config;
    private defaultAction;
    private i18n;
    get controller(): DialogController;
    get lock(): boolean;
    constructor(_controller: DialogController, valController: ValidationController, router: Router, viewEngine: ViewEngine, viewResources: ViewResources);
    activate(config: DialogBoxInputParameters): void;
    attached(): void;
    detached(): void;
    private handleShortcutsEvent;
    protected handleShortcuts(event: KeyboardEvent): Promise<boolean>;
    cancel(): Promise<void>;
    saveEntity(): Promise<void>;
    selectOption(dialogResult: any): void;
    selectAction(action: ActionDialogBoxInputParameters): Promise<void>;
    goTo(url: string): void;
    getViewStrategy(): InlineViewStrategy | string;
    private errorView;
    private warningView;
    private questionView;
    private notificationView;
    private editView;
    private inputView;
    private richtextView;
    private selectView;
    private customView;
}
