import { CellDataChangedInfo } from '../../../PredefinedConfig/Common/CellDataChangedInfo';
import { Observable } from 'rxjs';
import { IAdaptableService } from './IAdaptableService';
import { GridDataChangedInfo } from '../../../types';
export interface IDataService extends IAdaptableService {
    CreateDataChangedEvent(cellDataChangedInfo: CellDataChangedInfo): void;
    CreateGridChangedEvent(gridDataChangedInfo: GridDataChangedInfo): void;
    on(eventName: 'CellDataChanged', callback: (cellDataChangedInfo: CellDataChangedInfo) => void): () => void;
    readonly dataChangeLog$: Observable<CellDataChangedInfo>;
    readonly gridChangeLog$: Observable<GridDataChangedInfo>;
    logUndoChange(undoChange: CellDataChangedInfo): void;
    extractUndoChange(undoChange: CellDataChangedInfo): CellDataChangedInfo | undefined;
}
