import { Model, Collection, SetOptions } from './dataModels/backbone'; import { Session } from './session'; import { ColumnDef } from '../types'; export interface TesseractConfig { data?: any[]; columns?: ColumnDef[]; primaryKey?: string; clusterSync?: boolean; defferedDataUpdateTime?: number; id?: string; resolve?: any; persistent?: boolean; } export declare class Tesseract extends Model { id: string; columns: ColumnDef[]; private dataCache; private dataMap; sessions: Collection; idProperty: string; idIndex: number; clusterSync: boolean; persistent: boolean; private secondaryIndexes; private dataIndex; private hasGarbage; private objDef; private defferedDataUpdateTime; private updatedRows; private removedRows; private defferedDataUpdate?; private defferedDataRemove?; refreshData?: Function; refreshTesseract?: Function; private collectGarbage?; resolverFn?: (resolver: any, data: any) => any; constructor(config: TesseractConfig); generateIndex(): void; updateIndex(newData: any, dataHolder: any): void; removeFromIndex(newData: any): void; get(stuff: string): any; createSession(config: any): Session; getTesseract(): Promise; getData(): any[]; getLinq(): any; getCount(): number; getById(id: string): any; add(data: any | any[], disableClusterUpdate?: boolean): Promise; addAsync(data: any | any[], disableClusterUpdate?: boolean): Promise; reset(data?: any[], disableClusterUpdate?: boolean, suppressEvents?: boolean): any[]; update(data: any | any[], disableClusterUpdate?: boolean): Promise; updateAsync(data: any | any[], disableClusterUpdate?: boolean): Promise; remove(data: string[] | string, disableClusterUpdate?: boolean): Promise; removeAsync(data: string | number | Array, disableClusterUpdate?: boolean): Promise; clear(disableClusterUpdate?: boolean | SetOptions, suppressEvents?: boolean): Promise | any; updateColumns(newColumns: ColumnDef[], reset?: boolean): void; refresh(): void; private generateData; generateRow(data: any, columns: ColumnDef[], dataHolder?: any, updateDataMap?: boolean): any; private generateObjDef; returnTree(rootIdValue: any, parentIdField: string, groups?: any): any; getHeader(excludeHiddenColumns?: boolean): any; getSimpleHeader(excludeHiddenColumns?: boolean): any; private clusterAdd; private clusterUpdate; private clusterRemove; destroy(): void; private generateGuid; private clearSessions; } export default Tesseract;