import { DataColumnDescriptor, DataColumnList } from './data_column'; import { DataRow } from './data_row'; import { DataLoader } from './data_loader'; export interface EasyDataTableOptions { chunkSize?: number; elasticChunks?: boolean; inMemory?: boolean; loader?: DataLoader; columns?: DataColumnDescriptor[]; rows?: any[]; onUpdate?: (table?: EasyDataTable) => void; } type GetRowsPageParams = { page: number; pageSize: number; }; type GetRowsOffsetParams = { offset: number; limit?: number; }; export type GetRowsParams = GetRowsPageParams | GetRowsOffsetParams; export declare class EasyDataTable { /** The unique ID of the data table */ id: string; private _chunkSize; private _elasticChunks; private _columns; private cachedRows; private total; private loader?; private needTotal; private isInMemory; private onUpdate?; constructor(options?: EasyDataTableOptions); get columns(): DataColumnList; get chunkSize(): number; set chunkSize(value: number); get elasticChunks(): boolean; set elasticChunks(value: boolean); getRows(params?: GetRowsParams): Promise>; getRow(index: number): Promise; getTotal(): number; setTotal(total: number): void; getCachedCount(): number; clear(): void; protected createRow(dataOrRow?: DataRow | any): DataRow; private mapDate; addRow(rowOrValues: any[] | DataRow): DataRow; getCachedRows(): DataRow[]; totalIsKnown(): boolean; fireUpdated(): void; } export {};