import { AudioRendition, MediaEngine, RenditionId, VideoRendition } from '../../transcoding/types';
import { UrlGenerator } from '../../transcoding/utils/UrlGenerator';
import { EFMedia } from '../EFMedia.js';
import { BaseMediaEngine } from './BaseMediaEngine';
export declare class JitMediaEngine extends BaseMediaEngine implements MediaEngine {
    private urlGenerator;
    private data;
    static fetch(host: EFMedia, urlGenerator: UrlGenerator, url: string): Promise<JitMediaEngine>;
    constructor(host: EFMedia, urlGenerator: UrlGenerator);
    get durationMs(): number;
    get src(): string;
    get audioRendition(): AudioRendition | undefined;
    get videoRendition(): VideoRendition | undefined;
    get templates(): {
        initSegment: string;
        mediaSegment: string;
    };
    fetchInitSegment(rendition: {
        id?: RenditionId;
        trackId: number | undefined;
        src: string;
    }, signal: AbortSignal): Promise<ArrayBuffer>;
    fetchMediaSegment(segmentId: number, rendition: {
        id?: RenditionId;
        trackId: number | undefined;
        src: string;
    }): Promise<ArrayBuffer>;
    computeSegmentId(desiredSeekTimeMs: number, rendition: VideoRendition | AudioRendition): number | undefined;
    getScrubVideoRendition(): VideoRendition | undefined;
}
