import { EventEmitter } from "node:events"; export interface SwarmMemoryEntry { id: string; agentId: string; type: "knowledge" | "result" | "state" | "communication" | "error"; content: any; timestamp: Date; metadata: { taskId?: string; objectiveId?: string; tags?: string[]; priority?: number; shareLevel?: "private" | "team" | "public"; originalId?: string; sharedFrom?: string; sharedTo?: string; sharedAt?: Date; }; } export interface SwarmMemoryQuery { agentId?: string; type?: SwarmMemoryEntry["type"]; taskId?: string; objectiveId?: string; tags?: string[]; since?: Date; before?: Date; limit?: number; shareLevel?: SwarmMemoryEntry["metadata"]["shareLevel"]; } export interface SwarmKnowledgeBase { id: string; name: string; description: string; entries: SwarmMemoryEntry[]; metadata: { domain: string; expertise: string[]; contributors: string[]; lastUpdated: Date; }; } export interface SwarmMemoryConfig { namespace: string; enableDistribution: boolean; enableReplication: boolean; syncInterval: number; maxEntries: number; compressionThreshold: number; enableKnowledgeBase: boolean; enableCrossAgentSharing: boolean; persistencePath: string; } export declare class SwarmMemoryManager extends EventEmitter { private logger; private config; private baseMemory; private entries; private knowledgeBases; private agentMemories; private syncTimer?; private isInitialized; constructor(config?: Partial); initialize(): Promise; shutdown(): Promise; remember(agentId: string, type: SwarmMemoryEntry["type"], content: any, metadata?: Partial): Promise; recall(query: SwarmMemoryQuery): Promise; shareMemory(entryId: string, targetAgentId: string): Promise; broadcastMemory(entryId: string, agentIds?: string[]): Promise; createKnowledgeBase(name: string, description: string, domain: string, expertise: string[]): Promise; updateKnowledgeBase(entry: SwarmMemoryEntry): Promise; searchKnowledge(query: string, domain?: string, expertise?: string[]): Promise; getAgentMemorySnapshot(agentId: string): Promise<{ totalEntries: number; recentEntries: SwarmMemoryEntry[]; knowledgeContributions: number; sharedEntries: number; }>; private loadMemoryState; private saveMemoryState; private syncMemoryState; private enforceMemoryLimits; getMemoryStats(): { totalEntries: number; entriesByType: Record; entriesByAgent: Record; knowledgeBases: number; memoryUsage: number; }; exportMemory(agentId?: string): Promise; clearMemory(agentId?: string): Promise; } //# sourceMappingURL=swarm-memory.d.ts.map