import React from 'react'; /** Visual effects for ticks */ export interface TickEffects { /** Enable glow effect on tick lines. */ glow?: boolean; /** Glow color (defaults to tick line color). */ glowColor?: string; /** Glow blur radius. Unit: pixels (default: 4). */ glowBlur?: number; /** Glow spread. Unit: pixels (default: 2). */ glowSpread?: number; } export interface TickLabels { /** Hide first and last ticks and it's values */ hideMinMax?: boolean; /** Wheter the ticks are inside or outside the arcs */ type?: "inner" | "outer"; /** * When true, automatically detects closely-spaced ticks and separates them * along the arc to prevent overlap. Useful when you have * ticks like 15 and 16 that would otherwise render on top of each other. */ autoSpaceTickLabels?: boolean; /** List of desired ticks */ ticks?: Array; /** Default tick value label configs, this will apply to all * ticks but the individually configured */ defaultTickValueConfig?: TickValueConfig; /** Default tick line label configs, this will apply to all * ticks but the individually configured */ defaultTickLineConfig?: TickLineConfig; /** Visual effects for all ticks (can be overridden per tick) */ effects?: TickEffects; } export interface Tick { /** The value the tick will correspond to */ value?: number; /** This will override defaultTickValueConfig */ valueConfig?: TickValueConfig; /** This will override defaultTickLineConfig */ lineConfig?: TickLineConfig; /** Visual effects for this specific tick (overrides tickLabels.effects) */ effects?: TickEffects; } export interface TickValueConfig { /** This function allows to customize the rendered tickValue label */ formatTextValue?: (value: any) => string; /** * Render a custom React element instead of text for the tick value label. * Receives the current tick value and arc color as parameters. */ renderContent?: (value: number, arcColor: string) => React.ReactNode; /** Width of the foreignObject container. Unit: pixels (only used when renderContent is provided). */ contentWidth?: number; /** Height of the foreignObject container. Unit: pixels (only used when renderContent is provided). */ contentHeight?: number; /** Maximum number of decimal digits to display. */ maxDecimalDigits?: number; /** The tick value label will inherit this */ style?: React.CSSProperties; /** If true will hide the tick value label */ hide?: boolean; } export interface TickLineConfig { /** The width of the tick's line. Unit: pixels (default: 1). */ width?: number; /** The length of the tick's line. Unit: pixels (default: 7). */ length?: number; /** The distance of the tick's line from the arc. Unit: pixels (default: 3). */ distanceFromArc?: number; /** The distance between the tick's line and the text label. Unit: pixels (default: 2). */ distanceFromText?: number; /** The color of the tick's line */ color?: string; /** If true will hide the tick line */ hide?: boolean; /** Visual effects for the tick line */ effects?: TickEffects; } export declare const defaultTickLabels: TickLabels;