import { Point2D, ColorRGB } from '@obliczeniowo/elementary/classes'; import * as i0 from '@angular/core'; import { AfterViewInit, ElementRef } from '@angular/core'; import * as i2 from '@angular/common'; declare class Style { styles: any; toString(): string; constructor(styleObject: any); } declare class SvgGroup { id: string; svgGroupContainer: SVGGElement; constructor(id?: string, style?: Style | string); append(child: any): void; clear(): void; } declare abstract class Transform { abstract toString(): string; } declare class Rotate extends Transform { rotatePoint: Point2D | null; angle: number; constructor(angle: number, rotatePoint?: Point2D | null); toString(): string; } declare class SvgText { svg: SVGTextElement; rotate: Rotate; setText(text: string): void; constructor(x: number, y: number, text: string, style: Style, id: string, rotate: Rotate, svgContainer: SVGElement | SvgGroup); show(display: boolean): void; private set _transform(value); get transform(): string | null; setX(x: number): void; setY(y: number): void; } declare class PostDiagramValue { key: string; private readonly postsGroup; private readonly valuesGroup; private readonly keysGroup; diagramValue: number; private readonly svgPost; valueText: SvgText; keyText: SvgText; private readonly legendContainer; private readonly legendKey; set setColor(color: any); constructor(key: string, diagramValue: number, postsGroup: SvgGroup, valuesGroup: SvgGroup, keysGroup: SvgGroup, legendContainer: HTMLElement); setPost(x: number, y: number, width: number, k: number): void; getValue(): number; setValue(value: number, k: number): void; toString(): string; } declare class SvgPolyline { svg: SVGPolylineElement; points: Point2D[]; constructor(id: string, style: Style, svgContainer: SVGElement | SvgGroup, type?: string); addPoint(x: number, y: number): void; clearPoints(): void; } declare class SvgPolygon { svg: SVGPolygonElement; points: Point2D[]; constructor(id: string, style: Style, svgContainer: SVGElement | SvgGroup); addPoint(x: number, y: number): void; clearPoints(): void; } interface ScaleValue { line: SvgPolyline; value: SvgText; } declare class SvgPostDiagram { values: PostDiagramValue[]; svgContainer: SVGSVGElement; legendContainer: HTMLElement; private readonly postsGroup; private readonly valuesGroup; private readonly keysGroup; private readonly greedGroup; private _displayPostKeys; private _diagramHeight; dy: number; diagramWidth: number; diagramPos: Point2D; base: SvgPolygon; leftScalePlain: SvgPolygon; backScalePlain: SvgPolygon; scaleLines: ScaleValue[]; scaleBase: SvgText; private displayText; private valuesColor; private readonly scaleColor; id: string; private _colorFunction; set colorFunction(colorFunction: (index: number, dataLength: number, value: number, max: number) => ColorRGB); constructor(id: string, data: any, svgContainer: SVGSVGElement, legendContainer: HTMLElement); get diagramHeight(): number; displayPostKeys(display: boolean): void; getMax(): number; setValueColor(valuesColor: ColorRGB): void; private clearHtml; setDiagramValues(data: { [key: string]: number; }): void; get postWidth(): number; private _refreshBase; private _refreshLeftScalePlain; private _refreshBackScalePlain; private _refreshScale; refresh(): void; toString(): string; setDisplayValue(value: boolean): void; setValue(value: number, index: number): void; } declare class PostDiagramComponent implements AfterViewInit { yLabel: string; xLabel: string; diagramTitle: string; private _diagramData; svgContainer: ElementRef; diagramLegend: ElementRef; set diagramData(diagramData: { [key: string]: number; }); svgDiagram: SvgPostDiagram; private _colorFunctionRef; set colorFunction(colorFunctionRef: (index: number, dataLength: number, value: number, max: number) => ColorRGB); ngAfterViewInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class PostDiagramModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SvgRect { svg: SVGRectElement; constructor(x: number, y: number, width: number, height: number, id: string, svgContainer: SVGElement | SvgGroup, style?: Style | string); setX(x: string | number): void; setY(y: string | number): void; setWidth(width: string | number): void; setHeight(height: string | number): void; } export { PostDiagramComponent, PostDiagramModule, Rotate, Style, SvgGroup, SvgRect, SvgText, Transform };