export declare const isNumber: (a: T) => boolean; export declare const isFunction: (a: T) => boolean; export declare const isUndefined: (a: T) => boolean; export declare const isNil: (a: T) => boolean; export declare const isString: (a: T) => boolean; export declare const isArray: (a: T) => boolean; export declare const isObject: (a: T) => boolean; export declare const isAClassInstance: (a: T) => boolean; export declare const isPlainObject: (a: T) => boolean; export declare const cloneDeep: (obj: T, stack?: Map) => T; export declare const merge: (obj1: T, obj2: K, visited?: Map) => T & K; export declare const isBetween: (num: number, min: number, max: number) => boolean; export declare const getInnerDimensions: (node: HTMLElement) => { width: number; height: number; }; export declare const isEqual: (a?: unknown | null, b?: unknown | null, visited?: Set) => boolean; /** * Formats a number with optional prefix, suffix, and precision. * @param value - The number to format. * @param prefix - The prefix to include before the formatted number. Default is an empty string. * @param suffix - The suffix to include after the formatted number. Default is undefined. * @param precision - The number of decimal places to include. Default is undefined. * @returns The formatted number as a string. */ export declare const defaultFormatter: (value: number, prefix?: string, suffix?: string, precision?: number) => string; /** * Maps data points to intervals using binary search with O(n log m) complexity * * @param data Data points to map to intervals * @param intervals All intervals as [start, end] pairs * @param validIntervals Subset of intervals to consider (defaults to all intervals) * @param bandIntervals Used to determine the last interval boundary * @returns Array of counts for each interval in the original intervals array */ export declare function mapDataToIntervals(data: T[], intervals: [T, T][], validIntervals?: [T, T][], bandIntervals?: T[]): number[]; /** * Generates band intervals based on data extent and configuration * * @param extent - The data extent as [min, max] * @param barCount - Number of bars/intervals to generate * @param dataStep - Optional fixed step size between intervals * @returns Array of interval boundary points */ export declare function generateBandIntervals(extent: [number | Date, number | Date], barCount: number, dataStep?: number): number[]; /** * Maps raw data to bar format for visualization components * * @param data - Array of numeric data points * @param boundaries - Array of boundary points for intervals * @param currentSelection - Optional current selection range as [start, end] * @param isHighlighted - Whether this is for highlighted data * @param isNumeric - Whether to return numeric values or convert to Date * @returns Array of bar data objects with ranges and counts */ export declare function mapDataToBars(data: number[], boundaries: number[], currentSelection?: [number | Date, number | Date], isHighlighted?: boolean, isNumeric?: boolean): Array<{ rangeStart: number | Date; rangeEnd: number | Date; count: number; }>;