///
///
import { IDisplayNameProvider, IDisplayedValue, IItemsProvider } from '@devexpress/analytics-core/analytics-utils';
import { IExpressionOptions } from '@devexpress/analytics-core/analytics-widgets';
import * as ko from 'knockout';
import { DataSourceBrowser } from '../../common/_data-source-browser';
import { CalculatedField } from '../../model/data-sources/calculated-field';
export declare class CalcFieldEditor {
private dataSourceBrowser;
viewModel: ko.Observable;
constructor(dataSourceBrowser: DataSourceBrowser);
canAddCalculatedField(dataSourceName: string): boolean;
showAddDialog(dataSourceName: string, dataMemberName: string): JQuery.Promise;
showEditDialog(calculatedField: CalculatedField, dataSourceName: string, dataMemberName: string): JQueryPromise;
removeCalcField(calculatedField: CalculatedField, dataSourceName: string): JQueryPromise;
private show;
}
export declare class CalcFieldEditorViewModel {
toolbarItems: any[];
expressionEditable: IExpressionOptions;
itemsProvider: IItemsProvider;
displayNameProvider?: IDisplayNameProvider;
saveHandler?: ko.Observable<(callback: {
(): void;
}) => void>;
getInfo: Function;
nameValidationRules: Array;
calculatedField: CalculatedField;
dataMember: ko.Observable;
fieldType: ko.Observable;
availableTypes: IDisplayedValue[];
name: ko.Observable;
expression: ko.Observable;
isCalcFieldNameValid: ko.Observable;
popupVisible: ko.Observable;
onResize: ko.Observable<() => void>;
resizeAceEditor(): void;
getKeyLocalizationPair(values: any): IDisplayedValue[];
constructor(calculatedField: CalculatedField, dataSourceBrowser: DataSourceBrowser, dataSourceName: string, onSave: (calcField: CalculatedField) => void, onBeforeSave?: () => void);
}