import { FunctionTool } from './FunctionTool';
/**
 * Interface for a Toolbox client
 */
interface ToolboxClient {
    /**
     * Load a tool from the Toolbox server
     * @param toolName The name of the tool to load
     */
    loadTool(toolName: string): Promise<any>;
    /**
     * Load a set of tools from the Toolbox server
     * @param toolsetName The name of the toolset to load
     */
    loadToolset(toolsetName: string): Promise<any[]>;
}
/**
 * A class that provides access to toolbox tools.
 *
 * Example:
 * ```typescript
 * const toolbox = new ToolboxTool("http://127.0.0.1:5000");
 * const tool = await toolbox.getTool("tool_name");
 * const toolset = await toolbox.getToolset("toolset_name");
 * ```
 */
export declare class ToolboxTool {
    /**
     * The toolbox client
     */
    private toolboxClient;
    /**
     * Create a new toolbox tool
     *
     * @param url The URL of the toolbox server
     * @param client Optional custom toolbox client
     */
    constructor(url: string, client?: ToolboxClient);
    /**
     * Get a tool from the toolbox
     *
     * @param toolName The name of the tool to get
     * @returns The tool as a FunctionTool
     */
    getTool(toolName: string): Promise<FunctionTool>;
    /**
     * Get a set of tools from the toolbox
     *
     * @param toolsetName The name of the toolset to get
     * @returns The tools as FunctionTools
     */
    getToolset(toolsetName: string): Promise<FunctionTool[]>;
    /**
     * Convert a toolbox tool to a FunctionTool
     *
     * @param tool The toolbox tool to convert
     * @returns The converted FunctionTool
     */
    private convertToFunctionTool;
}
export {};
