import { Db } from './Db'; import { DbPatch, DbTablesSet, DbSaveResponse, DbView, DbSubscription } from './types'; import { IClientIdsMap } from './tempIds'; import { Loader, LoaderOptions } from './Loader'; import { DataQuery } from '@epam/uui-core'; import { ListLoadingTrackerOptions } from './ListLoadingTracker'; export declare class DbRef, TDb extends Db> { blank: TDb; private base; private log; private autoSave; private savedPoint; private tempIdMap; db: TDb; protected throttleSaveMs: number; readonly idMap: IClientIdsMap; constructor(blank: TDb); /** Saves all committed patches. Useful only if autoSave is off. */ save(): Promise; getAutoSave(): boolean; setAutoSave(val: boolean): void; revert(): void; /** Concrete DbRef instances should override and implement their save logic in this method */ protected savePatch(patch: DbPatch): Promise>; commit(patch: DbPatch): void; private beforeUpdate; commitFetch(patch: DbPatch): void; private rebase; private makeCumulativePatch; private applyResponse; private lastSubscriptionId; private subscriptions; subscribe(view: DbView, params: TParams, onUpdate: (newValue: TValue) => any): DbSubscription; updateHandlers: (() => any)[]; onUpdate(handler: () => any): void; private update; saveErrorHandlers: ((request: DbPatch, error: any) => void)[]; onSaveError(handler: (request: DbPatch, error: any) => void): void; private saveError; private enqueueSave; private handleBeforeUnload; loaders: Loader[]; protected makeLoader(options: LoaderOptions): Loader; protected makeListLoader, TRequest extends DataQuery = DataQuery>(options: LoaderOptions & ListLoadingTrackerOptions): Loader; reload(): void; } //# sourceMappingURL=DbRef.d.ts.map