import "./metric_strip.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; import type { MetricFormat, MetricSize, MetricTone } from "./metric"; export interface MetricStripItem { /** Short uppercase label above the value. */ label: string; value: number | string | null | undefined; format?: MetricFormat; currency?: string; locale?: string; emptyLabel?: string; tone?: MetricTone; /** Abbreviate large values (≥1 triệu → "486 tr") — strip columns are * narrow; the full figure belongs in the content below. */ compact?: boolean; /** Optional ±% trend chip — the "is this good?" indicator. */ trend?: number | null; /** Optional comparator/unit line below the value. */ caption?: string; /** What this metric means / how it's computed — the ⓘ next to the label * opens it in a popover. The strip is INFORMATIONAL: filtering belongs * to the tabs/chips below, never to the strip. */ info?: string; } export interface MetricStripProps extends StyleProps { items: MetricStripItem[]; /** Value scale, uniform across every column by design. Default `lg` — * the big-number dashboard register. */ size?: MetricSize; testID?: string; ref?: React.Ref; render?: useRender.RenderProp; } /** * THE dashboard stat band — one Card, hairline-divided columns of labelled * `Metric`s with a uniform value scale, at the TOP of a DASHBOARD page, whose * subject IS the figures. * * NEVER over a register's rows: **a register's figures are its shape's `above`** * — counts and sums the frame folds over the rows in view and draws as the light * inline band (`TotalsLine`'s device), under the toolbar that narrowed them. A * screen cannot hand one in, which is what this entry kept being handed to. * Wraps on narrow screens (columns keep a 180px floor). */ export declare function MetricStrip({ items, size, testID, render, ref, ...props }: MetricStripProps): React.JSX.Element;