import { VideoSource, PlayerState, BufferState, VideoQuality, TextTrack, AutoplayBehavior } from '../ArchbaseVideoPlayer.types';
interface UseVideoPlayerOptions {
    src: VideoSource | VideoSource[];
    autoplay?: AutoplayBehavior;
    loop?: boolean;
    muted?: boolean;
    volume?: number;
    startTime?: number;
    qualities?: VideoQuality[];
    textTracks?: TextTrack[];
    defaultSubtitles?: boolean;
    preload?: 'none' | 'metadata' | 'auto';
}
/**
 * Hook customizado para gerenciar estado e lógica do player de vídeo
 */
export declare function useVideoPlayer({ src, autoplay, loop, muted, volume, startTime, qualities, textTracks, defaultSubtitles, preload, }: UseVideoPlayerOptions): {
    videoRef: import('react').RefObject<HTMLVideoElement>;
    containerRef: import('react').RefObject<HTMLDivElement>;
    playerState: PlayerState;
    isPlaying: boolean;
    currentTime: number;
    duration: number;
    buffered: BufferState[];
    volume: number;
    muted: boolean;
    playbackRate: number;
    isFullscreen: boolean;
    isPiP: boolean;
    selectedQuality: string;
    subtitlesEnabled: boolean;
    sources: {
        src: string;
        type?: string;
    }[];
    play: () => void;
    pause: () => void;
    togglePlay: () => void;
    seek: (time: number) => void;
    setVolume: (vol: number) => void;
    toggleMute: () => void;
    setPlaybackRate: (rate: number) => void;
    toggleFullscreen: () => void;
    togglePiP: () => void;
    setSelectedQuality: import('react').Dispatch<import('react').SetStateAction<string>>;
    setSubtitlesEnabled: import('react').Dispatch<import('react').SetStateAction<boolean>>;
    handleLoadStart: () => void;
    handleLoadedMetadata: () => void;
    handleCanPlay: () => void;
    handlePlay: () => void;
    handlePause: () => void;
    handleEnded: () => void;
    handleTimeUpdate: () => void;
    handleVolumeChange: () => void;
    handleRateChange: () => void;
    handleError: (e: React.SyntheticEvent<HTMLVideoElement>) => void;
};
export {};
