import { WorkerTimer } from '@stream-io/worker-timer';
/**
 * Representing a video track processor that can be either the native
 * MediaStreamTrackProcessor or the fallback implementation.
 */
export interface MediaStreamTrackProcessor<T> {
    readonly readable: ReadableStream<T>;
}
/**
 * Configuration options for creating a track processor.
 */
export interface TrackProcessorOptions {
    readonly track: MediaStreamTrack;
}
/**
 * Fallback implementation for browsers without MediaStreamTrackGenerator.
 *
 * Produces a video MediaStreamTrack sourced from a canvas and exposes a
 * WritableStream<VideoFrame> on track.writable. Written frames are drawn
 * into the canvas and update the underlying track automatically.
 */
declare class FallbackProcessor implements MediaStreamTrackProcessor<VideoFrame> {
    readonly readable: ReadableStream<VideoFrame>;
    readonly workerTimer: WorkerTimer;
    readonly video: HTMLVideoElement;
    constructor({ track }: TrackProcessorOptions);
    close: () => void;
}
declare const TrackProcessor: typeof FallbackProcessor | {
    new (init: MediaStreamTrackProcessorInit & {
        track: MediaStreamAudioTrack;
    }): globalThis.MediaStreamTrackProcessor<AudioData>;
    new (init: MediaStreamTrackProcessorInit & {
        track: MediaStreamVideoTrack;
    }): globalThis.MediaStreamTrackProcessor<VideoFrame>;
    prototype: globalThis.MediaStreamTrackProcessor<any>;
};
export { TrackProcessor };
