import { ExtensionLoggerService } from '../../../common/logger'; import { IToolProvider, LlmToolCall, ToolDefinition, ToolExecutionResult } from '../platforms/tool-provider.platform'; export declare abstract class BaseToolProviderService implements IToolProvider { protected abstract readonly logger: ExtensionLoggerService; protected readonly toolExecutionTimeoutMs: number; abstract getType(): string; abstract getToolDefinitions(): ToolDefinition[]; protected abstract handleToolCall(toolCall: LlmToolCall): Promise; executeTool(toolCall: LlmToolCall): Promise; private executeWithTimeout; }