import { FirestoreField } from "./types"; interface ProcessOptions { id: string; fieldDependencyArray?: string[]; shouldBackfill?: (data: Record) => boolean; errorFn?: (e: unknown) => string | void | Promise; batchSize?: number; batchFn?: (data: Record[]) => Promise[]>; shouldProcess?: (oldData: Record, newData: Record) => boolean; } type ProcessFunction = (data: Record) => Record | Promise>; type ShouldBackfillFunction = (data: Record) => boolean; type ErrorFunction = (e: unknown) => string | void | Promise; type BatchFunction = (data: Record[]) => Promise[]>; type ShouldOnWriteProcessFunction = (oldData: Record, newData: Record) => boolean; export declare class Process { readonly processFn: ProcessFunction; readonly id: string; readonly fieldDependencyArray: string[]; readonly batchSize?: number; readonly shouldBackfill?: ShouldBackfillFunction; readonly errorFn: ErrorFunction; readonly batchFn?: BatchFunction; readonly shouldProcessFn?: ShouldOnWriteProcessFunction; constructor(processFn: ProcessFunction, options: ProcessOptions); batchProcess(data: Record[]): Promise[]>; shouldProcess(oldData: Record, newData: Record): boolean; } export {};