import { ComponentPropsWithoutRef, AriaAttributes, ReactElement } from 'react';
import { FieldLabelProps } from '../FieldLabel';
import { HelperProps } from '../../internal/components';
import { LayoutUtilProps } from '../../types';
/**
 * Props for the ProgressBar component
 * @extends Omit<ComponentPropsWithoutRef<"progress">, "value">
 * @extends LayoutUtilProps
 */
export type ProgressBarProps = Omit<ComponentPropsWithoutRef<"progress">, "value"> & LayoutUtilProps & {
    /**
     * Error state for the field. Pass `true` to indicate error styling without a message.
     * Pass a string, string[], or ReactElement (deprecated) for error messages.
     * @default false
     */
    error?: boolean | string | ReactElement | string[];
    /**
     * @deprecated No longer used. Error messages always use `aria-live="assertive"`.
     */
    errorAriaLive?: HelperProps["errorAriaLive"];
    /**
     * Warning message(s) to display. Supports a single string or an array of strings.
     */
    warning?: string | string[];
    /**
     * Description text to display below the progress bar
     */
    description?: HelperProps["description"];
} & ({
    /**
     * Label text for the progress bar
     */
    label: FieldLabelProps["children"];
    /**
     * Additional props for the label component
     */
    labelProps?: Omit<FieldLabelProps, "children" | "id" | "required">;
} | {
    label?: never;
    labelProps?: never;
    /**
     * Accessible label for the progress bar (alternative to label)
     */
    ["aria-label"]: Exclude<AriaAttributes["aria-label"], undefined>;
} | {
    label?: never;
    labelProps?: never;
    /**
     * ID of element that labels the progress bar (alternative to label)
     */
    ["aria-labelledby"]: Exclude<AriaAttributes["aria-labelledby"], undefined>;
}) & ({
    /**
     * Current progress value (0-100 or 0-max)
     */
    value: `${number}` | number;
    /**
     * Whether the progress bar is in indeterminate state
     * @default false
     */
    indeterminate?: false;
} | {
    value?: never;
    /**
     * Whether the progress bar is in indeterminate state
     */
    indeterminate: true;
});
/**
 * ProgressBar component for displaying progress indicators.
 *
 * Features:
 * - Supports both determinate and indeterminate progress states
 * - Optional label with customizable label props
 * - Error state with error message display
 * - Success state with check icon when value equals max
 * - Description text support
 * - Accessibility support with proper ARIA attributes
 * - Layout utility props for positioning and spacing
 * - Flexible labeling options (label, aria-label, aria-labelledby)
 * - Error and success visual indicators
 *
 * @example
 * <ProgressBar
 *   label="Upload Progress"
 *   value={75}
 *   max={100}
 *   description="Uploading files..."
 * />
 *
 * @example
 * <ProgressBar
 *   label="Processing"
 *   indeterminate
 *   description="Please wait..."
 * />
 *
 * @example
 * <ProgressBar
 *   aria-label="Download progress"
 *   value={50}
 *   error="Download failed"
 * />
 */
export declare const ProgressBar: import('react').ForwardRefExoticComponent<ProgressBarProps & import('react').RefAttributes<HTMLDivElement>>;
