import { IStreamLogger } from '../PSAgentLogger'; import { PSAgentTool } from '../PSAgentTool'; export interface CommandSecurityOptions { /** Validate/sanitize a command before execution. Return sanitized command string or throw/return null to reject. */ commandValidator?: (command: string) => string | null; /** Restricted environment variables to pass to the child process. If set, replaces process.env entirely. */ env?: Record; /** Execution timeout in milliseconds (default: no timeout) */ timeoutMs?: number; /** Max output buffer size in bytes (default: 10MB) */ maxBuffer?: number; } export declare class PSCommandLineTool extends PSAgentTool { static readonly toolName = "run_commandline"; private cwd; private security?; constructor(options: { cwd: string; security?: CommandSecurityOptions; }); run(input: Record, log?: IStreamLogger): Promise>; }