import * as React from 'react'; import { ScaleValue, TicksSpec } from '@dfnivo/scales'; import { SpringValues } from '@react-spring/web'; export type GridValuesBuilder = T extends number ? number[] : T extends string ? string[] : T extends Date ? Date[] : never; export type GridValues = number | GridValuesBuilder; export type Point = { x: number; y: number; }; export type AxisLegendPosition = 'start' | 'middle' | 'end'; export type ValueFormatter = (value: Value) => Value | string; export interface AxisProps { ticksPosition?: 'before' | 'after'; tickValues?: TicksSpec; tickSize?: number; tickPadding?: number; tickRotation?: number; format?: string | ValueFormatter; renderTick?: (props: AxisTickProps) => JSX.Element; legend?: React.ReactNode; legendPosition?: AxisLegendPosition; legendOffset?: number; ariaHidden?: boolean; lineVisible?: boolean; lineWidth?: number; lineColor?: string; } export interface CanvasAxisProps extends Omit, 'legend'> { legend?: string; } export interface AxisTickProps { tickIndex: number; value: Value; format?: ValueFormatter; x: number; y: number; lineX: number; lineY: number; textX: number; textY: number; textBaseline: string; textAnchor: string; opacity?: number; rotate?: number; animatedProps: SpringValues<{ opacity: number; textTransform: string; transform: string; }>; onClick?: (event: React.MouseEvent, value: Value | string) => void; } export type Line = { key: string; x1: number; x2: number; y1: number; y2: number; }; //# sourceMappingURL=types.d.ts.map