import { Readable, Writable } from 'node:stream'; import type { SpawnProcessOptions, ProcessInfo, CommandResult } from './types'; export declare abstract class SandboxProcessManager { abstract spawn(command: string, options?: SpawnProcessOptions): Promise; abstract list(): Promise; abstract get(pid: number): Promise; abstract kill(pid: number): Promise; } export declare abstract class ProcessHandle { abstract readonly pid: number; abstract readonly exitCode: number | undefined; command?: string; private _stdout; private _stderr; private _stdoutListeners; private _stderrListeners; private _reader?; private _writer?; private _completion?; abstract kill(): Promise; abstract sendStdin(data: string): Promise; protected abstract _wait(): Promise; constructor(options?: Pick); wait(options?: { onStdout?: (data: string) => void; onStderr?: (data: string) => void; }): Promise; get stdout(): string; get stderr(): string; protected emitStdout(data: string): void; protected emitStderr(data: string): void; addStdoutListener(listener: (data: string) => void): void; addStderrListener(listener: (data: string) => void): void; get reader(): Readable; get writer(): Writable; }