import { BenchmarkBaseProps } from "../common/benchmark/types.mjs"; import "../common/benchmark/index.mjs"; import { ScaleType } from "./utils.mjs"; //#region src/BenchmarkScatterChart/index.d.ts export interface BenchmarkScatterMetric { /** * Axis title; falls back to `label` */ axisLabel?: string; /** * Which direction is better on this axis (drives the Pareto frontier) * @default 'lower' */ direction?: 'lower' | 'higher'; formatter?: (value: number) => string; /** * Record field holding this metric */ key: string; /** * Label shown in the metric switcher and tooltip */ label: string; max?: number; min?: number; /** * @default 'linear' */ scale?: ScaleType; } export interface BenchmarkScatterChartProps extends Omit { /** * Initially selected metric key when `metrics` is provided (uncontrolled) */ defaultMetric?: string; /** * Pareto frontier line color * @default theme.orange */ frontierColor?: string; /** * @default 2 */ frontierWidth?: number; /** * Size of consumer-provided icons; should match the size the icon renders at. * Icons are scaled down from this size in the legend. * @default 20 */ iconSize?: number; /** * Font size for the point name label * @default 12 */ labelFontSize?: number; /** * Size of the fallback shape marker when an item has no icon * @default 12 */ markerSize?: number; maxX?: number; maxY?: number; /** * Selected metric key (controlled) */ metric?: string; /** * Switchable X metrics (e.g. Cost / Speed). Overrides `xKey`, `xScale`, * `xFormatter`, `xAxisLabel` and `xDirection` for the active metric. */ metrics?: BenchmarkScatterMetric[]; minX?: number; minY?: number; onMetricChange?: (metric: string) => void; /** * On hover, shade the region the point dominates (worse X and lower Y) * and gray out the points inside it. When off, all other points are dimmed instead. * @default true */ showDominatedArea?: boolean; /** * Draw vertical error bars when records have `error` * @default true */ showErrorBars?: boolean; /** * Connect non-dominated points with a Pareto frontier line * @default true */ showFrontier?: boolean; /** * @default true */ showGridLines?: boolean; /** * Show name labels next to points (placed automatically to avoid overlap) * @default true */ showLabels?: boolean; /** * @default true */ showLegend?: boolean; /** * @default true */ showTooltip?: boolean; /** * Show `y · x` values under each point label * @default true */ showValueLabel?: boolean; /** * @default true */ showXAxis?: boolean; /** * @default true */ showYAxis?: boolean; /** * Font size for the `y · x` value line * @default 11 */ valueLabelFontSize?: number; xAxisLabel?: string; /** * Which direction is better on X (drives the Pareto frontier) * @default 'lower' */ xDirection?: 'lower' | 'higher'; xFormatter?: (value: number) => string; /** * Record field used for the X axis * @default 'x' */ xKey?: string; /** * X axis scale * @default 'linear' */ xScale?: ScaleType; yAxisLabel?: string; } declare const BenchmarkScatterChart: import("react").ForwardRefExoticComponent>; //#endregion export { BenchmarkScatterChart as default }; //# sourceMappingURL=index.d.mts.map