import Hls, { Fragment } from 'hls.js';
import { HMSHLSPlayerListeners } from '../interfaces/events';
import { HMSHLSPlayerEvents } from '../utilies/constants';
export declare class HMSHLSTimedMetadata {
    private videoEl;
    private emitEvent;
    private hls;
    constructor(hls: Hls, videoEl: HTMLVideoElement, emitEvent: <E extends HMSHLSPlayerEvents>(eventName: E, eventObject: Parameters<HMSHLSPlayerListeners<E>>[0]) => boolean);
    extractMetaTextTrack: () => TextTrack | null;
    fireCues: (currentAbsTime: number, tolerance: number) => void;
    handleTimeUpdateListener: () => void;
    /**
     * Metadata are automatically parsed and added to the video element's
     * textTrack cue by hlsjs as they come through the stream.
     * in FRAG_CHANGED, we read the cues and emitEvent HLS_METADATA_LOADED
     * when the current fragment has a metadata to play.
     */
    fragChangeHandler: (_: any, { frag }: {
        frag: Fragment;
    }) => void;
    private registerListner;
    unregisterListener: () => void;
}
