import { StorageRegistry } from "@worldbrain/storex";
import { ClientSyncLogCreationEntry, ClientSyncLogDeletionEntry, ClientSyncLogModificationEntry } from "../client-sync-log/types";
import { ReconcilerFunction } from "./types";
declare type CollectionModifications = {
    [pk: string]: ObjectModifications;
};
interface ObjectModifications {
    shouldBeCreated: boolean;
    createdOn?: number;
    isDeleted: boolean;
    shouldBeDeleted: boolean;
    fields: {
        [field: string]: FieldModification;
    };
}
declare type FieldModification = {
    createdOn: number;
    syncedOn?: number;
    value: any;
};
export declare const reconcileSyncLog: ReconcilerFunction;
export declare function _processCreationEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: {
    objectModifications: ObjectModifications;
    logEntry: ClientSyncLogCreationEntry;
    collectionModifications: CollectionModifications;
    pkAsJson: any;
}): void;
export declare function _processDeletionEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: {
    objectModifications: ObjectModifications;
    logEntry: ClientSyncLogDeletionEntry;
    collectionModifications: CollectionModifications;
    pkAsJson: any;
}): void;
export declare function _processModificationEntry({ objectModifications, logEntry, collectionModifications, pkAsJson }: {
    objectModifications: ObjectModifications;
    logEntry: ClientSyncLogModificationEntry;
    collectionModifications: CollectionModifications;
    pkAsJson: any;
}): void;
export declare function _processModifications({ objectModifications, collection, pk, storageRegistry }: {
    objectModifications: ObjectModifications;
    collection: string;
    pk: any;
    storageRegistry: StorageRegistry;
}): any[];
export {};
