/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { Config } from '../config/config.js'; import type { ToolInvocation, ToolResult, ToolResultDisplay, ToolCallConfirmationDetails } from './tools.js'; import { BaseDeclarativeTool, BaseToolInvocation } from './tools.js'; import type { ShellExecutionConfig } from '../services/shellExecutionService.js'; export declare const OUTPUT_UPDATE_INTERVAL_MS = 1000; export interface ShellToolParams { command: string; is_background: boolean; description?: string; directory?: string; } export declare class ShellToolInvocation extends BaseToolInvocation { private readonly config; private readonly allowlist; constructor(config: Config, params: ShellToolParams, allowlist: Set); getDescription(): string; shouldConfirmExecute(_abortSignal: AbortSignal): Promise; execute(signal: AbortSignal, updateOutput?: (output: ToolResultDisplay) => void, shellExecutionConfig?: ShellExecutionConfig, setPidCallback?: (pid: number) => void): Promise; private addCoAuthorToGitCommit; } export declare class ShellTool extends BaseDeclarativeTool { private readonly config; static Name: string; private allowlist; constructor(config: Config); protected validateToolParamValues(params: ShellToolParams): string | null; protected createInvocation(params: ShellToolParams): ToolInvocation; }