import Base from '../base'; import { Cartesian3 } from 'cesium'; import { PolygonStyle } from '../interface'; declare type Position = [number, number]; export default class DoubleArrow extends Base { points: Cesium.Cartesian3[]; arrowLengthScale: number; maxArrowLength: number; neckWidthFactor: number; headWidthFactor: number; headHeightFactor: number; neckHeightFactor: number; connPoint: Position; tempPoint4: Position; minPointsForShape: number; llBodyPnts: Position[]; rrBodyPnts: Position[]; curveControlPointLeft: Cartesian3; curveControlPointRight: Cartesian3; isClockWise: boolean; constructor(cesium: any, viewer: Cesium.Viewer, style?: PolygonStyle); getType(): 'polygon' | 'line'; /** * Add points only on click events */ addPoint(cartesian: Cartesian3): void; finishDrawing(): void; /** * Draw a shape based on mouse movement points during the initial drawing. */ updateMovingPoint(cartesian: Cartesian3): void; /** * In edit mode, drag key points to update corresponding key point data. */ updateDraggingPoint(cartesian: Cartesian3, index: number): void; /** * Generate geometric shapes based on key points. */ createGraphic(positions: Cesium.Cartesian3[]): Cesium.Cartesian3[]; getTempPoint4(linePnt1: Position, linePnt2: Position, point: Position): Position; getArrowPoints(pnt1: Position, pnt2: Position, pnt3: Position, clockWise: boolean): Position[]; getArrowBodyPoints(points: Position[], neckLeft: Position, neckRight: Position, tailWidthFactor: number): Position[]; getArrowHeadPoints(points: Position[]): Position[]; getPoints(): Cesium.Cartesian3[]; getBezierControlPointforGrowthAnimation(): { left: Cartesian3; right: Cartesian3; }; } export {};