import React from 'react';
import type { BigPlayButton, ControlBar, PlaybackRateMenuButton, Player, Shortcut } from 'video-react';
import type { FlvSourceProps, HlsSourceProps, VideoProps } from './types';
export declare class FlvSource extends React.Component<FlvSourceProps, any> {
    mpegtsPlayer: any;
    loaded: boolean;
    timer: any;
    unsubscribe: any;
    componentDidMount(): void;
    componentDidUpdate(prevProps: FlvSourceProps): void;
    componentWillUnmount(): void;
    initFlv({ video, manager, src, isLive, config, actions, setError, autoPlay }: any): void;
    render(): JSX.Element;
}
export declare class HlsSource extends React.Component<HlsSourceProps, any> {
    hls: any;
    loaded: boolean;
    unsubscribe: any;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: HlsSourceProps): void;
    initHls({ video, manager, src, autoPlay, actions }: any): void;
    render(): JSX.Element;
}
export interface VideoState {
    posterInfo?: any;
    videoState?: any;
    error?: string;
    videoLibReady: boolean;
}
export default class Video extends React.Component<VideoProps, VideoState> {
    static BigPlayButton: typeof BigPlayButton;
    static ControlBar: typeof ControlBar;
    static PlaybackRateMenuButton: typeof PlaybackRateMenuButton;
    static Player: typeof Player;
    static Shortcut: typeof Shortcut;
    static defaultProps: {
        columnsCount: number;
        isLive: boolean;
        jumpFrame: boolean;
        aspectRatio: string;
    };
    frameDom: any;
    cursorDom: any;
    player: any;
    times: Array<number>;
    currentIndex: number;
    manualJump: boolean;
    unmounted: boolean;
    constructor(props: VideoProps);
    componentDidMount(): Promise<void>;
    componentWillUnmount(): void;
    onImageLoaded(e: Event): void;
    frameRef(dom: any): void;
    cursorRef(dom: any): void;
    playerRef(player: any): void;
    moveCursorToIndex(index: number): void;
    jumpToIndex(index: number): void;
    onClick(e: Event): void;
    setError(error?: string): void;
    renderFrames(): JSX.Element | null;
    renderPlayer(): JSX.Element | null;
    renderPosterAndPlayer(): JSX.Element;
    render(): JSX.Element;
}
export declare class VideoRenderer extends Video {
}
