/// <reference types="node" resolution-mode="require"/>
import { type Options as GlobbyOptions } from 'globby';
import type { MemFsEditor } from '../index.js';
import { AppendOptions } from './append.js';
import { Data, Options } from 'ejs';
import { CopySingleOptions } from './copy.js';
export type CopyAsyncOptions = CopySingleAsyncOptions & {
    globOptions?: GlobbyOptions;
    processDestinationPath?: (string: any) => string;
    ignoreNoMatch?: boolean;
};
export declare function copyAsync(this: MemFsEditor, from: string | string[], to: string, options?: CopyAsyncOptions, context?: Data, tplSettings?: Options): Promise<void>;
export type CopySingleAsyncOptions = AppendOptions & CopySingleOptions & {
    append?: boolean;
    processFile?: (this: MemFsEditor, filepath: string) => string | Promise<string | Buffer>;
};
export declare function _copySingleAsync(this: MemFsEditor, from: string, to: string, options?: CopySingleAsyncOptions): Promise<void>;
