import ReadOnlySubject from '../../../rx/ReadOnlySubject';
import { MseDecoderStatusType } from './MseDecoderStatus';
import { MseDecoderStatisticsType } from './MseDecoderStatistics';
import TrackWriter from '../track/TrackWriter';
export default class MseDecoder {
    private readonly _logger;
    private readonly _mediaElement;
    private readonly _mediaSource;
    private readonly _status;
    private readonly _statistics;
    private readonly _readOnlyStatus;
    private readonly _readOnlyStatistics;
    private readonly _disposables;
    constructor(mediaElement: HTMLMediaElement);
    get status(): ReadOnlySubject<MseDecoderStatusType | null>;
    get statistics(): ReadOnlySubject<MseDecoderStatisticsType | null>;
    createTrackWriter(mimeType: string): Promise<TrackWriter | unknown>;
    reset(): Promise<void>;
    dispose(): void;
    private initialize;
    private setStatus;
    private cleanUpResources;
}
