import { ItemValue } from "./itemvalue";
import { Question } from "./question";
import { SurveyError } from "./survey-error";
import { Base } from "./base";
export declare class QuestionImageMapModel extends Question {
    constructor(name: string);
    bg: HTMLImageElement;
    svg: SVGElement;
    imageLink: string;
    areas: ImageMapArea[];
    hoveredUID: number;
    valuePropertyName: string;
    multiSelect: boolean;
    get isMultiSelect(): boolean;
    get maxSelectedAreas(): number;
    set maxSelectedAreas(val: number);
    get minSelectedAreas(): number;
    set minSelectedAreas(val: number);
    shape: string;
    idleStrokeColor: string;
    idleStrokeWidth: number;
    idleFillColor: string;
    hoverStrokeColor: string;
    hoverStrokeWidth: number;
    hoverFillColor: string;
    selectedStrokeColor: string;
    selectedStrokeWidth: number;
    selectedFillColor: string;
    selectedArea: ImageMapArea | undefined;
    getType(): string;
    protected getAllChildren(): Base[];
    protected onValueChanged(): void;
    localeChanged(): void;
    protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
    protected getValueCore(): any;
    protected runConditionCore(properties: any): void;
    protected clearValueIfInvisibleCore(reason: string): void;
    clearIncorrectValues(): void;
    afterRenderQuestionElement(el: HTMLElement): void;
    beforeDestroyQuestionElement(el: HTMLElement): void;
    onBgImageLoaded: () => void;
    onClickHandler: (event: MouseEvent) => void;
    onMouseOverHandler: (event: MouseEvent) => void;
    onMouseOutHandler: () => void;
    onMouseDownHandler: (event: MouseEvent) => void;
    onMouseUpHandler: () => void;
    onMouseMoveHandler: (event: MouseEvent) => void;
    initImageMap(el: HTMLElement): void;
    scaleCoordsToSVG([x, y]: [any, any]): [number, number];
    getCSSVariables(): string;
    updateCSSVariables(): void;
    dispose(): void;
    requestAnimationFrameId: number;
    renderSVG(): void;
    protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
    protected convertToCorrectValue(val: any): any;
    getDisplayValueCore(keysAsText: boolean, value: any): any;
    mapItemToggle(item: ImageMapArea): void;
    isItemSelected(item: ImageMapArea): boolean;
    isItemHovered(item: ImageMapArea): boolean;
    addItem(value: any): ImageMapArea;
    createControlPoint(x: any, y: any, idx: any): SVGElement;
    controlPoints: SVGElement[];
    activeControlPoint: SVGElement;
    drawAreaControls(): void;
}
export declare class ImageMapArea extends ItemValue {
    constructor(value: any);
    getBaseType(): string;
    protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
    shape: string;
    getShape(): string;
    coords: string;
    getCoords(): string[];
    getSVGCoords(): string[];
    addCoord(x: any, y: any): void;
    removeCoord(idx: number): void;
    setCoord(idx: number, x: number, y: number): void;
    draw(): void;
    idleFillColor: string;
    idleStrokeColor: string;
    idleStrokeWidth: number;
    hoverFillColor: string;
    hoverStrokeColor: string;
    hoverStrokeWidth: number;
    selectedFillColor: string;
    selectedStrokeColor: string;
    selectedStrokeWidth: number;
    render(container: SVGElement): void;
    svg: SVGElement;
    getSVGElement(): SVGElement;
    getCSSVariables(): string;
    getCSSClasses(): string;
    updateCSSVariables(): void;
    updateCSSClasses(): void;
}
