import type { ProcessHandle } from "../processes.js";
export type ProcessCommand = string | {
    command: string;
    argsPrefix?: string[];
    source?: "wasm";
};
export declare function runProcess({ command, args, timeoutMs, errorLabel, onStderrLine, onStdoutLine, }: {
    command: ProcessCommand;
    args: string[];
    timeoutMs: number;
    errorLabel: string;
    onStderrLine?: (line: string, handle: ProcessHandle | null) => void;
    onStdoutLine?: (line: string, handle: ProcessHandle | null) => void;
}): Promise<void>;
export declare function runProcessCapture({ command, args, timeoutMs, errorLabel, }: {
    command: ProcessCommand;
    args: string[];
    timeoutMs: number;
    errorLabel: string;
}): Promise<string>;
export declare function runProcessCaptureBuffer({ command, args, timeoutMs, errorLabel, }: {
    command: ProcessCommand;
    args: string[];
    timeoutMs: number;
    errorLabel: string;
}): Promise<Buffer>;
export declare function runWithConcurrency<T>(tasks: Array<() => Promise<T>>, workers: number, onProgress?: ((completed: number, total: number) => void) | null): Promise<T[]>;
