/** * Base Agent - Foundation for all specialized agents in the swarm system */ import { AgentType, TaskDefinition, AgentCapabilities } from "../types.js"; import { EventEmitter } from "events"; export declare abstract class BaseAgent extends EventEmitter { protected id: string; protected type: AgentType; protected status: "idle" | "busy" | "error" | "offline"; protected currentTask: TaskDefinition | null; protected capabilities: AgentCapabilities; protected lastActivity: Date; protected tasksCompleted: number; protected errors: any[]; constructor(id: string, type: AgentType); abstract executeTask(task: TaskDefinition): Promise; abstract getCapabilities(): AgentCapabilities; getId(): string; getType(): AgentType; getStatus(): { id: string; type: AgentType; status: string; currentTask: string | null; lastActivity: Date; tasksCompleted: number; capabilities: AgentCapabilities; }; assignTask(task: TaskDefinition): Promise; protected completeTask(result: any): Promise; protected handleTaskError(error: any): Promise; isAvailable(): boolean; canHandleTask(task: TaskDefinition): boolean; cleanup(): Promise; healthCheck(): Promise; getMetrics(): any; } //# sourceMappingURL=base-agent.d.ts.map