import { BehaviorSubject } from 'rxjs'; import { GridOptions, IGridDataEntry } from '../models'; /** * @ignore * @internal */ type PropertyMap = { [Key in keyof T]?: PropertyMap; }; type StringOrNumberKeyOf = keyof T & (string | number); /** * The data manager increases rendering performance drastically updating the dataset. * By updating the references directly (when having set useCache: true – default: false) * * the renderer will update the invidivual cells rather than redraw the entire row * * increasing / decreasing data count will result in less node insertion / removal * * @export * @ignore * @internal */ export declare class DataManager = StringOrNumberKeyOf> { useCache: boolean; idProperty: K; get length(): number; pristine: boolean; data$: BehaviorSubject; getProperty: { (object: TObject, path: TKey | [TKey]): TObject[TKey]; (object: TObject_1 | null | undefined, path: TKey_1 | [TKey_1]): TObject_1[TKey_1] | undefined; (object: TObject_2 | null | undefined, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude; (object: TObject_3, path: [TKey1, TKey2]): TObject_3[TKey1][TKey2]; (object: TObject_4 | null | undefined, path: [TKey1_1, TKey2_1]): TObject_4[TKey1_1][TKey2_1] | undefined; (object: TObject_5 | null | undefined, path: [TKey1_2, TKey2_2], defaultValue: TDefault_1): TDefault_1 | Exclude; (object: TObject_6, path: [TKey1_3, TKey2_3, TKey3]): TObject_6[TKey1_3][TKey2_3][TKey3]; (object: TObject_7 | null | undefined, path: [TKey1_4, TKey2_4, TKey3_1]): TObject_7[TKey1_4][TKey2_4][TKey3_1] | undefined; (object: TObject_8 | null | undefined, path: [TKey1_5, TKey2_5, TKey3_2], defaultValue: TDefault_2): TDefault_2 | Exclude; (object: TObject_9, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_9[TKey1_6][TKey2_6][TKey3_3][TKey4]; (object: TObject_10 | null | undefined, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_10[TKey1_7][TKey2_7][TKey3_4][TKey4_1] | undefined; (object: TObject_11 | null | undefined, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude; (object: import("lodash").NumericDictionary, path: number): T_1; (object: import("lodash").NumericDictionary | null | undefined, path: number): T_2 | undefined; (object: import("lodash").NumericDictionary | null | undefined, path: number, defaultValue: TDefault_4): T_3 | TDefault_4; (object: null | undefined, path: import("lodash").PropertyPath, defaultValue: TDefault_5): TDefault_5; (object: null | undefined, path: import("lodash").PropertyPath): undefined; (object: any, path: import("lodash").PropertyPath, defaultValue?: any): any; }; private _hashMap; constructor(options?: GridOptions); forEach: (callbackfn: (value: T, index: number, array: T[]) => void) => void; some: (callbackfn: (value: T, index: number, array: T[]) => boolean) => boolean; every: (callbackfn: (value: T, index: number, array: T[]) => boolean) => boolean; indexOf(entry: T): number; find: (entryId: R) => T | undefined; get: (index: number) => T; patchRow(id: T[K], patch: PropertyMap): void; update(data: T[] | null): void; destroy(): void; hashTrack: (_: number | undefined | null, entry: T) => string | T[K] | undefined; private _hash; private _emit; } export {};