import React, { ReactNode, Component } from 'react'; import PropTypes from 'prop-types'; import '@douyinfe/semi-foundation/lib/cjs/progress/progress.css'; import { Animation } from '@douyinfe/semi-animation'; import { Motion } from '../_base/base'; import { StrokeArr } from '@douyinfe/semi-foundation/lib/cjs/progress/generates'; export interface ProgressProps { 'aria-label'?: string; 'aria-labelledby'?: string; 'aria-valuetext'?: string; className?: string; direction?: 'horizontal' | 'vertical'; format?: (percent: number) => React.ReactNode; id?: string; motion?: Motion; orbitStroke?: string; percent?: number; showInfo?: boolean; size?: 'default' | 'small' | 'large'; stroke?: string | StrokeArr; strokeGradient?: boolean; strokeLinecap?: 'round' | 'square'; strokeWidth?: number; style?: React.CSSProperties; type?: 'line' | 'circle'; width?: number; } export interface ProgressState { percentNumber: number; } declare class Progress extends Component { static propTypes: { 'aria-label': PropTypes.Requireable; 'aria-labelledby': PropTypes.Requireable; 'aria-valuetext': PropTypes.Requireable; className: PropTypes.Requireable; direction: PropTypes.Requireable; format: PropTypes.Requireable any)>>; id: PropTypes.Requireable; motion: PropTypes.Requireable>; orbitStroke: PropTypes.Requireable; percent: PropTypes.Requireable; scale: PropTypes.Requireable; showInfo: PropTypes.Requireable; size: PropTypes.Requireable; stroke: PropTypes.Requireable; color: PropTypes.Requireable; }>[]>>; strokeGradient: PropTypes.Requireable; strokeLinecap: PropTypes.Requireable; strokeWidth: PropTypes.Requireable; style: PropTypes.Requireable; type: PropTypes.Requireable; width: PropTypes.Requireable; }; static defaultProps: { className: string; direction: string; format: (text: string) => string; motion: boolean; percent: number; showInfo: boolean; size: string; strokeGradient: boolean; strokeLinecap: string; strokeWidth: number; style: {}; type: string; }; _mounted: boolean; animation: Animation; constructor(props: ProgressProps); componentDidUpdate(prevProps: ProgressProps): void; componentWillUnmount(): void; renderCircleProgress(): ReactNode; calcPercent(percent: number): number; selectStroke(stroke: string | StrokeArr, percent: number, strokeGradient: any): string; renderLineProgress(): ReactNode; render(): ReactNode; } export default Progress;