import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle } from "../../style/index.js"; import * as s from "./charts.styles.js"; import { type Tone } from "./charts.styles.js"; import { type ChartSeries, type ChartSkin } from "./types.js"; import { type CartesianLayout } from "./chart-frame.js"; import { formatCompact, type Pt } from "./chart-math.js"; export interface CartesianSeriesProps { /** Category labels along the x axis, one per data column. */ labels: string[]; /** The series to plot; colors follow the chart-1..8 tokens in fixed order, or a series' own `success`/`destructive` tone. */ series: ChartSeries[]; /** Optional heading shown above the plot. */ title?: string; /** Y-axis maximum override. Defaults to a nice bound above the data max. */ max?: number; /** Y-axis minimum override. Defaults to 0 (or the data min when negative). */ min?: number; success?: boolean; destructive?: boolean; curved?: boolean; compact?: boolean; hideLegend?: boolean; hideGrid?: boolean; hideAxes?: boolean; /** Formats tick labels and accessible values (data formatting, not styling). */ formatValue?: (v: number) => string; /** Scrub-to-inspect: the selected category index (controlled). Pass null for none. */ selected?: number | null; /** Scrub-to-inspect: the initially selected category (uncontrolled). */ defaultSelected?: number; /** Fired when a press/scrub selects a category (or clears it with null). */ onSelect?: (index: number | null) => void; /** 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 const PLOT_HEIGHT: { readonly default: 180; readonly compact: 120; }; export declare const STANDARD_WIDTH = 480; export declare const finite: (v: number | undefined) => number; export declare function useSeriesChart(displayName: string, props: CartesianSeriesProps, stacked: boolean, opts?: { extraExtent?: number[]; autoTone?: Tone; zeroBased?: boolean; }): { tokens: import("../../index.js").ColorTokens; tone: s.Tone; multi: boolean; formatValue: typeof formatCompact; colorOf: (i: number) => string; yExtent: [number, number]; name: string; selected: number | null; setSelected: (i: number | null) => void; }; export declare function seriesPoints(sr: ChartSeries, labels: string[], layout: CartesianLayout): Pt[]; export declare function chartShell(skin: ChartSkin, props: CartesianSeriesProps, ctx: ReturnType, marks: (layout: CartesianLayout) => ReactNode): import("react").JSX.Element; //# sourceMappingURL=cartesian-series.d.ts.map