import { IChartHelper, IQueryResultData, ChartType, ISupportedColumnTypes, ISupportedColumns, ColumnsSelection, IChartOptions, ChartTheme, IChartInfo } from './chartModels'; import { IVisualizer } from '../visualizers/IVisualizer'; export declare class KustoChartHelper implements IChartHelper { transformedQueryResultData: IQueryResultData; isResolveAsSeries: boolean; private static readonly maxDefaultYAxesSelection; private static readonly defaultChartOptions; private readonly seriesVisualize; private readonly elementId; private readonly visualizer; private queryResultData; private options; private chartInfo; constructor(elementId: string, visualizer: IVisualizer); draw(queryResultData: IQueryResultData, chartOptions: IChartOptions): Promise; changeTheme(newTheme: ChartTheme): Promise; getSupportedColumnTypes(chartType: ChartType): ISupportedColumnTypes; getSupportedColumnsInResult(queryResultData: IQueryResultData, chartType: ChartType): ISupportedColumns; getDefaultSelection(queryResultData: IQueryResultData, chartType: ChartType, supportedColumnsForChart?: ISupportedColumns): ColumnsSelection; downloadChartJPGImage(): void; /** * Convert the query result data to an object that the chart can be drawn with. * @param queryResultData Original query result data * @param chartOptions * @returns transformed data if the transformation succeeded. Otherwise - returns null */ private transformQueryResultData; private throwInvalidColumnsSelectionIfNeeded; private getColumnsStr; private tryResolveResultsAsSeries; private getSupportedColumns; private selectDefaultXAxis; private selectDefaultYAxes; private selectDefaultSplitByColumn; /** * Removes the columns that are already selected from the supportedColumns array in order to prevent the selection of the same column in different axes * @param supportedColumns - The list of the supported columns for current axis * @param currentSelection - The list of the columns that are already selected * @returns - The supportedColumns after the removal of the selected columns */ private removeSelectedColumns; /** * Search for certain columns in the 'queryResultData'. If the column exist: * 1. Add the column name and type to the 'chartColumns' array * 2. Add it's index in the queryResultData to the 'indexes' array * @param columnsToAdd - The columns that we want to search in the 'queryResultData' * @param queryResultData - The original query result data * @param indexes - The array that the existing columns index will be added to * @param chartColumns - The array that the existing columns will be added to * * @returns An array of the columns that don't exist in the queryResultData. If all columns exist - the array will be empty. */ private addColumnsIfExistInResult; private updateDefaultChartOptions; private verifyInput; private verifyColumnsSelection; private verifyColumnTypeIsSupported; private finishDrawing; private onError; }