export interface TestCommandOptions { description?: string; stdout?: string | boolean; stderr?: string | boolean; exit?: number; root?: string; } export declare type TestCommandCallback = (output: T) => Promise | void; export interface TestCommand { (args: string[], opts: TestCommandOptions & { stdout: true; stderr: true; }, fn: TestCommandCallback<{ stdout: string; stderr: string; }>): void; (args: string[], opts: TestCommandOptions & { stdout: true; }, fn: TestCommandCallback<{ stdout: string; }>): void; (args: string[], opts: TestCommandOptions & { stderr: true; }, fn: TestCommandCallback<{ stderr: string; }>): void; (args: string[], opts: TestCommandOptions, fn?: TestCommandCallback<{}>): void; } export declare const testCommand: TestCommand;