/** * A2A Multimedia Protocol Extensions * Supporting classes and implementations for the main protocol */ /// /// /// import { EventEmitter } from "events"; import { A2AMultimediaSession, QoSRequirements, MessageStatistics, BandwidthStatistics, LatencyStatistics, QualityStatistics, ErrorStatistics } from "./a2a-multimedia-protocol.js"; export declare class RoutingEngine extends EventEmitter { private logger; private routingTable; private networkTopology; private routeCache; constructor(); initialize(): Promise; findOptimalRoute(sourceId: string, targetId: string, qos: QoSRequirements): Promise; private calculateOptimalRoute; private scorePath; private isRouteCacheValid; private startRouteOptimization; private optimizeRoutes; private startTopologyMonitoring; private monitorTopology; } export declare class MediaStreamBuffer { private streamId; private config; private buffer; private maxBufferSize; private logger; constructor(streamId: string, config: any); addData(data: Buffer): void; getData(): Buffer | null; getBufferStats(): { size: number; chunks: number; utilization: number; }; } export declare class StreamMonitor extends EventEmitter { private streamId; private targets; private logger; private active; private metrics; constructor(streamId: string, targets: string[]); start(): void; stop(): void; private startMonitoring; private collectMetrics; private analyzeMetrics; private initializeMetrics; } export declare class SessionPersistenceManager { private logger; private persistedSessions; private storageBackend; constructor(storageConfig?: any); initialize(): Promise; persistSession(session: A2AMultimediaSession): Promise; restoreSession(sessionId: string): Promise; deleteSession(sessionId: string): Promise; listPersistedSessions(): Promise; private loadPersistedSessions; } export declare class ProtocolStatisticsCalculator { private logger; constructor(); calculateMessageStatistics(sessionId: string): Promise; calculateBandwidthStatistics(sessionId: string): Promise; calculateLatencyStatistics(sessionId: string): Promise; calculateQualityStatistics(sessionId: string): Promise; calculateErrorStatistics(sessionId: string): Promise; } interface OptimalRoute { path: string[]; hops: number; score: number; estimatedLatency: number; estimatedBandwidth: number; } export {}; //# sourceMappingURL=a2a-multimedia-protocol-extensions.d.ts.map