import { Grid } from '../core'; export interface IGridDataResult { value: T; formatted: string; } export interface IGridDataChangeBody { value: T; formatted?: string; } export interface IGridDataChange extends IGridDataChangeBody { row: number; col: number; paste?: boolean; } export interface IDataModel { isDirty(): boolean; setDirty(): void; handleCachedDataChange(): void; get(dataRow: number, dataCol: number, isCopy?: boolean): IGridDataResult; getHeader(virtualRow: number, virtualCol: number): IGridDataResult; set(dataRow: number, dataCol: number, value: any): void; set(changes: Array>): void; toggleSort?(c: number): void; } export declare type RowLoader = (dataRow: number[]) => void; export declare function create(grid: Grid, loadRows?: RowLoader): IDataModel; export default create;