import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnInit, OnDestroy, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { Media, MediaType } from './models/media.model';
import { Playlist } from './models/playlist.model';
import { PlayerService } from './services/ng-plyr.service';
import { CastService } from './services/cast.service';
import * as i0 from "@angular/core";
export declare class NgPlyrComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
    private document;
    private _plyrService;
    private _castService;
    private _cd;
    isPlaying: boolean;
    isMuted: boolean;
    isFullscreen: boolean;
    isPIP: boolean;
    isCasting: boolean;
    isLoopingEnabled: boolean;
    isControlSettingsOpen: boolean;
    isMenuSettingsOpen: boolean;
    seekStepInSec: number;
    playerVolume: number;
    currentTime: string;
    totalTime: string;
    progressPercent: number;
    mediaBuffers: Array<{
        start: number;
        end: number;
    }>;
    isMediaLoading: boolean;
    media: Media;
    prevMedia?: Media;
    nextMedia?: Media;
    playlist: Playlist;
    playingTrack: number;
    mediaMarkers: [];
    inpChanges?: SimpleChanges;
    mediaURL: string;
    mediaType?: MediaType;
    preload: string;
    playFrom?: number;
    loadingImgSrc?: string;
    captions?: Array<{
        path: string;
        lang: string;
    }>;
    bookmarks?: Array<number>;
    volume?: number;
    loopMedia?: boolean;
    isAutoplayEnabled?: boolean;
    nextMediaToAdd?: Media;
    mediaItems?: Media[];
    loopPlaylist?: boolean;
    posterUrl?: string;
    enableControls: boolean;
    playing: EventEmitter<boolean>;
    paused: EventEmitter<boolean>;
    ended: EventEmitter<boolean>;
    onprev: EventEmitter<Media>;
    onnext: EventEmitter<Media>;
    fullscreen: EventEmitter<boolean>;
    volumechange: EventEmitter<object>;
    videoContainer: ElementRef;
    video: ElementRef;
    constructor(document: any, _plyrService: PlayerService, _castService: CastService, _cd: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    resetPlayer(): void;
    changeMedia(media?: Media): void;
    createPlaylist(mediaItems: Media[]): void;
    onNextMediaInput(): void;
    onPlay(event: Event): void;
    onPause(event: Event): void;
    onEnd(event?: Event): void;
    onVolumeChange(event: Event): void;
    onError(event: Event): void;
    doShortcutKeyAction(event: KeyboardEvent): void;
    changeVolume(value: any): void;
    updateAfterVideoInfoLoaded(): void;
    showBuffers(): void;
    seekTo(atSecond: number | string): void;
    seekAfterTimeout(direction: string): void;
    bwdClickCount: number;
    bwdClickTimeout: number;
    seekBwd(e: MouseEvent | PointerEvent): void;
    fwdClickCount: number;
    fwdClickTimeout: number;
    seekFwd(e: MouseEvent | PointerEvent): void;
    updateCurrentTime(): void;
    playPrevMedia(): void;
    playNextMedia(): void;
    stopVideo(): void;
    setPlaybackSpeed(rate: number): void;
    castToChromecast(): void;
    enableCastingMode(): void;
    endCurrentSession(stopCasting: boolean): void;
    listenToPlayerEvents(): void;
    formatDuration(time: any): string;
    toggleLoop(): void;
    togglePlay(): void;
    toggleMute(): void;
    togglePIP(): void;
    toggleFullscreen(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgPlyrComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgPlyrComponent, "ng-plyr", never, { "mediaURL": "src"; "mediaType": "type"; "preload": "preload"; "playFrom": "playFrom"; "loadingImgSrc": "loadingImgSrc"; "captions": "captions"; "bookmarks": "bookmarks"; "volume": "volume"; "loopMedia": "loop"; "isAutoplayEnabled": "autoplay"; "nextMediaToAdd": "nextMedia"; "mediaItems": "playlist"; "loopPlaylist": "loopPlaylist"; "posterUrl": "poster"; "enableControls": "controls"; }, { "playing": "playing"; "paused": "paused"; "ended": "ended"; "onprev": "onprev"; "onnext": "onnext"; "fullscreen": "fullscreen"; "volumechange": "volumechange"; }, never, never, false>;
}
