import { BetaTool as AnthropicBetaTool } from '@anthropic-ai/sdk/resources/beta/messages/messages';
export type BetaTool = AnthropicBetaTool;
export interface ToolResult {
    output?: string;
    error?: string;
    base64Images?: string[];
    system?: string;
}
export declare class ToolFailure implements ToolResult {
    error: string;
    constructor(error: string);
}
export declare class ToolError extends Error {
    constructor(message: string);
}
export declare abstract class BaseAgentTool {
    abstract execute(params: Record<string, any>): Promise<ToolResult>;
    abstract toParams(): any;
    get ToolName(): string;
}
export declare class ToolCollection {
    private toolMap;
    constructor(tools: BaseAgentTool[]);
    toParams(): any[];
    run(name: string, toolInput: Record<string, any>): Promise<ToolResult>;
}
