import { ElementRef, EventEmitter, Renderer2 } from '@angular/core'; import { CloseStatus, MinimumDistance, MousePosition, PathData } from '../models'; import { BaseShape } from './base-shape'; export declare abstract class BasePath extends BaseShape { protected renderer: Renderer2; protected parent: ElementRef; protected fillColor: string; protected strokeColor: string; protected handlerFillColor: string; protected handlerStrokeColor: string; forcedAspectRatio: number; allowAddNewPoints: boolean; allowModifyPoints: boolean; keepInsideContainer: boolean; movingPoint: EventEmitter; movingPath: EventEmitter; resizingPath: EventEmitter; protected _movePathStartPoint: MousePosition; protected constructor(renderer: Renderer2, parent: ElementRef, fillColor: string, strokeColor: string, handlerFillColor: string, handlerStrokeColor: string, points: number[][], forcedAspectRatio: number, keepInsideContainer: boolean, allowAddNewPoints: boolean, allowModifyPoints: boolean); protected _isActive: boolean; isActive: boolean; abstract onMousedown(event: MouseEvent, mousePos: MousePosition): void; abstract onResizePath(event: MouseEvent, mousePos: MousePosition): void; getData(): PathData; onMovePoint(event: MouseEvent, mousePos: MousePosition): void; onMovePath(event: MouseEvent, mousePos: MousePosition): void; protected _isPositionInsideContainer(mousePos: MousePosition): boolean; protected _deleteNode(index: number): void; protected _addPoint(insertAt: number, mousePos: MousePosition): void; protected _startResizingPath(index: number): void; protected _startMovingPath(mousePos: MousePosition): void; protected _startMovingPointInIndex(index: number): void; protected _shouldStartReizingPath(distances: MinimumDistance): boolean; protected _shouldStartMovingPoint(distances: MinimumDistance): boolean; protected _shouldStartMovingPath(mousePos: MousePosition, distances: MinimumDistance, states: CloseStatus): boolean; protected _getCloseStatus(mousePos: MousePosition): CloseStatus; }