import type { ToolDefinition } from "../agent/types.js";
/**
 * Minimal options needed by the run_command tool. `AgentConfig` satisfies
 * this structurally, so passing the full config keeps working.
 */
export interface RunCommandToolOptions {
    workspaceRoot: string;
    commandTimeoutMs: number;
    commandDenylist: RegExp[];
    confirmDestructive: boolean;
}
interface CommandExecutionResult {
    stdout: string;
    stderr: string;
    exitCode: number | null;
    timedOut: boolean;
}
export interface RunCommandHooks {
    afterCommand?: ((command: string, result: CommandExecutionResult) => Promise<void> | void) | undefined;
}
export declare function createRunCommandTool(options: RunCommandToolOptions, hooks?: RunCommandHooks): ToolDefinition;
export {};
//# sourceMappingURL=run-command.d.ts.map