export type StatusBarIcon = {
    /**
     * The class name of the icon i.e. "rioglyph-cruise-control".
     */
    name: string;
    /**
     * The position of the icon.
     *
     * @default 'left'
     */
    alignment?: 'left' | 'right';
    /**
     * The text color class name for the icon.
     *
     * @default 'text-color-gray'
     */
    color?: string;
    /**
     * Optional class names for the icon.
     */
    className?: string;
};
export type StatusBarLabel = {
    /**
     * The label content.
     */
    value: string | React.ReactNode;
    /**
     * The position of the icon.
     *
     * @default 'right'
     */
    alignment?: 'left' | 'top' | 'right';
    /**
     * The text weight of the label.
     *
     * @default 'bold'
     */
    weight?: 'light' | 'bold';
    /**
     * The text color class name for the label.
     *
     * @default 'text-color-gray'
     */
    color?: string;
    /**
     * Optional class names for the label.
     */
    className?: string;
};
export type StatusBarProgress = {
    /**
     * The percentage of the progress.
     *
     * @default 0
     */
    percentage?: number;
    /**
     * The color class name for the label.
     *
     * @default 'progress-bar-info'
     */
    color?: string;
    /**
     * Optional tooltip content to be shown for the progress bar.
     */
    tooltip?: string | React.ReactNode;
    /**
     * The position of the tooltip for the progress bar.
     *
     * @default 'top'
     */
    tooltipPosition?: 'top' | 'right' | 'bottom' | 'left';
    /**
     * The delay in milliseconds for when the tooltip is shown when hovering the progress bar.
     *
     * @default 50
     */
    tooltipDelay?: number;
    /**
     * Optional class names for the progress bar.
     */
    className?: string;
};
export type StatusBarProps = {
    /**
     * The icon to be shown next to the progress bar.
     */
    icon?: StatusBarIcon;
    /**
     * The label to be shown for the progress bar.
     */
    label?: StatusBarLabel;
    /**
     * List of progress bars which will be stacked in given order if there are multiple.
     */
    progress?: StatusBarProgress[];
    /**
     * The size of the icon and progress bar.
     *
     * Possible values are:
     *
     * - `'small'`
     * - `'large'`
     *
     * @default 'small'
     */
    size?: 'small' | 'large';
    /**
     * Uses a divider for multiple progress bars when defined.
     *
     * @default true
     */
    useProgressDivider?: boolean;
    /**
     * Optional class names for the wrapper element.
     */
    className?: string;
};
export type IconWithDefaults = StatusBarIcon & {
    alignment: 'left' | 'right';
};
export type LabelWithDefaults = StatusBarLabel & {
    alignment: 'left' | 'top' | 'right';
    weight: 'light' | 'bold';
};
declare const StatusBar: (props: StatusBarProps) => import("react/jsx-runtime").JSX.Element;
export default StatusBar;
