import { IAdaptableService } from './IAdaptableService';
import { IRowNode } from 'ag-grid-enterprise';
import { AdaptableCalculatedColumnQuery, CalculatedColumn, CalculatedColumnSettings } from '../../../AdaptableState/CalculatedColumnState';
import { CellDataChangedInfo } from '../../../AdaptableState/Common/CellDataChangedInfo';
import { RowDataChangedInfo } from '../../../AdaptableState/Common/RowDataChangedInfo';
export interface ICalculatedColumnExpressionService extends IAdaptableService {
    isCalculatedColumnQueryValid(calculatedColumnQuery: AdaptableCalculatedColumnQuery): boolean;
    evaluateCalculatedColumnQuery(calculatedColumn: CalculatedColumn, rowNode: IRowNode): any;
    getCalculatedColumnDataType(calculatedColumnQuery: AdaptableCalculatedColumnQuery): CalculatedColumnSettings['DataType'];
    createAggregatedScalarLiveValue(calculatedColumn: CalculatedColumn): void;
    destroyAggregatedScalarLiveValue(calculatedColumn: CalculatedColumn): void;
    listentoCellDataChange(cellDataChangedInfo: CellDataChangedInfo): void;
    listentoRowDataChange(rowDataChangedInfo: RowDataChangedInfo): void;
    buildSyntheticCellDataChangedInfosForCalcColumns(cellDataChangedInfo: CellDataChangedInfo): CellDataChangedInfo[];
}
