export type PlatformId = "win32" | "linux" | "darwin"; export type HostCommand = { readonly executable: string; readonly args: readonly string[]; readonly cwd?: string; readonly env?: Readonly>; readonly timeoutMs?: number; }; export type CommandResult = { readonly status: number; readonly stdout: string; readonly stderr: string; readonly timedOut: boolean; readonly pid?: number; }; export interface PlatformAdapter { readonly id: PlatformId; readonly stateRoot: string; run(command: HostCommand): Promise; start(command: HostCommand): Promise; stop(pid: number): Promise; isRunning(pid: number): Promise; processFingerprint(pid: number): Promise; isListening(host: string, port: number): Promise; writeText(file: string, text: string): Promise; readText(file: string): Promise; remove(file: string): Promise; downloadVerified(url: string, target: string, sha256: string): Promise; } export declare class NodePlatformAdapter implements PlatformAdapter { readonly id: PlatformId; readonly stateRoot: string; constructor(options?: { readonly id?: PlatformId; readonly stateRoot?: string; }); run(command: HostCommand): Promise; start(command: HostCommand): Promise; stop(pid: number): Promise; isRunning(pid: number): Promise; processFingerprint(pid: number): Promise; isListening(host: string, port: number): Promise; writeText(file: string, text: string): Promise; readText(file: string): Promise; remove(file: string): Promise; downloadVerified(urlText: string, target: string, sha256: string): Promise; } export declare function fileExists(file: string): Promise; export declare function windowsPathToWsl(value: string): string; export declare function writePrivateText(adapter: PlatformAdapter, file: string, text: string): Promise; //# sourceMappingURL=platform.d.ts.map