///
///
import { Big } from 'big.js';
type ScopeType = any;
type MenuItemType = {
name: string;
callback: () => void;
} | {
name: string;
items: MenuItemType[];
};
type DataType = any;
type PlotModelType = any;
type AxisType = any;
type ActionObjectType = any;
interface IBin {
x: number;
y: number;
dx: number;
}
interface IDataRange {
xl: Big | number | string;
xr: Big | number | string;
yl: number;
yr: number;
xSpan: Big | number | string;
ySpan: number;
}
export declare class PlotUtils {
static get fonts(): {
labelWidth: number;
labelHeight: number;
tooltipWidth: number;
};
static getSavePlotAsContextMenuItems(scope: ScopeType): MenuItemType[];
static useYAxisR(model: PlotModelType, data: DataType): boolean;
static getDataRange(data: DataType): {
dataRange: IDataRange;
visibleItems: number;
legendItems: number;
};
static rangeAssert(list: number[]): boolean;
static convertInfinityValue(value: unknown): number | unknown;
static getHighlightDuration(): number;
static getHighlightedSize(size: number, highlighted: boolean): string;
static getTipStringPercent(pct: any, axis: AxisType, fixed?: boolean | number): string;
static getTipString(val: Big | number | string, axis: AxisType, fixed: boolean | number): string;
static createTipString(obj: any): string;
static drawPng(canvas: HTMLCanvasElement, imgsrc: string, fileName: string): void;
static download(url: string, fileName: string): void;
static translate(jqelement: JQuery, x: number, y: number): void;
static translateChildren(element: Element, x: number, y: number): void;
static getActionObject(plotType: 'CategoryPlot' | 'CombinedPlot', e: any, subplotIndex?: number): ActionObjectType;
static addTitleToSvg(svg: any, jqtitle: any, titleSize: any): void;
private static fireClickEvent;
private static getHighlightedDiff;
static addInlineFonts(element: any): void;
static getFontToInject(font: any): string;
static adjustStyleForSvg(styleString: string): string;
static addInlineStyles(element: any, extraStyles: any): void;
static getFileSynchronously(file: string): string;
static histogram(rightClose: boolean, binCount: number, rangeMin: number, rangeMax: number, dataset: number[]): IBin[];
static upper_bound(elements: unknown[], attr: string, val: Big | number | string): number;
private static updateRange;
}
export {};