import React, { Component } from 'react'; import './Progress.css'; export declare type ProgressTheme = 'default' | 'success' | 'warning' | 'danger' | 'info' | 'misc'; export declare type ProgressView = 'normal' | 'thin' | 'thinnest'; export declare type ProgressValue = number; interface Stack { value: ProgressValue; color?: string; title?: string; theme?: ProgressTheme; className?: string; content?: React.ReactNode; } export interface ProgressColorStops { theme: ProgressTheme; stop: number; } interface ProgressGeneralProps { /** ClassName of element */ className?: string; } interface ProgressDefaultProps { /** Text inside progress bar */ text: string; /** Theme */ theme: ProgressTheme; /** View. Text of progress bar is displayed in `normal` view only. */ view: ProgressView; } interface ProgressWithValue extends ProgressGeneralProps, Partial { /** Current progress value. Available range is from 0 to 100. If `stack` property is passed `value` is not required and behaves as maxValue. */ value: ProgressValue; /** ProgressTheme breakpoints. [Details](#colorstops) */ colorStops?: ProgressColorStops[]; /** Alternative value of `colorStops`. Available range is from 0 to 100. */ colorStopsValue?: ProgressValue; } interface ProgressWithStack extends ProgressGeneralProps, Partial { /** Configuration of composite progress bar. Not required if a `value` property is passed. [Details](#stack) */ stack: Stack[]; value?: ProgressValue; /** ClassName of stack element */ stackClassName?: string; } export declare type ProgressProps = ProgressWithStack | ProgressWithValue; export declare class Progress extends Component { static defaultProps: ProgressDefaultProps; static isFiniteNumber(value: number): boolean; static isBetween(value: number, min: number, max: number): boolean; static getOffset(value: number): number; static getValueFromStack(stack: Stack[]): number; static isProgressWithStack(props: ProgressProps): props is ProgressWithStack; render(): JSX.Element; private getTheme; private renderContent; private renderItem; private renderStack; private renderInnerText; private renderText; } export {};