import { type Tool } from 'ai'; import { execa } from 'execa'; import { z } from 'zod'; import type { ProcessManager } from './background-process.ts'; import { type CommandRule } from './command-rules.ts'; import { type ToolOutputStore } from './tool-output-store.ts'; declare const bashInputSchema: z.ZodObject<{ command: z.ZodString; description: z.ZodString; timeoutMs: z.ZodOptional; run_in_background: z.ZodOptional; }, z.core.$strip>; declare const multiBashInputSchema: z.ZodObject<{ commands: z.ZodArray; timeoutMs: z.ZodOptional; }, z.core.$strip>; export type BashInput = z.infer; export type BashOutput = { stdout: string; stderr: string; exitCode: number; denied?: boolean; timedOut?: boolean; }; export type MultiBashInput = z.infer; export type MultiBashOutput = { results: Array<{ command: string; } & BashOutput>; exitCode: number; failedAt: number | null; }; export type BashToolInit = { cwd: string; defaultTimeoutMs?: number; exec?: typeof execa; processManager?: ProcessManager; rules?: CommandRule[]; outputStore?: ToolOutputStore; }; export declare const MAX_BASH_OUTPUT_CHARS = 30000; export declare function bashTool(init: BashToolInit): Tool; export declare function multiBashTool(init: BashToolInit): Tool; export {};