import * as _angular_core from '@angular/core';
import { AfterViewInit, OnDestroy, ElementRef } from '@angular/core';

type VideoPlayerOrientation = 'landscape' | 'portrait' | 'square' | string;
declare class VideoPlayer implements AfterViewInit, OnDestroy {
    private readonly document;
    private readonly destroyRef;
    private readonly videoPlayerService;
    private readonly platformId;
    private readonly isBrowser;
    src: _angular_core.InputSignal<string | null>;
    thumbnailUrl: _angular_core.InputSignal<string | null | undefined>;
    payload: _angular_core.InputSignal<any>;
    orientation: _angular_core.InputSignal<string | undefined>;
    autoPlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
    showPlayButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
    showSpeaker: _angular_core.InputSignalWithTransform<boolean, unknown>;
    showFullscreen: _angular_core.InputSignalWithTransform<boolean, unknown>;
    showDurationSlider: _angular_core.InputSignalWithTransform<boolean, unknown>;
    disableClickToPlay: _angular_core.InputSignalWithTransform<boolean, unknown>;
    muted: _angular_core.InputSignalWithTransform<boolean, unknown>;
    withCredentials: _angular_core.InputSignalWithTransform<boolean, unknown>;
    videoContainer: _angular_core.Signal<ElementRef<HTMLDivElement>>;
    private videoElement;
    loaded: _angular_core.WritableSignal<boolean>;
    isLoading: _angular_core.Signal<boolean>;
    isPlaying: _angular_core.WritableSignal<boolean>;
    isPaused: _angular_core.Signal<boolean>;
    hasStarted: _angular_core.WritableSignal<boolean>;
    currentTime: _angular_core.WritableSignal<number>;
    duration: _angular_core.WritableSignal<number>;
    volume: _angular_core.WritableSignal<number>;
    isMuted: _angular_core.WritableSignal<boolean>;
    isFullscreen: _angular_core.WritableSignal<boolean>;
    error: _angular_core.WritableSignal<any>;
    onPlay: _angular_core.OutputEmitterRef<void>;
    onPause: _angular_core.OutputEmitterRef<void>;
    onEnded: _angular_core.OutputEmitterRef<void>;
    onLoaded: _angular_core.OutputEmitterRef<void>;
    onError: _angular_core.OutputEmitterRef<any>;
    finalOrientation: _angular_core.Signal<any>;
    private player;
    private readonly elementEventsCleanup$;
    private isViewInitialized;
    constructor();
    ngAfterViewInit(): void;
    private onLoadedData;
    private onTimeUpdate;
    private onLoadedMetadata;
    private onPlayInternal;
    private onPauseInternal;
    private setupEvents;
    private onFullscreenChange;
    toggleFullscreen(): void;
    pause(): void;
    togglePlay(): void;
    seek(event: any): void;
    toggleMute(): void;
    private initPlayer;
    private updateSrc;
    ngOnDestroy(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VideoPlayer, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VideoPlayer, "ngs-video-player", ["ngsVideoPlayer"], { "src": { "alias": "src"; "required": false; "isSignal": true; }; "thumbnailUrl": { "alias": "thumbnailUrl"; "required": false; "isSignal": true; }; "payload": { "alias": "payload"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "autoPlay": { "alias": "autoPlay"; "required": false; "isSignal": true; }; "showPlayButton": { "alias": "showPlayButton"; "required": false; "isSignal": true; }; "showSpeaker": { "alias": "showSpeaker"; "required": false; "isSignal": true; }; "showFullscreen": { "alias": "showFullscreen"; "required": false; "isSignal": true; }; "showDurationSlider": { "alias": "showDurationSlider"; "required": false; "isSignal": true; }; "disableClickToPlay": { "alias": "disableClickToPlay"; "required": false; "isSignal": true; }; "muted": { "alias": "muted"; "required": false; "isSignal": true; }; "withCredentials": { "alias": "withCredentials"; "required": false; "isSignal": true; }; }, { "onPlay": "play"; "onPause": "pause"; "onEnded": "ended"; "onLoaded": "loaded"; "onError": "error"; }, never, never, true, never>;
}

export { VideoPlayer };
export type { VideoPlayerOrientation };
