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