/// import { Color } from 'csstype'; import { TickProps } from './Tick'; declare const CHART_COLOR_SCHEMES: { blue: string[]; orange: string[]; pink: string[]; gray: string[]; default: string[]; }; export type ChartColorScheme = keyof typeof CHART_COLOR_SCHEMES | Color[]; export type ValueRange = { init: number; end: number; step?: number; }; export type UnitOfTime = 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond'; export type DateRangeStep = { amount: number; unit: UnitOfTime; }; export type DateRange = { init: Date; end: Date; format?: (date: Date) => string; step?: DateRangeStep; }; export type SeriesDataPoint = number | Date | DataPoint | DataPoint; export type ReferenceAreaDataPoint = number | DataPoint; export type AxisDomain = string[] | ValueRange | DateRange; export type TooltipType = 'point' | 'line' | 'none'; export type DotShape = 'circle' | 'square' | 'rect' | 'triangle' | 'diamond' | 'cross' | 'star' | 'happy'; export type OutliersType = 'auto' | 'expand-domain'; export type TooltipRenderer = (points?: (DataPoint & { seriesName: string; })[]) => string | React.ReactNode; export declare enum SeriesType { Line = 0, Column = 1, Area = 2 } export interface DataPoint { x: XDomain; y: YDomain; } export type ChartSeriesDataPoint = number | DataPoint; export interface ChartSeries { type?: SeriesType; name: string; data: ChartSeriesDataPoint[] | boolean[]; color?: string; dashed?: boolean; dot?: false | DotShape; dataKey?: string; } export interface BarChartSeries { name: string; data: number[] | DataPoint[]; color?: string; } export interface PieChartDataPoint { name: string; value: number; color?: string; } interface RangeAreaMask { show?: boolean; hideDots?: { from: XDomain; to: XDomain; }; fillOpacity?: number; yAtEnd?: any; overlayDots?: boolean; } export interface RangeArea { name: string; tooltip?: string; init: XDomain; end: XDomain; strokeColor?: string | false; fillColor?: string | false; fillOpacity?: number; tickColor?: string | false; mask?: RangeAreaMask; } export interface ReferenceAreaRange { x: XDomain; upperLimit?: number | 'yEnd' | 'yInit'; } export interface ReferenceAreaPercent { x: XDomain; percent: number; } interface ReferenceAreaLabel { name: string; description?: string; color?: string; alignment?: 'central' | 'text-before-edge'; } interface ReferenceAreaTick { color?: string; kind?: 'horizontal' | 'vertical'; } interface ReferenceAreaStroke { show?: boolean; color?: string; kind?: 'line' | 'dashed'; } export interface ReferenceArea { label: ReferenceAreaLabel; area: ReferenceAreaRange[]; color?: string; tick?: ReferenceAreaTick; stroke?: ReferenceAreaStroke; } export interface ReferenceAreaWithPercents extends ReferenceArea { areaPercents: ReferenceAreaPercent[]; } export interface AxisOptions { title?: string; unit?: string; domain?: AxisDomain; tickRenderer?: (tick: TickProps, domainMaxValue: number | Date, isAxisX: boolean, isOutlierIndicator?: boolean) => React.SVGProps; } export interface RangeSelectorOptions { label?: string; options: { [x: string]: Partial; }; defaultOption?: string; } export interface CustomDotProps { cx?: number; cy?: number; stroke?: string; shape?: DotShape; } export interface TooltipOptions { type: TooltipType; render?: TooltipRenderer; } export interface DataPointWithOutlier { data: ChartSeriesDataPoint; isOutlier: boolean; } export declare function isValueRange(x: AxisDomain): x is ValueRange; export declare function isDateRange(x: AxisDomain): x is DateRange; export declare function getChartColorScheme(colorScheme: ChartColorScheme): Color[]; export {};