import { FunctionTool } from './FunctionTool';
import { ToolContext } from './ToolContext';
/**
 * Result of code execution
 */
export interface CodeExecutionResult {
    /** Standard output from the execution */
    stdout: string;
    /** Standard error output from the execution */
    stderr: string;
    /** Exit code of the process */
    exitCode: number;
    /** Execution time in milliseconds */
    executionTime: number;
    /** Whether the execution was successful */
    success: boolean;
}
/**
 * Function to execute code in various languages
 *
 * @param params Parameters for the function
 * @param params.language Programming language of the code
 * @param params.code Code to execute
 * @param context The tool context
 * @returns Result of the code execution
 */
export declare function executeCode(params: Record<string, any>, context: ToolContext): Promise<CodeExecutionResult>;
/**
 * Tool for executing code in various programming languages
 */
export declare class CodeExecutionTool extends FunctionTool {
    /**
     * Creates a new code execution tool
     */
    constructor();
}
/**
 * Singleton instance of the Code Execution tool
 */
export declare const codeExecutionTool: CodeExecutionTool;
