import React from "react";
import type { W1VideoPlayerState } from "../../../types";
import { type DashPlayer } from "../streaming-utils/platforms/dash";
import { type HLSPlayer } from "../streaming-utils/platforms/hls";
import type { VimeoPlayer, YouTubePlayer } from "../streaming-utils/types";
interface UseStreamingSetupProps {
    src: string;
    isClient: boolean;
    enableStreamingLibs: boolean;
    autoplay: boolean;
    muted: boolean;
    loop: boolean;
    videoRef: React.RefObject<HTMLVideoElement | null>;
    externalPlayerContainerRef: React.RefObject<HTMLDivElement | null>;
    onReady?: (video: HTMLVideoElement) => void;
    onError?: (error: MediaError | null) => void;
    onStateChange?: (state: W1VideoPlayerState) => void;
    setState: React.Dispatch<React.SetStateAction<W1VideoPlayerState>>;
    setIsStreamingActive: React.Dispatch<React.SetStateAction<boolean>>;
}
interface StreamingPlayers {
    hlsPlayerRef: React.RefObject<HLSPlayer | null>;
    dashPlayerRef: React.RefObject<DashPlayer | null>;
    youtubePlayerRef: React.RefObject<YouTubePlayer | null>;
    vimeoPlayerRef: React.RefObject<VimeoPlayer | null>;
}
export declare const useStreamingSetup: ({ src, isClient, enableStreamingLibs, autoplay, muted, loop, videoRef, externalPlayerContainerRef, onReady, onError, onStateChange, setState, setIsStreamingActive, }: UseStreamingSetupProps) => StreamingPlayers;
export {};
