UNPKG

murmuraba

Version:

Real-time audio noise reduction with advanced chunked processing for web applications

67 lines 2.05 kB
/** * Secure Event Bridge for internal communication * Replaces the insecure global __murmurabaTDDBridge */ import { EventEmitter } from './event-emitter'; import { ProcessingMetrics } from '../types'; import { ChunkProcessor } from '../managers/chunk-processor'; interface BridgeEvents extends Record<string, (...args: any[]) => void> { 'metrics': (metrics: ProcessingMetrics) => void; 'chunk-processed': (chunkId: string) => void; 'recording-manager-registered': (id: string) => void; 'recording-manager-unregistered': (id: string) => void; } declare class SecureEventBridge extends EventEmitter<BridgeEvents> { private static instance; private chunkProcessor; private recordingManagers; private readonly accessToken; private constructor(); /** * Get the singleton instance */ static getInstance(): SecureEventBridge; /** * Reset the singleton (mainly for testing) */ static reset(): void; /** * Register a chunk processor with validation */ registerChunkProcessor(processor: ChunkProcessor, token: string): void; /** * Register a recording manager with validation */ registerRecordingManager(id: string, manager: any, token: string): void; /** * Unregister a recording manager */ unregisterRecordingManager(id: string, token: string): void; /** * Notify metrics to all registered managers */ notifyMetrics(metrics: ProcessingMetrics, token: string): void; /** * Get the access token (only for internal use) */ getAccessToken(): string; /** * Get registered recording managers count */ getRecordingManagersCount(): number; /** * Generate a secure access token */ private generateAccessToken; /** * Validate access token */ private validateToken; /** * Validate metrics object */ private validateMetrics; } export { SecureEventBridge }; export type { BridgeEvents }; //# sourceMappingURL=secure-event-bridge.d.ts.map