import { IndexableType } from "dexie"; import { BulkSyncSettings } from "../BulkSyncSettings.js"; import { Middleware, Request } from "./Middleware.js"; type KeyChange = { keyFrom: IndexableType; keyTo: IndexableType; }; export type RecordsToUpdate = { keyChanges: KeyChange[]; values: TRecordClass[]; }; export declare class UpdateMiddleware extends Middleware { handle(request: Request): Promise; protected getRecordsToUpdate(settings: BulkSyncSettings, currentRecords: TRecordClass[], newRecords: TRecordClass[]): RecordsToUpdate; protected shouldUpdate(settings: BulkSyncSettings, currentData: TRecordClass, updatedData: TRecordClass): boolean; protected filterUpdateableFields(settings: BulkSyncSettings, newData: TRecordClass | null): TRecordClass; protected findEquivalentInList(settings: BulkSyncSettings, originalRecord: TRecordClass, list: TRecordClass[]): TRecordClass | null; protected makeKeyChange(recordFrom: TRecordClass, recordTo: TRecordClass): KeyChange | null; protected updateKeys(keyChanges: KeyChange[], primaryKeyName: string): Promise; } export {}; //# sourceMappingURL=UpdateMiddleware.d.ts.map