import { RefObject } from 'react';
import { Chapter, Story } from '../types/story.types';
import { VideoProgress } from './video-progress';
import { MediaPlayer } from '../components/Player';
export interface VideoContext {
    playerRef: RefObject<MediaPlayer>;
    story: Story;
    play: boolean;
    muted: boolean;
    ready: boolean;
    preloader: boolean;
    hasStartedAtLeastOnce: boolean;
    loading: boolean;
    currentChapter: Chapter;
    currentChapterIndex: number;
    focused: boolean;
    videoProgress: VideoProgress;
    setPlay: (data: boolean) => void;
    setMuted: (data: boolean) => void;
    setFocused: (data: boolean) => void;
    setPreloader: (data: boolean) => void;
    handleDrift?: (seconds: number) => void;
    handleProgress?: (seconds: number) => void;
    handleError?: () => void;
    handleLinkClicked?: (linkUrl: string) => void;
    handlePlay?: () => void;
    handlePause?: () => void;
    handleStart?: () => void;
    handleEnded?: () => void;
    handleReady?: (startSeconds?: number) => void;
    handleBuffer?: () => void;
    handleBufferEnd?: () => void;
    goToPreviousChapter: () => void;
    goToNextChapter: () => void;
    onKeyDown: (event: KeyboardEvent) => void;
}
export declare const VIDEO_DEFAULT_VALUE: VideoContext;
export declare const useVideo: (playerRef: RefObject<MediaPlayer>, story: Story, inlineMode?: boolean) => VideoContext;
export declare const videoContext: import("react").Context<VideoContext>;
