import { BaseTool } from './BaseTool';
import { ToolContext } from './ToolContext';
/**
 * A built-in code execution tool that is automatically invoked by Gemini 2 models.
 *
 * This tool operates internally within the model and does not require or perform
 * local code execution.
 */
export declare class BuiltInCodeExecutionTool extends BaseTool {
    /**
     * Creates a new built-in code execution tool
     */
    constructor();
    /**
     * Process the LLM request to enable code execution capability
     *
     * @param params Parameters for processing
     * @param params.toolContext The tool context
     * @param params.llmRequest The LLM request to process
     */
    processLlmRequest({ toolContext, llmRequest }: {
        toolContext: ToolContext;
        llmRequest: any;
    }): Promise<void>;
    /**
     * Execute the built-in code execution tool
     *
     * This method doesn't actually execute code locally. The code execution happens
     * internally within the model.
     *
     * @param params The parameters for tool execution
     * @param context The context for tool execution
     * @returns A placeholder response
     */
    execute(params: Record<string, any>, context: ToolContext): Promise<any>;
}
/**
 * Singleton instance of the Built-in Code Execution tool
 */
export declare const builtInCodeExecution: BuiltInCodeExecutionTool;
