import { ElementRef, Renderer2 } from '@angular/core'; import { Boundaries, Colors, MinimumDistance, MousePosition } from '../models'; export declare abstract class BaseShape { protected renderer: Renderer2; protected parent: ElementRef; protected fillColor: string; protected strokeColor: string; protected handlerFillColor: string; protected handlerStrokeColor: string; static CLOSE_LIMIT: number; points: number[][]; canvas: HTMLCanvasElement; context: CanvasRenderingContext2D; protected _activePointPos: number; protected constructor(renderer: Renderer2, parent: ElementRef, fillColor: string, strokeColor: string, handlerFillColor: string, handlerStrokeColor: string, points: number[][]); setColors(colors: Colors): void; abstract draw(): void; abstract onMouseup(event: MouseEvent, mousePos: MousePosition, allowDelete: boolean): string; abstract onMovePoint(event: MouseEvent, mousePos: MousePosition): void; getPositionInPercent(mousePos: MousePosition): { x: number; y: number; }; getPointInPx(point: number[]): number[]; xToPercent(value: number): number; xToPx(value: number): number; yToPercent(value: number): number; yToPx(value: number): number; pxToPercent(value: number): number; getBoundaries(inPx?: boolean): Boundaries; getWidth(): number; getHeight(): number; protected abstract _getName(): string; protected abstract _onInit(): void; protected _drawPoint(point: number[]): void; protected _drawExpander(point: number[]): void; protected _getDistances(mousePos: MousePosition): MinimumDistance; private _initializeCanvas; }