/** * Transform name constants to ensure consistency between worker and manager. */ export declare const TRANSFORM_NAMES: { readonly REDUNDANT_AUDIO: "AudioRed"; readonly AUDIO_SENDER: "AudioSender"; readonly AUDIO_RECEIVER: "AudioReceiver"; readonly VIDEO_SENDER: "VideoSender"; readonly VIDEO_RECEIVER: "VideoReceiver"; }; /** * Common message types used by all transforms. */ export declare const COMMON_MESSAGE_TYPES: { readonly LOG: "Log"; readonly METRICS: "Metrics"; }; /** * Messages exchanged between main thread and Web Worker for transform configuration. */ export interface EncodedTransformMessage { type: string; transformName: string; message?: Record; } /** * Abstract base class for WebRTC encoded media transforms running in a Web Worker. * Provides logging infrastructure and message handling for transform implementations. */ export default abstract class EncodedTransform { protected shouldLog: boolean; protected transformName(): string; /** * Processes an encoded frame. Implements TransformStream transformer interface. */ abstract transform(frame: RTCEncodedAudioFrame | RTCEncodedVideoFrame, controller: TransformStreamDefaultController): void; /** * Handles configuration messages from the main thread. Override in subclasses. */ handleMessage(_message: EncodedTransformMessage): void; protected log(message: string): void; }