import type { LinePathDecimationStrategy } from "../../../core/index";
import type { ResolvedCartesianChartTooltipTheme } from "../../theme";
export type LineChartDotShape = "circle" | "square" | "diamond";
export type LineChartDotColor = string | "background" | "series";
export type LineChartDotConfig = {
    visible?: boolean;
    shape?: LineChartDotShape;
    radius?: number;
    fill?: LineChartDotColor;
    stroke?: LineChartDotColor;
    strokeWidth?: number;
    opacity?: number;
};
export type ResolvedLineChartDotConfig = {
    visible: boolean;
    shape: LineChartDotShape;
    radius: number;
    fill: LineChartDotColor;
    stroke: LineChartDotColor;
    strokeWidth: number;
    opacity: number;
};
export type LineChartCrosshairConfig = {
    visible?: boolean;
    color?: string;
    strokeWidth?: number;
    opacity?: number;
    strokeDasharray?: readonly number[];
};
export type ResolvedLineChartCrosshairConfig = {
    visible: boolean;
    color: string;
    strokeWidth: number;
    opacity: number;
    strokeDasharray?: readonly number[];
};
export type LineChartStrokeLinecap = "butt" | "round" | "square";
export type LineChartStrokeLinejoin = "bevel" | "miter" | "round";
export type LineChartStrokeStyleConfig = {
    strokeDasharray?: readonly number[] | undefined;
    strokeLinecap?: LineChartStrokeLinecap | undefined;
    strokeLinejoin?: LineChartStrokeLinejoin | undefined;
    strokeOpacity?: number | undefined;
};
export type ResolvedLineChartStrokeStyle = {
    strokeLinecap: LineChartStrokeLinecap;
    strokeLinejoin: LineChartStrokeLinejoin;
    strokeOpacity: number;
    strokeDasharray?: readonly number[] | undefined;
};
export type LineChartAreaFillConfig = {
    fromColor?: string;
    toColor?: string;
    fromOpacity?: number;
    toOpacity?: number;
};
export type ResolvedLineChartAreaFillConfig = {
    fromColor: string;
    toColor: string;
    fromOpacity: number;
    toOpacity: number;
};
export type LineChartThresholdStyleConfig = {
    y: number;
    aboveColor?: string;
    belowColor?: string;
    aboveOpacity?: number;
    belowOpacity?: number;
    areaAboveColor?: string;
    areaBelowColor?: string;
    areaOpacity?: number;
};
export type ResolvedLineChartThresholdStyle = {
    y: number;
    aboveColor: string;
    belowColor: string;
    aboveOpacity: number;
    belowOpacity: number;
    areaAboveColor: string;
    areaBelowColor: string;
    areaOpacity: number;
};
export type LineChartDecimationConfig = {
    enabled?: boolean;
    maxPoints?: number;
    strategy?: LinePathDecimationStrategy;
};
export type ResolvedLineChartDecimationConfig = {
    maxPoints: number;
    strategy: LinePathDecimationStrategy;
};
export type LineChartTooltipConfig = {
    visible?: boolean;
    shared?: boolean;
    anchor?: LineChartTooltipAnchor;
    placement?: LineChartTooltipPlacement;
    offset?: number;
    edgePadding?: number;
    width?: number;
    padding?: number;
    borderRadius?: number;
    backgroundColor?: string;
    borderColor?: string;
    textColor?: string;
    labelColor?: string;
    shadowColor?: string;
    shadowOpacity?: number;
    shadowOffsetX?: number;
    shadowOffsetY?: number;
    fontFamily?: string;
    fontSize?: number;
    labelFontSize?: number;
    positionAnimationDuration?: number;
};
export type LineChartTooltipAnchor = "point" | "pointer";
export type LineChartTooltipPlacement = "auto" | "above" | "below";
export declare const defaultLineChartTooltipPositionAnimationDuration = 220;
export type ResolvedLineChartTooltipConfig = {
    visible: boolean;
    shared: boolean;
    anchor: LineChartTooltipAnchor;
    placement: LineChartTooltipPlacement;
    offset: number;
    edgePadding: number;
    width: number | undefined;
    padding: number;
    borderRadius: number;
    backgroundColor: string;
    borderColor: string;
    textColor: string;
    labelColor: string;
    shadowColor: string;
    shadowOpacity: number;
    shadowOffsetX: number;
    shadowOffsetY: number;
    fontFamily: string | undefined;
    fontSize: number;
    labelFontSize: number;
    positionAnimationDuration: number;
};
export declare const getLineChartStrokeStyle: ({ strokeDasharray, strokeLinecap, strokeLinejoin, strokeOpacity }?: LineChartStrokeStyleConfig) => ResolvedLineChartStrokeStyle;
export declare const getLineChartAreaFillConfig: ({ areaFill, seriesColor }: {
    areaFill: LineChartAreaFillConfig | undefined;
    seriesColor: string;
}) => ResolvedLineChartAreaFillConfig;
export declare const resolveLineChartDecimationConfig: ({ decimation, plotWidth }: {
    decimation: false | "auto" | number | LineChartDecimationConfig | undefined;
    plotWidth: number;
}) => ResolvedLineChartDecimationConfig | undefined;
export declare const getLineChartThresholdStyle: ({ seriesColor, threshold }: {
    seriesColor: string;
    threshold: LineChartThresholdStyleConfig | undefined;
}) => ResolvedLineChartThresholdStyle | undefined;
export declare const getLineChartDotConfig: ({ dots, seriesDot, showDots }: {
    dots: boolean | LineChartDotConfig | undefined;
    seriesDot: boolean | LineChartDotConfig | undefined;
    showDots: boolean;
}) => ResolvedLineChartDotConfig;
export declare const getLineChartActiveDotConfig: ({ activeDot, baseDot }: {
    activeDot: boolean | LineChartDotConfig | undefined;
    baseDot: ResolvedLineChartDotConfig;
}) => ResolvedLineChartDotConfig;
export declare const getLineChartCrosshairConfig: ({ crosshair, themeAxisColor }: {
    crosshair: boolean | LineChartCrosshairConfig | undefined;
    themeAxisColor: string;
}) => ResolvedLineChartCrosshairConfig;
export declare const getLineChartTooltipConfig: ({ themeFontFamily, themeTooltip, tooltip }: {
    tooltip: boolean | LineChartTooltipConfig | undefined;
    themeFontFamily?: string | undefined;
    themeTooltip: ResolvedCartesianChartTooltipTheme;
}) => ResolvedLineChartTooltipConfig;
//# sourceMappingURL=options.d.ts.map