import { Node } from '../types';
/**
 * Format value with multiple types into a function returns number.
 * @param defaultValue default value when value is invalid
 * @param value value to be formatted
 * @returns formatted result, a function returns number
 */
export declare function formatNumberFn<T = unknown>(defaultValue: number, value: number | ((d?: T) => number) | undefined): (d?: T | undefined) => number;
/**
 * Format size config with multiple types into a function returns number
 * @param defaultValue default value when value is invalid
 * @param value value to be formatted
 * @param resultIsNumber whether returns number
 * @returns formatted result, a function returns number
 */
export declare function formatSizeFn<T extends Node>(defaultValue: number, value?: number | number[] | {
    width: number;
    height: number;
} | ((d?: T) => number) | undefined, resultIsNumber?: boolean): (d: T) => number | number[];
/**
 * format the props nodeSize and nodeSpacing to a function
 * @param nodeSize
 * @param nodeSpacing
 * @returns
 */
export declare const formatNodeSize: (nodeSize: number | number[] | ((nodeData: Node) => number), nodeSpacing: number | Function | undefined) => (nodeData: Node) => number;
