import React, { Component, CSSProperties } from 'react';
import PropTypes from 'prop-types';
import { Size } from '../_util/enum';
import { ProgressPosition, ProgressStatus, ProgressType } from './enum';
export interface ProgressProps {
    prefixCls?: string;
    className?: string;
    type?: ProgressType;
    percent?: number;
    successPercent?: number;
    format?: (percent: number) => React.ReactNode;
    status?: ProgressStatus;
    showInfo?: boolean;
    showPointer?: boolean;
    strokeWidth?: number;
    trailColor?: string;
    strokeColor?: string;
    width?: number;
    style?: CSSProperties;
    gapDegree?: number;
    gapPosition?: ProgressPosition;
    size?: Size;
}
export default class Progress extends Component<ProgressProps, {}> {
    static displayName: string;
    static Line: any;
    static Circle: any;
    static Loading: any;
    static defaultProps: {
        type: ProgressType;
        percent: number;
        showInfo: boolean;
        showPointer: boolean;
        trailColor: string;
        size: Size;
    };
    static propTypes: {
        status: PropTypes.Requireable<ProgressStatus>;
        type: PropTypes.Requireable<ProgressType>;
        showInfo: PropTypes.Requireable<boolean>;
        showPointer: PropTypes.Requireable<boolean>;
        percent: PropTypes.Requireable<number>;
        width: PropTypes.Requireable<number>;
        strokeWidth: PropTypes.Requireable<number>;
        strokeColor: PropTypes.Requireable<string>;
        trailColor: PropTypes.Requireable<string>;
        format: PropTypes.Requireable<(...args: any[]) => any>;
        gapDegree: PropTypes.Requireable<number>;
        size: PropTypes.Requireable<Size>;
    };
    renderPointer: () => JSX.Element;
    /**
     * 计算指针角度
     */
    getPointerDeg: () => {
        transform: string;
    };
    render(): JSX.Element;
}
