export type TestProjectOptions = { name?: string; destinationDir?: string; } & ({ sourceDir?: string; gitClone?: never; apiVersion?: never; } | { sourceDir?: never; gitClone?: string; apiVersion?: never; } | { sourceDir?: never; gitClone?: never; apiVersion?: string; }); /** * A SFDX project for use with testing. The project can be defined by: * 1. Copied from a project on the filesystem to a destination dir * 2. Cloned using a git url * 3. Created by name using the project:generate command * * The project will be copied/cloned/created to the provided destination dir * or the OS tmpdir by default. */ export declare class TestProject { createdDate: Date; dir: string; private debug; private zipDir; private shelljsExecOptions; constructor(options: TestProjectOptions); /** * Zip the test project contents * * @name name of the zip file to create. Default is the project dirname. * @destDir The zip file will be written to this path. Default is `process.cwd()`. * @returns The created zip file path. */ zip(name?: string, destDir?: string): Promise; }