import { CSSProperties, Component } from 'react';
import ICoUp from 'countup.js';
export interface IProps extends ICoUp.CountUpOptions {
    /**
     * 类名
     */
    className?: string;
    /**
     * 样式
     */
    style?: CSSProperties;
    /**
     * 目标数字
     */
    endVal: number;
    /**
     * 是否以上一个结束数字开始下次的动画
     */
    fromPreserveVal?: boolean;
    /**
     * 延迟时间（s）
     */
    delay?: number;
    /**
     * 是否重画
     */
    redraw?: boolean;
    onStart?: (obj: any) => void;
    onEnd?: (obj: any) => void;
    /**
     * 切换 pause/resume 回调
     */
    onPauseResume?: (obj: any) => void;
    /**
     * 重置回调
     */
    onReset?: (obj: any) => void;
    /**
     * 更新endVal和动画回调
     */
    onUpdate?: (obj: any) => void;
}
declare class CountUp extends Component<IProps> {
    static propTypes: {
        startVal: any;
        endVal: any;
        decimalPlaces: any;
        duration: any;
        useGrouping: any;
        useEasing: any;
        smartEasingThreshold: any;
        smartEasingAmount: any;
        separator: any;
        decimal: any;
        delay: any;
        prefix: any;
        suffix: any;
        redraw: any;
        fromPreserveVal: any;
        onStart: any;
        onEnd: any;
        onPauseResume: any;
        onReset: any;
        onUpdate: any;
    };
    static defaultProps: {
        startVal: number;
        decimalPlaces: number;
        duration: number;
        useGrouping: boolean;
        useEasing: boolean;
        smartEasingThreshold: number;
        smartEasingAmount: number;
        separator: string;
        decimal: string;
        delay: number;
        prefix: string;
        suffix: string;
        redraw: boolean;
        fromPreserveVal: boolean;
        onStart: () => void;
        onEnd: () => void;
        onPauseResume: () => void;
        onReset: () => void;
        onUpdate: () => void;
    };
    instance: ICoUp.CountUp;
    timeoutId: any;
    containerRef: any;
    componentDidMount(): void;
    checkProps: (updatedProps: IProps) => boolean;
    shouldComponentUpdate(nextProps: IProps): boolean;
    componentDidUpdate(prevProps: IProps): void;
    componentWillUnmount(): void;
    createInstance: () => any;
    pauseResume: () => void;
    reset: () => void;
    restart: () => void;
    start: () => void;
    update: (newEnd: number) => void;
    render(): any;
}
export default CountUp;
