import { VideoPlayerProps, VideoQualityOption } from "./types";
export declare const useVideoPlayer: ({ stream, availableQualities, initialQuality, autoPlay, liveThresholdSeconds, allowPlaybackRateForStream, }: Pick<VideoPlayerProps, "stream" | "availableQualities" | "initialQuality" | "autoPlay" | "liveThresholdSeconds" | "allowPlaybackRateForStream">) => {
    containerRef: import("react").RefObject<HTMLDivElement | null>;
    videoRef: import("react").RefObject<HTMLVideoElement | null>;
    setVideoRef: (element: HTMLVideoElement | null) => void;
    selectedQuality: VideoQualityOption | null;
    setSelectedQuality: import("react").Dispatch<import("react").SetStateAction<VideoQualityOption | null>>;
    isPlaying: boolean;
    isLive: boolean;
    canSeek: boolean;
    currentTime: number;
    setCurrentTime: import("react").Dispatch<import("react").SetStateAction<number>>;
    seekableEnd: number;
    playbackRate: number;
    setPlaybackRate: import("react").Dispatch<import("react").SetStateAction<number>>;
    zoom: number;
    setZoom: import("react").Dispatch<import("react").SetStateAction<number>>;
    panX: number;
    setPanX: import("react").Dispatch<import("react").SetStateAction<number>>;
    panY: number;
    setPanY: import("react").Dispatch<import("react").SetStateAction<number>>;
    isDraggingRef: import("react").RefObject<boolean>;
    dragStartRef: import("react").RefObject<{
        x: number;
        y: number;
    }>;
    panStartRef: import("react").RefObject<{
        x: number;
        y: number;
    }>;
    didDragRef: import("react").RefObject<boolean>;
    isFullscreen: boolean;
    isLoading: boolean;
    isSeeking: boolean;
    hasError: boolean;
    canAdjustPlaybackRate: boolean | undefined;
    updateLiveStatus: () => void;
};
