import type { ToolResult } from "../types.js"; import { OutputDecoder, RingBuffer } from "./shell/capture.js"; export { spawnArgv } from "./shell/spawn-argv.js"; export type { SpawnArgvArgs } from "./shell/spawn-argv.js"; export { OutputDecoder, RingBuffer }; export interface ShellExecArgs { command: string; cwd?: string | undefined; timeoutMs?: number | undefined; signal?: AbortSignal | undefined; onOutput?: ((chunk: string, stream: "stdout" | "stderr") => void) | undefined; maxModelBytes?: number | undefined; maxCaptureBytes?: number | undefined; onLimit?: "terminate" | "continue" | undefined; artifactPath?: string | undefined; noArtifact?: boolean | undefined; interactiveStdin?: boolean | "auto" | undefined; } export declare function resolveShell(): string | undefined; export declare function setAllowInteractiveStdinInherit(allow: boolean): void; export declare function getAllowInteractiveStdinInherit(): boolean; export type InteractiveStdinKind = "elevate" | "tty"; export interface InteractiveStdinOptions { readonly stdinSupplied?: boolean | undefined; } export declare function interactiveStdinKind(command: string, options?: InteractiveStdinOptions): InteractiveStdinKind | undefined; export declare function looksInteractiveStdin(command: string, options?: InteractiveStdinOptions): boolean; export declare function shellExec(args: ShellExecArgs): Promise;