import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type ProgressRingVariant = "primary" | "success" | "warning" | "error" | "neutral";
type DivPropsBase = Omit<ComponentPropsWithoutRef<"div">, "color" | "children">;
export interface ProgressRingProps extends DivPropsBase {
    /** Current value (0..`max`). */
    value: number;
    max?: number;
    /** Pixel diameter. Default 120. */
    size?: number;
    /** Stroke width in px. Default 10. */
    strokeWidth?: number;
    variant?: ProgressRingVariant;
    /** Override the track (under-stroke) colour. Accepts any CSS color
     *  value — typically a token reference like `var(--ods-border-default)`. */
    trackColor?: string;
    /** Override the fill (over-stroke) colour. By default the ring uses
     *  the variant's token. */
    fillColor?: string;
    /** Override the centered "{value}%" label. Pass any ReactNode. */
    label?: ReactNode;
    /** Show the centered value label. Ignored when `label` is set. */
    showValue?: boolean;
    /** When true, the ring spins continuously with a fixed-arc fill —
     *  ignores `value`. Use for loading / pending states. */
    indeterminate?: boolean;
    /** Custom human-readable text for AT (`aria-valuetext`). When omitted
     *  we synthesize "{n}%" for determinate rings and "Loading" for the
     *  indeterminate variant. */
    valueText?: string;
}
export declare const ProgressRing: import("react").ForwardRefExoticComponent<ProgressRingProps & import("react").RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=ProgressRing.d.ts.map