import { CellDataChangedInfo } from '../../../AdaptableState/Common/CellDataChangedInfo';
import { Observable } from 'rxjs';
import { IAdaptableService } from './IAdaptableService';
import { RowDataChangedInfo } from '../../../types';
export interface IDataService extends IAdaptableService {
    CreateCellDataChangedEvent(cellDataChangedInfo: CellDataChangedInfo): void;
    CreateRowDataChangedEvent(rowDataChangedInfo: RowDataChangedInfo): void;
    on(eventName: 'CellDataChanged', callback: (cellDataChangedInfo: CellDataChangedInfo) => void): () => void;
    on(eventName: 'RowDataChanged', callback: (rowDataChangedInfo: RowDataChangedInfo) => void): () => void;
    readonly cellDataChangeLog$: Observable<CellDataChangedInfo>;
    readonly rowDataChangeLog$: Observable<RowDataChangedInfo>;
    logUndoChange(undoChange: CellDataChangedInfo): void;
    extractUndoChange(undoChange: CellDataChangedInfo): CellDataChangedInfo | undefined;
}
