import { FreeDrawAnnotator } from './FreeDrawAnnotator';
import InternalConfig from '../utils/InternalConfig';
export declare class PolygonAnnotator extends FreeDrawAnnotator {
    static readonly xtype: string;
    private lineStarted;
    private closedPointElement;
    private polygonPoints;
    protected resizeElements: Array<SVGGraphicsElement>;
    private listeners;
    protected currentPointIndex: number;
    private startDragX;
    private startDragY;
    protected createPath(config: InternalConfig): void;
    private onContextMenu;
    protected doMouseDown(evt: MouseEvent): void;
    protected startDragging(evt: MouseEvent | Touch): void;
    protected endDragging(evt: MouseEvent | Touch): void;
    protected onParentMouseMove(evt: MouseEvent): void;
    protected onClosePointDown(): void;
    stop(): void;
    protected addResizeElements(): void;
    protected arrangeElement(element: SVGGraphicsElement, x: number, y: number): void;
    setSelected(selected: boolean): void;
    protected addResizeEvents(element: SVGGraphicsElement): void;
    protected onResizeTouchStart: (evt: TouchEvent) => void;
    private onResizeMouseDown;
    private onResizeMouseUp;
    moveBy(dx: number, dy: number, evt: MouseEvent): void;
    isDisableListeners(): boolean;
    on<K extends keyof AnnotatorEventMap>(type: K, listener: () => void): void;
    setFillColor(color: string): void;
    setFillType(fillType: number): void;
    getType(): string;
    protected onDocMouseDown: (evt: MouseEvent | TouchEvent) => void;
}
interface AnnotatorEventMap {
    'stop': null;
}
export {};
