import { HTMLAttributes, ReactElement } from "react";
import "./LinearProgress.css";
export interface InfoRendererProps {
unit: string;
value: number;
getUnitProps?: (props: T) => {
className: string;
} & T;
getValueProps: (props: U) => {
className: string;
} & U;
}
export interface LinearProgressProps extends HTMLAttributes {
/**
* The className(s) of the component.
*/
className?: string;
/**
* Disabled flag, true when the component is disabled.
*/
disabled?: boolean;
/**
* render props callback to render info panel.
*/
renderInfo?: (props: Pick, "value" | "unit" | "getValueProps" | "getUnitProps">) => ReactElement>;
/**
* If `true`, the info panel will be displayed.
*/
showInfo?: boolean;
/**
* The size of the line, default is 'small'.
*/
size?: "small" | "medium" | "large";
/**
* Default unit is`%`.
*/
unit?: string;
/**
* The value of the progress indicator for the determinate and static variants.
* Value between 0 and 100.
*/
value?: number;
/**
* The variant to use.
* Use indeterminate or query when there is no progress value.
*/
variant?: "determinate" | "indeterminate" | "query";
}
/**
* Linear progress bar with an optional Info element, showing the current value
* The default Info element can be rendered by setting `unit` and `value` props.
* A custom Info element can be rendered using the `renderInfo` callback.
* The render props callback is of the form
* @param {string} unit the unit of the progress info
* @param {number} value the value of the progress info
* @param {function} getUnitProps function callback that returns the unit props
* @param {function} getValueProps function callback that returns the value props
*/
export declare const LinearProgress: import("react").ForwardRefExoticComponent>;