import React from 'react';
import { ViewStyle } from 'react-native';
import { AwesomeSliderProps, SliderThemeType } from 'react-native-awesome-slider/src/index';
import type { PanGesture } from 'react-native-gesture-handler';
import Animated from 'react-native-reanimated';
import { OnProgressData, OnSeekData, VideoProperties } from 'react-native-video';
export declare const width: number, height: number, scale: number, fontScale: number;
export declare type VideoProps = VideoProperties & {
    showOnStart?: boolean;
    onEnterFullscreen?: () => void;
    onExitFullscreen?: () => void;
    controlTimeout?: number;
    videoDefaultHeight?: number;
    headerBarTitle?: string;
    onTapBack?: () => void;
    navigation?: any;
    autoPlay?: boolean;
    onToggleAutoPlay?: (state: boolean) => void;
    onTapMore?: () => void;
    doubleTapInterval?: number;
    theme?: SliderThemeType;
    paused: boolean;
    onPausedChange: (paused: boolean) => void;
    onTapPause?: (paused: boolean) => void;
    sliderProps?: Omit<AwesomeSliderProps, 'progress' | 'minimumValue' | 'maximumValue'>;
    videoHeight: Animated.SharedValue<number>;
    customAnimationStyle?: Animated.AnimateStyle<ViewStyle>;
    controlViewOpacityValue?: Animated.SharedValue<number>;
    onCustomPanGesture?: PanGesture;
    isFullScreen: Animated.SharedValue<boolean>;
    disableControl?: boolean;
    renderBackIcon?: () => JSX.Element;
    renderFullScreenBackIcon?: () => JSX.Element;
    renderMore?: () => JSX.Element;
    renderFullScreen?: () => JSX.Element;
    onVideoPlayEnd?: () => void;
    onAutoPlayText?: string;
    offAutoPlayText?: string;
    children?: any;
    onPostProgress?: (data: OnProgressData) => void;
    onPostSeek?: (data: OnSeekData) => void;
};
export declare type VideoPlayerRef = {
    /**
     * Check control view to see if it is displayed before playing
     */
    setPlay: () => void;
    /**
     * Check control view to see if it is displayed before pause
     */
    setPause: () => void;
    /**
     * toggle full screen
     */
    toggleFullSreen: (isFullScreen: boolean) => void;
    /**
     * toggle control opatity
     */
    toggleControlViewOpacity: (isShow: boolean) => void;
    /**
     * seek to progress
     */
    setSeekTo: (second: number) => void;
};
declare const VideoPlayer: React.ForwardRefExoticComponent<VideoProperties & {
    showOnStart?: boolean | undefined;
    onEnterFullscreen?: (() => void) | undefined;
    onExitFullscreen?: (() => void) | undefined;
    controlTimeout?: number | undefined;
    videoDefaultHeight?: number | undefined;
    headerBarTitle?: string | undefined;
    onTapBack?: (() => void) | undefined;
    navigation?: any;
    autoPlay?: boolean | undefined;
    onToggleAutoPlay?: ((state: boolean) => void) | undefined;
    onTapMore?: (() => void) | undefined;
    doubleTapInterval?: number | undefined;
    theme?: SliderThemeType;
    paused: boolean;
    onPausedChange: (paused: boolean) => void;
    onTapPause?: ((paused: boolean) => void) | undefined;
    sliderProps?: Omit<AwesomeSliderProps, "progress" | "minimumValue" | "maximumValue"> | undefined;
    videoHeight: Animated.SharedValue<number>;
    customAnimationStyle?: Animated.AnimateStyle<ViewStyle> | undefined;
    controlViewOpacityValue?: Animated.SharedValue<number> | undefined;
    onCustomPanGesture?: import("react-native-gesture-handler/lib/typescript/handlers/gestures/panGesture").PanGesture | undefined;
    isFullScreen: Animated.SharedValue<boolean>;
    disableControl?: boolean | undefined;
    renderBackIcon?: (() => JSX.Element) | undefined;
    renderFullScreenBackIcon?: (() => JSX.Element) | undefined;
    renderMore?: (() => JSX.Element) | undefined;
    renderFullScreen?: (() => JSX.Element) | undefined;
    onVideoPlayEnd?: (() => void) | undefined;
    onAutoPlayText?: string | undefined;
    offAutoPlayText?: string | undefined;
    children?: any;
    onPostProgress?: ((data: OnProgressData) => void) | undefined;
    onPostSeek?: ((data: OnSeekData) => void) | undefined;
} & React.RefAttributes<VideoPlayerRef>>;
export default VideoPlayer;
