import { DataSource } from '../input';
export type DiffSinceLastTransformWithoutId = null;
export type DiffSinceLastTransformWithId = {
    toUpsert: DataSource[];
    toDelete: FingerprintToDelete[];
};
export type DiffSinceLastTransform = DiffSinceLastTransformWithId | DiffSinceLastTransformWithoutId;
export type Fingerprint = {
    sourceId: string;
    hash?: string;
};
export type FingerprintToDelete = {
    sourceId: string;
};
export declare const diffSinceLastTransform: (idKey: string, fingerprints: Fingerprint[]) => (sourceItems: DataSource[]) => DiffSinceLastTransform;
export declare const fingerprintsFrom: (sourceItems: DataSource[], idKey: string) => Fingerprint[];
export declare const updateFingerprints: (fingerprints: Fingerprint[], nextFingerprints: Fingerprint[], fingerprintToDelete?: FingerprintToDelete[]) => Fingerprint[];
export declare const canTransform: (diff: DiffSinceLastTransform) => diff is DiffSinceLastTransformWithId;
//# sourceMappingURL=diff-since-last-transform.d.ts.map