import { EventEmitter } from "events";
import { AgentConfig, AgentResponse, AgentStep } from "@/types/interfaces/agent";
import { Tool } from "@/types/interfaces/tool";
export declare class Agent extends EventEmitter {
    protected config: AgentConfig;
    protected steps: AgentStep[];
    protected startTime: number;
    constructor(config: AgentConfig);
    execute(input: any): Promise<AgentResponse>;
    protected runAgentLoop(input: any): Promise<any>;
    protected executeStep(input: any): Promise<AgentStep>;
    protected decideTool(input: any): Promise<{
        action: any;
        toolName: string;
    }>;
    protected getTool(name: string): Tool;
    protected createToolSelectionPrompt(input: any): string;
    protected shouldStop(step: AgentStep): boolean;
    protected createResponse(response: any): AgentResponse;
}
