export type FrameTransform = (frame: VideoFrame) => Promise; declare global { interface MediaStreamTrackProcessorInit { track: MediaStreamTrack; maxBufferSize?: number; } interface MediaStreamTrackProcessor { readonly readable: ReadableStream; } var MediaStreamTrackProcessor: { prototype: MediaStreamTrackProcessor; new (init: MediaStreamTrackProcessorInit): MediaStreamTrackProcessor; }; interface MediaStreamTrackGeneratorInit { kind: 'video' | 'audio'; } interface MediaStreamTrackGenerator extends MediaStreamTrack { readonly writable: WritableStream; } var MediaStreamTrackGenerator: { prototype: MediaStreamTrackGenerator; new (init: MediaStreamTrackGeneratorInit): MediaStreamTrackGenerator; }; } /** * A running Insertable-Streams stage. `track` is the generator track carrying * transformed frames; `dispose` aborts the pipe and stops the generator so the * stage can be torn down (e.g. on a LiveKit camera flip) without leaking the * generator and its pull on the source track. */ export type DisposablePipeline = { track: MediaStreamTrack; dispose: () => void; }; export declare const applyEffectToTrack: (track: MediaStreamTrack, transform: FrameTransform) => DisposablePipeline; //# sourceMappingURL=insertable-streams.d.ts.map