import { Editor } from './editor';
import { Handle } from './handle';
import { PolygonOptions, PolygonPoint } from './types';
import { Style } from './types';
declare class Polygon {
    editorOwner: Editor;
    element: SVGPolygonElement;
    points: Array<PolygonPoint>;
    includeAttributes: string[];
    style?: Style;
    isSelected: boolean;
    isFrozen: boolean;
    constructor(editorOwner: Editor, points: PolygonPoint[]);
    freeze(freeze: boolean): this;
    updateElementPoints(): this;
    addPoint(x: number, y: number): this;
    moveLastPoint(x: number, y: number): this;
    move(deltaX: number, deltaY: number): this;
    isValid(): boolean;
    setHandlesVisibility(visible: boolean): this;
    getCenterCoords(): PolygonPoint;
    scale(scale: number): this;
    setIsSelected(isSelected: boolean): this;
    getHandles(): (Handle | null | undefined)[];
    clearHandles(): void;
    setStyle(style: Style): this;
    setDataAttributes(attributes: Record<string, string | number>): this;
    export(): PolygonOptions;
    _logWarnOnOpOnFrozen(op: string): void;
}
export { Polygon };
