import { TNode, Value } from '@tempots/dom';
import { ThemeColorName } from '../../tokens';
import { RadiusName } from '../../tokens/radius';
import { ExtendedColor } from '../theme/style-utils';
/**
 * Configuration options for the {@link ProgressBar} component.
 */
export interface ProgressBarOptions {
    /** Current progress value (0 to max). @default 0 */
    value?: Value<number>;
    /** Maximum value for the progress bar. @default 100 */
    max?: Value<number>;
    /** Visual size variant. @default 'md' */
    size?: Value<'sm' | 'md' | 'lg'>;
    /** Theme color for the progress fill. @default 'primary' */
    color?: Value<ThemeColorName>;
    /** Whether to show indeterminate loading animation. @default false */
    indeterminate?: Value<boolean>;
    /** Whether to show percentage text label. @default false */
    showLabel?: Value<boolean>;
    /** Border radius preset for the progress bar. @default 'full' */
    roundedness?: Value<RadiusName>;
}
/**
 * Generates CSS class names for the progress bar based on size and indeterminate state.
 *
 * @param size - Size variant (sm, md, lg)
 * @param indeterminate - Whether in indeterminate state
 * @param roundedness - Border radius preset
 * @returns Space-separated CSS class string
 */
export declare function generateProgressBarClasses(size: 'sm' | 'md' | 'lg', indeterminate: boolean, roundedness: RadiusName): string;
/**
 * Generates inline CSS custom properties for progress bar theming based on color.
 * Sets fill and track colors for both light and dark modes.
 *
 * @param color - The theme color
 * @returns Semicolon-separated CSS custom property declarations
 */
export declare function generateProgressBarStyles(color: ExtendedColor): string;
/**
 * A horizontal progress bar component that shows completion status.
 * Supports determinate (with value) and indeterminate (loading) states,
 * configurable sizing, theming, and optional percentage labels.
 *
 * Uses ARIA progressbar role with proper attributes for accessibility.
 *
 * @param options - Configuration for value, size, color, and display options
 * @returns A styled progress bar element with track and fill
 *
 * @example
 * ```typescript
 * // Basic determinate progress bar
 * ProgressBar({ value: 65, max: 100 })
 * ```
 *
 * @example
 * ```typescript
 * // With label showing percentage
 * ProgressBar({ value: 75, showLabel: true, color: 'success' })
 * ```
 *
 * @example
 * ```typescript
 * // Indeterminate loading state
 * ProgressBar({ indeterminate: true, color: 'primary' })
 * ```
 *
 * @example
 * ```typescript
 * // Custom sizing and color
 * ProgressBar({
 *   value: 42,
 *   max: 100,
 *   size: 'lg',
 *   color: 'warning',
 *   roundedness: 'sm'
 * })
 * ```
 */
export declare function ProgressBar({ value, max, size, color, indeterminate, showLabel, roundedness, }: ProgressBarOptions): TNode;
