import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter } from "@angular/core"; import { Axis, ProcessedAxis, AxisType, ChartConfiguration, ProcessedChartConfiguration, ChartContextMenuItem, ChartCoordinates, ChartDrawFinishedParams, ChartDrawStartedParams, ChartPosition, ChartStyle, SeriesData, SeriesType, ProcessedSeries, ChartMarginProcessed, ChartPieTemplate, ChartArcInformation, ChartPieTemplateDrawFunction, ChartPieTemplateFull, ChartColumnHoverDrawFunction, ChartSeriesValuePipeFunction, AxisDrawValue, Series } from "./chart.interfaces"; import { TranslationsService } from "../../shared"; import { LabelValue } from "../../interfaces"; import * as i0 from "@angular/core"; declare class ChartCanvas { canvasElement: ElementRef | undefined; get context(): CanvasRenderingContext2D | null; updateSize(): void; text(text: string, position: ChartPosition, maxWidth?: number, boxWidth?: number, align?: CanvasTextAlign): void; rect(position: ChartPosition, width: number, height: number): void; line(positions: ChartPosition[]): void; lineFill(positions: ChartPosition[]): void; circle(position: ChartPosition, radius: number): ChartArcInformation | null; arc(position: ChartPosition, radius: number, startAngle: number, endAngle: number, counterclockwise: boolean): ChartArcInformation | null; midPoint(positionA: ChartPosition, positionB: ChartPosition, percent: number): ChartPosition; setStyle(style: ChartStyle | null | undefined): void; measureTextHeight(text: string): number; measureTextWidth(text: string): number; clear(): void; clipRect(chartCoordinates: ChartCoordinates): void; mouseEventToPosition(mouseEvent: MouseEvent | WheelEvent): ChartPosition; downloadImage(name: string, type: string, quality: number): void; constructor(canvasElement?: ElementRef | undefined); } declare class ChartAxisComponent { #private; chartComponent: ChartComponent | null; axis: ProcessedAxis | null; axisType: AxisType; titleWidth: number; drawValuesWidth: number; drawValues: AxisDrawValue[]; get titleWidthAndSpace(): number; get coordinates(): ChartCoordinates; get axisSeries(): ProcessedSeries[]; get axisSeriesText(): string; setCoordinates(coordinates: ChartCoordinates): void; min(): number | null; max(): number | null; minNumber(): number; maxNumber(): number; generateDrawValues(): AxisDrawValue[]; precalculate(): void; draw(): void; constructor(chartComponent: ChartComponent, axis: ProcessedAxis, axisType: AxisType); } declare class ChartLegendComponent { chartComponent: ChartComponent | null; coordinates: ChartCoordinates; setCoordinates(coordinates: ChartCoordinates): void; precalculateWidth(): number; draw(): void; constructor(chartComponent: ChartComponent); } declare class ChartHeaderComponent { chartComponent: ChartComponent | null; coordinates: ChartCoordinates; legend: ChartLegendComponent | null; updateCoordinates(): void; draw(): void; constructor(chartComponent: ChartComponent); } export declare class ChartComponent implements AfterViewInit { translationsService: TranslationsService; cdr: ChangeDetectorRef; el: ElementRef; localeId: string; configuration: ChartConfiguration; mouseDown: MouseEvent | null; mouseUpEvent: ((event: MouseEvent) => void) | null; header: ChartHeaderComponent | null; leftAxis: ChartAxisComponent | null; rightAxis: ChartAxisComponent | null; defaultConfiguration: ProcessedChartConfiguration; processedConfiguration: ProcessedChartConfiguration; style: ChartStyle | null; defaultStyles: ChartStyle[]; defaultAreaStyles: ChartStyle[]; chartDefaultPieTemplatesDrawFunction: ChartPieTemplateDrawFunction; chartPieTemplateDefaults: ChartPieTemplateFull; columnHoverDrawFunction: ChartColumnHoverDrawFunction; seriesValuePipeFunctionDefault: ChartSeriesValuePipeFunction; inited: boolean; footerHeight: number; rightAxisLeftSpace: number; rangeIndexStart: number; rangeIndexEnd: number; rangeSelection: { mouseDownEvent: MouseEvent; mouseMoveEvent: MouseEvent; } | null; contextMenuElement: HTMLDivElement | null; saveImageWindowVisible: boolean; downloadImageWidthValue: number; downloadImageHeightValue: number; downloadImageFileNameValue: string; downloadImageType: 'image/png' | 'image/jpeg'; downloadImageTypes: LabelValue[]; downloadImageQuality: number; canvas: ChartCanvas; canvasHover: ChartCanvas; drawColumns: { coordinates: ChartCoordinates; index: number; label: string | number; seriesValues: { series: ProcessedSeries; seriesIndex: number; value: number; pointPosition: ChartPosition; }[]; }[]; drawColumnHoverIndex: number | null; drawHoverMouseMovePosition: ChartPosition | null; skipDraw: boolean; svgElement: ElementRef | undefined; hoverElement: ElementRef | undefined; canvasElement: ElementRef | undefined; canvasHoverElement: ElementRef | undefined; drawStarted: EventEmitter; drawFinished: EventEmitter; get margin(): ChartMarginProcessed; get headerMargin(): ChartMarginProcessed; get graphDrawAreaCoordinates(): ChartCoordinates; /** * Chart coordinates * * @returns `ChartCoordinates` */ get containerCoordinates(): ChartCoordinates; /** * Body coordinates * * @returns `ChartCoordinates` */ get bodyCoordinates(): ChartCoordinates; /** * Chart coordinates * * @returns `ChartCoordinates` */ get chartCoordinates(): ChartCoordinates; get allSeriesDataLength(): number; get pieTemplates(): ChartPieTemplate[]; getDefaultStyleByIndex(index: number, seriesType?: SeriesType): ChartStyle; get hostWidth(): string; get hostHeight(): string; showContextMenu(mouseEvent: MouseEvent): void; generateContextMenuItems(menuItems: ChartContextMenuItem[], parentElement: HTMLDivElement): void; hideContextMenu(): void; showSaveImageWindow(): void; hideSaveImageWindow(): void; drawPieSeries(): void; get hasPieChart(): boolean; get visibleSeries(): ProcessedSeries[]; get legendSeries(): ProcessedSeries[]; get actualSeries(): ProcessedSeries[]; drawHover(): void; draw(): void; downloadImage(): void; processAxis(axis: Axis): ProcessedAxis; /** * Process configuration * * Resets everywith from the `configuration` input param and fill unfilled data with the `CHART_DEFAULT_CONFIGURATION` */ processConfiguration(): void; zoom(wheelEvent: WheelEvent, mode: 'in' | 'out'): void; in(positon: ChartPosition, coordinates: ChartCoordinates): boolean; setCanvasSize(): void; mouseMove(mouseMoveEvent: MouseEvent): void; mouseUp(_: MouseEvent): void; attachEvents(): void; rangeSelectionFocus(): void; findRangeIndexInDrawValues(x: number): number; setRangeIndex(start: number, end: number): void; getRangeIndexByPosition(x: number, high?: boolean): number; mouseEventPositionsMove(startMouseEvent: MouseEvent, endMouseEvent: MouseEvent): { h: number; v: number; }; /** * Returns series by the given `id` * * @param id Id of series * @returns `ProcessedSeries` or `null` if `id` is not found */ getSeriesById(id: number | string): ProcessedSeries | null; /** * Sets the visibility of series * * @param id Id of series * @param visible */ setSeriesVisibility(id: number | string, visible: boolean): void; setSeriesData(id: number | string, data: SeriesData[], resetZoom?: boolean): void; setMultipleSeriesData(seriesData: { id: number | string; data: SeriesData[]; }[], resetZoom?: boolean): void; /** * Reset zoom to full */ resetZoom(): void; setPieTemplates(pieTemplates: ChartPieTemplate[]): void; removeAllSeries(draw?: boolean): void; addSeries(series: Series, draw?: boolean): void; update(draw?: boolean): void; detectChanges(): void; ngAfterViewInit(): void; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};