import { Readable } from 'node:stream'; export type Cmd = { exe: string; args?: string[]; cwd?: string; tty?: boolean; expose5000?: boolean; input?: Readable; superuser?: boolean; }; export type Translate = (cmd: Cmd) => Cmd; export type Spawner = { run: (cmd: Cmd) => Promise; runForegroundSync: (cmd: Cmd) => void; runForeground: (cmd: Cmd) => Promise; runStreaming: (cmd: Cmd) => Promise; resolvePath: (...paths: (string | undefined)[]) => string; readdir: (path?: string) => Promise; readFile: (path: string) => Promise; writeFile: (path: string, data: string) => Promise; mkdirp: (path?: string) => Promise; rename: (oldPath: string, newPath: string) => Promise; rimraf: (path?: string) => Promise; sanatizedrimraf: (path?: string) => Promise; tar: (...paths: string[]) => Promise; untar: (input: Readable, cwd?: string) => Promise; exists: (path: string) => Promise; walk: (dir?: string) => Promise; };