import { FExecutionCallback, TFileSystemPath } from "../helpers/basic-types"; declare type TOutputDSL = { shouldBeEmptyDir(): TScriptTestExecution; shouldEqual(expectedOutputFileOrDir: any): TScriptTestExecution; }; declare type TStdOutDSL = { shouldNotContain(partialString: string): TScriptTestExecution; shouldContain(partialString: string): TScriptTestExecution; shouldEqual(expectedStdOutputRefFile: TFileSystemPath): TScriptTestExecution; }; declare type TStdErrDSL = { shouldContain(partialString: string): TScriptTestExecution; shouldBeEmptyDir(): TScriptTestExecution; shouldEqual(expectedOutputFileOrDir: TFileSystemPath): TScriptTestExecution; }; export interface TScriptTestExecution { actualExitCode: number; expectedExitCode: number | undefined; callback?: FExecutionCallback; processStderr?: string; expectedStdoutPartials: string[]; notExpectedStdoutPartials: string[]; expectedStderrPartials: string[]; actualFromStdout: boolean; expectedStdOutput: string | TFileSystemPath | undefined; processOutput: string; dirShouldBeEmpty: boolean; expectedOutputFileOrDir: TFileSystemPath | undefined; actualOutputFileOrDir: TFileSystemPath | undefined; ignoreList: string[]; stderr: () => TStdErrDSL; stdout: () => TStdOutDSL; output: (actualOutputFileOrDir: TFileSystemPath) => TOutputDSL; ignoreLinesWith: (ignoreList: string[]) => TScriptTestExecution; expectExitCode: (expectedExitCode: number) => TScriptTestExecution; done: (callback: FExecutionCallback) => TScriptTestExecution; checkExpectations: () => void; } export declare type TExecuteOptions = { env: typeof process.env; stdoutLineHandler?: (line: string) => void; }; declare const _default: { execute: (command: string, args: string[], options: TExecuteOptions) => TScriptTestExecution; }; export default _default;