///
import * as fs from 'fs';
declare function copy(sourcePath: string, targetPath: string, options?: copy.Options): Promise;
declare namespace copy {
type Options = {
overwrite?: boolean;
errorOnExist?: boolean;
dereference?: boolean;
preserveTimestamps?: boolean;
dryRun?: boolean;
rename?: (source: Source, target: Target, options: Options) => string | void | Promise;
filter?: (source: Source, target: Target, options: Options) => boolean | Promise;
transform?: (data: Buffer, source: Source, target: Target, options: Options) => Buffer | Promise;
afterEach?: (source: Source, target: Target, options: Options) => void | Promise;
};
type Source = {
path: string;
stats: fs.Stats;
};
type Target = {
path: string;
stats?: fs.Stats;
};
type Totals = {
directories: number;
files: number;
symlinks: number;
size: number;
};
}
export = copy;