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>;