import type { StyleProp, ViewStyle } from "react-native"; export interface ProgressIndicatorProps { /** * Current progress. Expected to be in the range `0..max` inclusive. */ readonly value: number; /** * Maximum value. * @default 100 */ readonly max?: number; /** * Additional in-flight progress beyond `value`, measured on the same scale as * `value` and `max`. The bar visually fills `value + pendingValue` of `max`, * with the `value` portion shown as completed and the `pendingValue` portion * shown as pending. Mobile-only; there is no web counterpart. * @default 0 */ readonly pendingValue?: number; /** * Set the variation of the progress indicator. `continuous` renders a single * fill; `stepped` renders one segment per integer step from `1..max`. * @default continuous */ readonly variation?: "continuous" | "stepped"; /** * Set the size of the progress indicator. Corresponds to bar heights of * 4px / 8px / 16px. * @default base */ readonly size?: "smaller" | "small" | "base"; /** * Accessible label override. When omitted, the label is derived via * `useAtlantisI18n`: `"{value}%"` when `max` is `100` (or omitted) and * `pendingValue` is `0`; `"{value} / {max}"` when `max` is not `100` and * `pendingValue` is `0`; `"{value} of {max}, {pendingValue} pending"` when * `pendingValue` is greater than `0`. */ readonly accessibilityLabel?: string; /** * Custom style applied to the root element. */ readonly style?: StyleProp; }