import { DynamicStructuredTool } from '@langchain/core/tools';
import type * as t from '@/types';
import { Constants } from '@/common';
export declare const imageExtRegex: RegExp;
export declare const getCodeBaseURL: () => string;
export declare const CodeExecutionToolSchema: {
    readonly type: "object";
    readonly properties: {
        readonly lang: {
            readonly type: "string";
            readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r", "bash"];
            readonly description: "The programming language or runtime to execute the code in.";
        };
        readonly code: {
            readonly type: "string";
            readonly description: "The complete, self-contained code to execute, without any truncation or minimization.\n- The environment is stateless; variables and imports don't persist between executions.\n- Generated files from previous executions are automatically available in \"/mnt/data/\".\n- Files from previous executions are automatically available and can be modified in place.\n- Input code **IS ALREADY** displayed to the user, so **DO NOT** repeat it in your response unless asked.\n- Output code **IS NOT** displayed to the user, so **DO** write all desired output explicitly.\n- IMPORTANT: You MUST explicitly print/output ALL results you want the user to see.\n- py: This is not a Jupyter notebook environment. Use `print()` for all outputs.\n- py: Matplotlib: Use `plt.savefig()` to save plots as files.\n- js: use the `console` or `process` methods for all outputs.\n- r: IMPORTANT: No X11 display available. ALL graphics MUST use Cairo library (library(Cairo)).\n- Other languages: use appropriate output functions.";
        };
        readonly args: {
            readonly type: "array";
            readonly items: {
                readonly type: "string";
            };
            readonly description: "Additional arguments to execute the code with. This should only be used if the input code requires additional arguments to run.";
        };
    };
    readonly required: readonly ["lang", "code"];
};
export declare const CodeExecutionToolDescription: string;
export declare const CodeExecutionToolName = Constants.EXECUTE_CODE;
export declare const CodeExecutionToolDefinition: {
    readonly name: Constants.EXECUTE_CODE;
    readonly description: string;
    readonly schema: {
        readonly type: "object";
        readonly properties: {
            readonly lang: {
                readonly type: "string";
                readonly enum: readonly ["py", "js", "ts", "c", "cpp", "java", "php", "rs", "go", "d", "f90", "r", "bash"];
                readonly description: "The programming language or runtime to execute the code in.";
            };
            readonly code: {
                readonly type: "string";
                readonly description: "The complete, self-contained code to execute, without any truncation or minimization.\n- The environment is stateless; variables and imports don't persist between executions.\n- Generated files from previous executions are automatically available in \"/mnt/data/\".\n- Files from previous executions are automatically available and can be modified in place.\n- Input code **IS ALREADY** displayed to the user, so **DO NOT** repeat it in your response unless asked.\n- Output code **IS NOT** displayed to the user, so **DO** write all desired output explicitly.\n- IMPORTANT: You MUST explicitly print/output ALL results you want the user to see.\n- py: This is not a Jupyter notebook environment. Use `print()` for all outputs.\n- py: Matplotlib: Use `plt.savefig()` to save plots as files.\n- js: use the `console` or `process` methods for all outputs.\n- r: IMPORTANT: No X11 display available. ALL graphics MUST use Cairo library (library(Cairo)).\n- Other languages: use appropriate output functions.";
            };
            readonly args: {
                readonly type: "array";
                readonly items: {
                    readonly type: "string";
                };
                readonly description: "Additional arguments to execute the code with. This should only be used if the input code requires additional arguments to run.";
            };
        };
        readonly required: readonly ["lang", "code"];
    };
};
declare function createCodeExecutionTool(params?: t.CodeExecutionToolParams): DynamicStructuredTool;
export { createCodeExecutionTool };
