import React from 'react';
import PropTypes from 'prop-types';
export declare class AudioPlayer extends React.Component<any, any> {
    static MODES: {
        FULL: number;
        INVISIBLE: number;
    };
    static propTypes: {
        id: PropTypes.Requireable<string>;
        mode: PropTypes.Requireable<number>;
        audioUrl: PropTypes.Requireable<string>;
        autoplay: PropTypes.Requireable<boolean>;
        canPause: PropTypes.Requireable<boolean>;
        onPlay: PropTypes.Requireable<(...args: any[]) => any>;
        onRecord: PropTypes.Requireable<(...args: any[]) => any>;
        downloadUrl: PropTypes.Requireable<string>;
        loadingError: PropTypes.Requireable<string>;
        onLoadError: PropTypes.Requireable<(...args: any[]) => any>;
        pauseLabel: PropTypes.Requireable<string>;
        playLabel: PropTypes.Requireable<string>;
        timeSlider: PropTypes.Requireable<string>;
        recordLabel: PropTypes.Requireable<string>;
        downloadLabel: PropTypes.Requireable<string>;
        autoFocus: PropTypes.Requireable<boolean>;
        onBlur: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        audioUrl: string;
        downloadUrl: string;
        onPlay: any;
        onRecord: any;
        onLoadError: any;
        id: string;
        mode: number;
        autoplay: boolean;
        canPause: boolean;
        readonly loadingError: string;
        readonly playLabel: string;
        readonly pauseLabel: string;
        readonly timeSlider: string;
        readonly recordLabel: string;
        readonly downloadLabel: string;
        autoFocus: boolean;
        onBlur: any;
    };
    constructor(props: any, params: any);
    initialized: any;
    focusHelper: any;
    progressIndicatorWidth: any;
    player: any;
    lastFocusElement: any;
    draggingProgress: any;
    audioPlayerWrapper: any;
    componentWillMount(): void;
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: any): void;
    componentWillUnmount(): void;
    stopPlayer: (instance: any) => void;
    progressDrag: (e: any) => void;
    progressDragStart: (e: any) => void;
    windowDragEnd: (e: any) => void;
    progressKeyDown: (e: any) => void;
    progressKeyUp: (e: any) => void;
    getPlayButton(): JSX.Element;
    getProgressBar(): JSX.Element;
    getDuration(): JSX.Element;
    getVolumnControl(): JSX.Element;
    getRecordButton(): JSX.Element;
    getDownloadBtn(): JSX.Element;
    play(forcePlay?: boolean): void;
    monitorAudioProgress(): void;
    stopMonitorAudioProgress(): void;
    createAudio(): HTMLAudioElement;
    updateProgressByMouse(e: any, play?: boolean): void;
    updateProgressByKeyboard(e: any, play?: boolean, step?: number): void;
    updateProgress(processPercentage: any, play?: boolean): void;
    setVolume: (currentVolume: any, isMuted: any) => void;
    isFullMode(): boolean;
    isInVisible(): boolean;
    onPlayerBlur: (event: any) => void;
    render(): JSX.Element;
}
