import { IChangeSet } from './IChangeSet'; import { ICacheUpdater } from './ICacheUpdater'; import { ISourceUpdater } from './ISourceUpdater'; import { ChangeSet } from './ChangeSet'; export declare class ReaderWriter { private readonly _keySelector?; private _data; private _activeUpdater?; private readonly _deepEqual; constructor(deepEqual: boolean); constructor(keySelector?: (object: TObject) => TKey, deepEqual?: boolean); write(changes: IChangeSet | ((updater: ICacheUpdater) => void) | ((updater: ISourceUpdater) => void), previewHandler: ((changes: ChangeSet) => void) | undefined, collectChanges: boolean): ChangeSet; private doUpdate; /** * @internal **/ writeNested(updateAction: ((updater: ICacheUpdater) => void) | ((updater: ISourceUpdater) => void)): void; getInitialUpdates(filter?: (value: TObject) => boolean): ChangeSet; get keys(): TKey[]; get entries(): [TKey, TObject][]; get values(): TObject[]; lookup(key: TKey): TObject | undefined; get size(): number; }