import * as React from 'react'; import type { LegendPayload } from 'recharts'; import * as RechartsPrimitive from 'recharts'; import type { VerticalAlignmentType } from 'recharts/types/component/DefaultLegendContent'; declare const THEMES: { readonly light: ''; readonly dark: '.dark'; }; /** * Categorical chart palette resolved from the design tokens. Mode-aware via * `--chart-*` tokens (see src/tokens.css). Use this palette by default; fall * back to `CHART_NEUTRAL_COLOR` for baseline / "other" series. * * Hue order: teal (brand) → violet → amber → pink → sky. * Each hue meets >=3:1 against both #ffffff (light) and #161616 (dark). */ export declare const CHART_PALETTE: readonly ['var(--chart-1)', 'var(--chart-2)', 'var(--chart-3)', 'var(--chart-4)', 'var(--chart-5)']; /** * Per-instance default colours. Pass the chart's stable identity for each item; * items without an identity must use their index (and cannot survive reorder). * Duplicate keys share a colour. Removed keys release their palette slots. */ export declare function useChartKeyColors(keys: readonly (string | number)[], palette?: readonly string[]): ReadonlyMap; /** Neutral / baseline color for "other" or background data series. */ export declare const CHART_NEUTRAL_COLOR = "var(--slate-500)"; export type ChartConfig = { [k in string]: { label?: React.ReactNode; icon?: React.ComponentType; } & ({ color?: string; theme?: never; } | { color?: never; theme: Record; }); }; declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<'div'> & { config: ChartConfig; children: React.ComponentProps['children']; }): React.JSX.Element; declare namespace ChartContainer { var displayName: string; } declare const ChartStyle: ({ id, config }: { id: string; config: ChartConfig; }) => React.JSX.Element | null; declare const ChartTooltip: typeof RechartsPrimitive.Tooltip; declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React.ComponentProps<'div'> & { active?: boolean; payload?: ReadonlyArray<{ value?: string | number; name?: string; dataKey?: string | number; type?: string; color?: string; payload?: Record; fill?: string; }>; label?: string | number; labelFormatter?: (label: React.ReactNode, payload: ReadonlyArray) => React.ReactNode; labelClassName?: string; formatter?: (value: string | number, name: string, item: unknown, index: number, payload: unknown) => React.ReactNode; color?: string; hideLabel?: boolean; hideIndicator?: boolean; indicator?: 'line' | 'dot' | 'dashed'; nameKey?: string; labelKey?: string; }): React.JSX.Element | null; declare namespace ChartTooltipContent { var displayName: string; } declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>; declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<'div'> & { payload?: ReadonlyArray; verticalAlign?: VerticalAlignmentType; hideIcon?: boolean; nameKey?: string; }): React.JSX.Element | null; declare namespace ChartLegendContent { var displayName: string; } declare function getVisiblePayloadItems(items: ReadonlyArray): T[]; export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, getVisiblePayloadItems, };