import { z } from "zod";
import type { AgentTool } from "@kenkaiiii/gg-agent";
import type { ProcessManager } from "../core/process-manager.js";
import { type ToolOperations } from "./operations.js";
import { type ResolveShellOpts } from "../core/shell.js";
/**
 * Render command output for the tool result. Over-limit output is compressed
 * (keeps errors + head/tail, collapses repeats) rather than blindly
 * tail-sliced, and the raw output is offloaded to `~/.gg/tool-output/` so the
 * model can recover the lost portion with `read --offset` instead of
 * re-running the command. The offload is best-effort — a full disk or
 * permission error never fails the tool result.
 */
export declare function renderBashOutput(rawOutput: string): Promise<string>;
declare const BashParams: z.ZodObject<{
    command: z.ZodString;
    timeout: z.ZodOptional<z.ZodNumber>;
    run_in_background: z.ZodOptional<z.ZodBoolean>;
    persist: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare function createBashTool(cwd: string, processManager: ProcessManager, ops?: ToolOperations, planModeRef?: {
    current: boolean;
}, shellOpts?: ResolveShellOpts): AgentTool<typeof BashParams>;
export {};
//# sourceMappingURL=bash.d.ts.map