import { ValidationController } from 'aurelia-validation';
import { ServiceBase } from '../data/service-base';
import * as breeze from 'breeze-client';
import { Router } from 'aurelia-router';
import { CustomLogger } from '../modules/custom-logger';
import { ListViewModelBase } from './list-view-model-base';
export declare abstract class EditableListViewModelBase<T extends breeze.Entity> extends ListViewModelBase<T> {
    constructor(router: Router, logger: CustomLogger, serviceInstance: ServiceBase<T>);
    hasChanges: boolean;
    hasChangesSubscriptionKey: number;
    isSaving: boolean;
    selectedItem: T;
    get canSave(): boolean;
    controller: ValidationController;
    deactivate(): void;
    save(silentSave?: boolean, byPassLocking?: boolean, navigateBack?: boolean): Promise<any>;
    protected undo(): void;
    protected redo(): void;
    private innerSave;
}
