import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type ChartSkin } from "../shared/types.js"; export interface BulletDatum { /** Stable identity, used as the React key when present. */ id?: string | number; /** The row label (e.g. "Revenue"). */ label: string; /** The measured value; sizes the bar. */ value: number; /** The goal, drawn as a vertical tick over the track. */ target?: number; /** Ascending qualitative band bounds (e.g. [150, 250, 350]); each band * paints a fading muted wash behind the measure. */ ranges?: number[]; } export interface BulletChartProps { /** The rows to render, in order, each on its own scale. */ data: BulletDatum[]; /** Optional heading shown above the rows. */ title?: string; /** Force one scale maximum shared by every row (only when the rows share a * unit). Omit for the default per-row scale: each row's largest value, * target, or range bound. */ max?: number; success?: boolean; destructive?: boolean; compact?: boolean; /** Formats row values (data formatting, not styling). */ formatValue?: (v: number) => string; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } export declare function createBulletChart(skin: ChartSkin): (props: BulletChartProps) => import("react").JSX.Element; //# sourceMappingURL=bullet-chart.shared.d.ts.map