import type { SwarmAgentDef, AgentStatus, AgentCapability } from "./types.js"; export interface AgentManifestEntry { id: string; role: string; capabilities: AgentCapability[]; status: AgentStatus; activeTasks: number; totalRuns: number; errors: number; } export interface AgentRecord> { def: SwarmAgentDef; status: AgentStatus; activeTasks: number; totalRuns: number; lastActive: number | null; errors: number; pendingError: boolean; } export declare class AgentRegistry = Record> { private agents; register(def: SwarmAgentDef): this; deregister(agentId: string): boolean; get(agentId: string): AgentRecord | null; getDef(agentId: string): SwarmAgentDef | null; getAll(): AgentRecord[]; /** Find agents by role (exact or partial match) */ findByRole(role: string): AgentRecord[]; /** Find agents that have a specific capability by name */ findByCapability(capabilityName: string): AgentRecord[]; /** Find idle agents ready to accept work */ findIdle(): AgentRecord[]; /** Find the least-busy agent across all registered agents */ leastBusy(): AgentRecord | null; setStatus(agentId: string, status: AgentStatus): void; markBusy(agentId: string): void; markIdle(agentId: string): void; markError(agentId: string): void; manifest(): AgentManifestEntry[]; toManifest(): string; stats(): Record; } //# sourceMappingURL=registry.d.ts.map