import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { PlayerComponent } from '@ngx-telly/player';
import Hls, { AudioTrackSwitchedData, ErrorData, HlsConfig, LevelSwitchedData, LevelUpdatedData, ManifestParsedData, MediaAttachingData, SubtitleTrackSwitchData } from 'hls.js';
import { ScteTriggerData } from './types';
import * as i0 from "@angular/core";
export declare class HlsDirective implements AfterViewInit, OnDestroy, OnChanges {
    tellyHls: import("@angular/core").InputSignal<string>;
    config: import("@angular/core").InputSignal<Partial<HlsConfig>>;
    scte: import("@angular/core").InputSignal<string | undefined>;
    hlsCreated: EventEmitter<Hls>;
    mediaAttached: EventEmitter<[Hls | undefined, MediaAttachingData]>;
    manifestParsed: EventEmitter<[Hls | undefined, ManifestParsedData]>;
    levelUpdated: EventEmitter<[Hls | undefined, LevelUpdatedData]>;
    offsetParsed: EventEmitter<[Hls | undefined, number, number]>;
    audioSwitched: EventEmitter<[Hls | undefined, AudioTrackSwitchedData]>;
    levelSwitched: EventEmitter<[Hls | undefined, LevelSwitchedData]>;
    captionSwitched: EventEmitter<[Hls | undefined, SubtitleTrackSwitchData]>;
    scteParsed: EventEmitter<[Hls | undefined, ScteTriggerData[]]>;
    manifestFailed: EventEmitter<[Hls | undefined, ErrorData]>;
    player: PlayerComponent;
    hls?: Hls;
    offset: number;
    timestamp: number;
    ngAfterViewInit(): void;
    ngOnChanges({ tellyHls }: SimpleChanges): void;
    date(): Date;
    private create;
    private bindEvents;
    private extractDuration;
    private extractDrift;
    private extractOffset;
    private extractScte;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<HlsDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<HlsDirective, "[tellyHls]", never, { "tellyHls": { "alias": "tellyHls"; "required": true; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "scte": { "alias": "scte"; "required": false; "isSignal": true; }; }, { "hlsCreated": "hlsCreated"; "mediaAttached": "mediaAttached"; "manifestParsed": "manifestParsed"; "levelUpdated": "levelUpdated"; "offsetParsed": "offsetParsed"; "audioSwitched": "audioSwitched"; "levelSwitched": "levelSwitched"; "captionSwitched": "captionSwitched"; "scteParsed": "scteParsed"; "manifestFailed": "manifestFailed"; }, never, never, true, never>;
}
