/// <reference types="dom-webcodecs" />
export declare enum TrackType {
    Video = "video",
    Audio = "audio"
}
export interface VideoTrack<Sample> {
    id: string | number;
    type: TrackType.Video;
    config: VideoDecoderConfig;
    createdAt?: number;
    duration: number;
    toChunk: (sample: Sample) => EncodedVideoChunk;
}
export interface AudioTrack<Sample> {
    id: string | number;
    type: TrackType.Audio;
    config: AudioDecoderConfig;
    toChunk: (sample: Sample) => EncodedAudioChunk;
}
export type GenericTrack<Sample> = VideoTrack<Sample> | AudioTrack<Sample>;
export declare class Track<T> extends ReadableStream<T> {
    _track: GenericTrack<T>;
    constructor(track: GenericTrack<T>, stream: ReadableStream<T>);
    get track(): GenericTrack<T>;
}
