import React from "react";
import type { W1VideoPlayerState } from "../../../types";
import type { VimeoPlayer, YouTubePlayer } from "../streaming-utils/types";
interface UseVideoControlsProps {
    videoRef: React.RefObject<HTMLVideoElement>;
    youtubePlayerRef: React.RefObject<YouTubePlayer | null>;
    vimeoPlayerRef: React.RefObject<VimeoPlayer | null>;
    state: W1VideoPlayerState;
    setState: React.Dispatch<React.SetStateAction<W1VideoPlayerState>>;
    skipIntervals: number;
    enableKeyboardControls: boolean;
    onProgress?: (progress: number) => void;
    onTimeUpdate?: (currentTime: number) => void;
    onVolumeChange?: (volume: number) => void;
    onPlaybackRateChange?: (rate: number) => void;
}
export declare const useVideoControls: ({ videoRef, youtubePlayerRef, vimeoPlayerRef, state, setState, skipIntervals, enableKeyboardControls, onProgress, onTimeUpdate, onVolumeChange, onPlaybackRateChange, }: UseVideoControlsProps) => {
    controlsRef: React.RefObject<HTMLDivElement | null>;
    handlePlay: () => Promise<void>;
    handlePause: () => Promise<void>;
    handlePlayPause: () => void;
    handleVolumeChange: (newVolume: number) => void;
    handleMute: () => void;
    handleSeek: (newTime: number) => void;
    handleSkipBackward: () => void;
    handleSkipForward: () => void;
    handlePlaybackRateChange: (newRate: number) => void;
    handleFullscreen: () => Promise<void>;
    handleMobileFullscreen: () => Promise<void>;
    handlePictureInPicture: () => Promise<void>;
};
export {};
