import { GlobOptions } from 'tinyglobby'; import type { MemFsEditor } from '../index.js'; import type { Options as MultimatchOptions } from 'multimatch'; type CopySingleAsyncOptions = Parameters[2] & { append?: boolean; /** * @experimental This API is experimental and may change without a major version bump. * * Transform both the file path and content during copy. * @param options The transform options * @param options.destinationPath The destination file path * @param options.sourcePath The source file path * @param options.contents The file content as Buffer * @param options.options The options passed to fileTransform * @param options.data The data passed to fileTransform * @returns An object containing the new file path and contents. */ fileTransform?: (options: { destinationPath: string; sourcePath: string; contents: Buffer; data?: TransformData; options?: TransformOptions; }) => { path: string; contents: string | Buffer; } | Promise<{ path: string; contents: string | Buffer; }>; transformData?: TransformData; transformOptions?: TransformOptions; }; type CopyAsyncOptions = CopySingleAsyncOptions & { noGlob?: boolean; /** * Options for disk globbing. * Glob options that should be compatible with minimatch results. */ globOptions?: Pick; /** * Options for store files matching. */ storeMatchOptions?: MultimatchOptions; ignoreNoMatch?: boolean; fromBasePath?: string; }; export declare function copyAsync(this: MemFsEditor, from: string | string[], to: string, options?: CopyAsyncOptions): Promise; export {};