import "./activity_indicator.css"; import type * as React from "react"; import { Progress as Base } from "@base-ui/react/progress"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; import { type InkColor } from "./text_ink"; interface ActivityIndicatorBase extends StyleProps { /** Left out, the default ink. */ color?: InkColor; /** * The mark's own measure in px: the ring's outer diameter (default 24) or one dot's (default 8). */ size?: number; testID?: string; ref?: React.Ref; } interface ActivityIndicatorSpinnerProps extends ActivityIndicatorBase { variant?: "spinner"; /** The ring is a Base UI `Progress`, so its render prop is that part's. */ render?: Base.Root.Props["render"]; /** * `progressbar` is name-required: a spinner alone in a region takes a name; one inside a control * that already reports busy takes none. */ accessibilityLabel?: string; /** What the ring announces instead of a figure. Defaults to the locale pack. */ valueLabel?: string; } /** Decorative, out of the accessibility tree. */ interface ActivityIndicatorDotsProps extends ActivityIndicatorBase { variant: "dots"; accessibilityLabel?: never; valueLabel?: never; render?: useRender.RenderProp; } export type ActivityIndicatorProps = ActivityIndicatorSpinnerProps | ActivityIndicatorDotsProps; /** * WORK IN FLIGHT with no known duration (determinate work is `Progress`; a region in flight is * `RegionState` or `Skeleton`). `spinner` is a value-less Base UI `Progress`, announced with the * locale pack's wording rather than Base UI's English "indeterminate progress". `dots` is a * decorative rhythm beside a caption that already speaks. */ export declare function ActivityIndicator(props: ActivityIndicatorProps): React.JSX.Element; export {};