import ImportRecord from './ImportRecord'; import { ImportProgress } from './PushElement'; import { MetricsTracker } from './MetricsTracker'; export default class ImportProcessor { private readonly records; private readonly throttle; private readonly meta; private readonly progressIndicator; private readonly recordCallback?; private readonly importCallback?; private readonly metricsTracker?; private readonly merging; private stopSignal; private readonly importStopwatch?; constructor(records: ImportRecord[], throttle: boolean | number, meta: any, progressIndicator: ImportProgress, recordCallback?: ((record: ImportRecord, meta: any) => any) | undefined, importCallback?: ((records: ImportRecord[], meta: any) => any) | undefined, metricsTracker?: MetricsTracker | undefined); process(): Promise; stop(): void; /** * Update the progress indicator based on the rejection status of the records */ private updateProgress; /** * Report import completion metrics to the MetricsTracker if available. * This should be called at the end of the import process. */ private reportImportCompleted; /** * Sets up a fake progress indicator that simulates the import process. */ private fakeProgress; }