import { JobStatusClient } from "@aics/job-status-client"; import { ILogger } from "js-logger/src/types"; import * as rimraf from "rimraf"; import { Job, Step, StepName, UploadContext } from "../types"; import cpy from "./copy-and-calc-md5"; export declare class CopyStep implements Step { readonly job: Job; readonly name = StepName.CopyFilesChild; private readonly logger; private readonly forceRemoveRecursive; private readonly copyFiles; private readonly onCopyFileProgress; private readonly copyProgressCbThrottleMs; private readonly jss; constructor(job: Job, jss: JobStatusClient, logger?: ILogger, forceRemoveRecursive?: typeof rimraf, copyFiles?: typeof cpy, onCopyFileProgress?: (originalFilePath: string, bytesCopied: number, totalBytes: number) => void, copyProgressCbThrottleMs?: number); start: (ctx: UploadContext) => Promise; skip: (ctx: UploadContext) => Promise; end: (ctx: UploadContext) => Promise; private reportProgress; }