import { ElementRef, EventEmitter, SimpleChanges, Renderer2 } from '@angular/core';
import { DrawingContextInterface, DrawingSvgInterface } from '@obliczeniowo/elementary/drawing';
import { Point2D } from '@obliczeniowo/elementary/classes';
import { Radar, RadarGroup } from '../classes/radar.class';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class RadarPickerComponent implements ControlValueAccessor {
    protected renderer: Renderer2;
    protected dc: DrawingSvgInterface;
    protected radar: Radar;
    protected mousePos?: Point2D;
    /**
     * as number describe how many of levels should exist and then build levels from 1 to given number
     * as array length describe number of levels that starts from 1 to levels.length and value inside of
     * array is something to display
     */
    levels: number | (number | string)[];
    /**
     * Categories list as string
     */
    categories: string[];
    /**
     * values and connected to them colors
     * values.values.length must be equal categories.length
     */
    values: RadarGroup;
    changed: EventEmitter<RadarGroup>;
    readonly size = 500;
    diagram: ElementRef<SVGSVGElement>;
    disabled?: any;
    onChange: (set: {
        values: RadarGroup;
        categories: string[];
        levels: number | (string | number)[];
    }) => void;
    onTouched: () => void;
    constructor(renderer: Renderer2);
    ngAfterViewInit(): void;
    draw(dc?: DrawingContextInterface): void;
    ngOnChanges(changes: SimpleChanges): void;
    move(event: any): void;
    clicked(event: any): void;
    writeValue(set: {
        values: RadarGroup;
        categories: string[];
        levels: number;
    }): void;
    registerOnChange(onChange: any): void;
    registerOnTouched(onTouched: any): void;
    setDisabledState(isDisabled: boolean): void;
    onMouseLeave(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RadarPickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RadarPickerComponent, "obl-radar-picker", never, { "levels": { "alias": "levels"; "required": false; }; "categories": { "alias": "categories"; "required": false; }; "values": { "alias": "values"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "changed": "changed"; }, never, never, false, never>;
}
