/** @module @airtable/blocks/ui: ProgressBar */ /** */
import * as PropTypes from 'prop-types';
import * as React from 'react';
import { BackgroundColorProps, MaxWidthProps, MinWidthProps, WidthProps, HeightProps, FlexItemSetProps, PositionSetProps, MarginProps } from './system';
import { OptionalResponsiveProp } from './system/utils/types';
import { TooltipAnchorProps } from './types/tooltip_anchor_props';
/**
 * Style props for the {@link ProgressBar} component. Also accepts:
 * * {@link BackgroundColorProps}
 * * {@link FlexItemSetProps}
 * * {@link HeightProps}
 * * {@link MarginProps}
 * * {@link MaxWidthProps}
 * * {@link MinWidthProps}
 * * {@link PositionSetProps}
 * * {@link WidthProps}
 *
 * @noInheritDoc
 */
interface ProgressBarStyleProps extends BackgroundColorProps, MaxWidthProps, MinWidthProps, WidthProps, HeightProps, FlexItemSetProps, PositionSetProps, MarginProps {
    /** Defines the display type of an element, which consists of the two basic qualities of how an element generates boxes — the outer display type defining how the box participates in flow layout, and the inner display type defining how the children of the box are laid out. */
    display?: OptionalResponsiveProp<'block' | 'inline' | 'inline-block'>;
}
export declare const progressBarStylePropTypes: {
    [x: string]: PropTypes.Validator<any>;
};
/**
 * Props for the {@link ProgressBar} component. Also accepts:
 * * {@link ProgressBarStyleProps}
 *
 * @docsPath UI/components/ProgressBar
 * @noInheritDoc
 */
interface ProgressBarProps extends ProgressBarStyleProps, TooltipAnchorProps {
    /** A CSS color, such as `#ff9900`. Defaults to a blue color. */
    barColor?: string;
    /** A number between 0 and 1. 0 is 0% complete, 0.5 is 50% complete, 1 is 100% complete. If you include a number outside of the range, the value will be clamped to be inside of the range. */
    progress: number;
    /** Extra `className`s to apply to the element, separated by spaces. */
    className?: string;
    /** Extra styles to apply to the progress bar. */
    style?: React.CSSProperties;
}
/**
 * A progress bar.
 *
 * @example
 * ```js
 * import {ProgressBar} from '@airtable/blocks/ui';
 *
 * function MyComponent() {
 *     return (
 *         <ProgressBar
 *             progress={0.6}
 *             barColor='#ff9900'
 *         />
 *     );
 * }
 * ```
 * @docsPath UI/components/ProgressBar
 * @component
 */
declare const ProgressBar: {
    (props: ProgressBarProps): JSX.Element;
    propTypes: {
        onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        hasOnClick: PropTypes.Requireable<boolean>;
        progress: PropTypes.Validator<number>;
        barColor: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
    };
    defaultProps: {
        barColor: "blueBright";
        backgroundColor: "grayLight1";
        width: string;
        height: number;
    };
};
export default ProgressBar;
