import { D3StackedChartHookProps, Extents, Serie, SeriePayload, Staked, SvgSelection, Point } from "./types";
export declare const defaultMapper: <T>(el: T) => T;
export declare const defaultFormatter: (d: d3.NumberValue) => string;
export declare const pickY: ([_, y]: [unknown, number]) => number;
export declare const pickX: ([x, _]: [number, unknown]) => number;
export declare const getExtents: (data: Serie, stacked: Staked) => Extents;
export declare const isVoid: <T = number>(el: T | undefined) => el is undefined;
export declare const isNotVoid: <T = number>(el: T | undefined) => el is T;
export declare const getXAxisShift: ({ height, margin, extents, positiveExtents, }: Pick<D3StackedChartHookProps, "height" | "margin"> & {
    extents: Extents;
    positiveExtents: Extents;
}) => number | undefined;
export declare const drawFocus: ({ svg, color, }: {
    svg: SvgSelection;
    color: string;
}) => import("d3-selection").Selection<SVGGElement, unknown, HTMLElement, undefined>;
export declare const showFocus: ({ focus, xScale, yScale, closest, }: {
    focus: d3.Selection<SVGGElement, unknown, HTMLElement, undefined>;
    xScale: d3.ScaleLinear<number, number, never>;
    yScale: d3.ScaleLinear<number, number, never>;
    closest: Point;
}) => void;
export declare const hideFocus: (focus: d3.Selection<SVGGElement, unknown, HTMLElement, undefined>) => void;
export declare const bisectLeft: (array: ArrayLike<any>, x: any, lo?: number | undefined, hi?: number | undefined) => number;
export declare const getClosest: ({ x, xScale, serie, }: {
    x: number;
    serie: Point[];
    xScale: d3.ScaleLinear<number, number, never>;
}) => Point;
export declare const toHex: (s: string) => string;
export declare const getTooltipClass: (graph: string) => string;
export declare const getTooltipHtml: ({ serie, closestX, }: {
    serie: SeriePayload;
    closestX: number;
}) => string | undefined;
export declare const showTooltip: ({ x, tooltip, closest, xScale, yScale, width, serie, }: {
    tooltip: d3.Selection<d3.BaseType, unknown, HTMLElement, any>;
    closest: Point;
    x: number;
    xScale: d3.ScaleLinear<number, number, never>;
    yScale: d3.ScaleLinear<number, number, never>;
    width: number;
    serie: SeriePayload;
}) => void;
export declare const hideTooltip: (tooltip: d3.Selection<d3.BaseType, unknown, HTMLElement, any>) => void;
export declare const debug: (label: string, ...args: any[]) => void;
