import { Projection } from '../projections'; import { MapBounds, MapPos, MapPosVector } from '../core'; import { BaseLineVectorElement, BaseVectorElementStyleBuilder, LineVectorElementOptions, VectorElementOptions } from '.'; import { Color } from '@nativescript/core'; import { Geometry, LineGeometry } from '../geometry'; import { DefaultLatLonKeys, GenericMapPos } from '../core/index.common'; declare enum LineJointType { FaceCamera, BEVEL, MITER, ROUND } declare enum LineEndType { ROUND, SQUARE, NONE } export class LineStyleBuilderOptions extends VectorElementOptions { color?: string | Color; width?: number; joinType?: LineJointType; endType?: LineEndType; clickWidth?: number; stretchFactor?: number; } export class LineOptions extends LineVectorElementOptions { geometry?: LineGeometry; styleBuilder?: LineStyleBuilder | LineStyleBuilderOptions; projection?: Projection; } export class LineStyleBuilder extends BaseVectorElementStyleBuilder { color?: string | Color; width?: number; joinType?: LineJointType; endType?: LineEndType; clickWidth?: number; stretchFactor?: number; } export class Line extends BaseLineVectorElement, T> { styleBuilder?: LineStyleBuilder | LineStyleBuilderOptions; ignoreAltitude?: boolean; style?: any; color?: string | Color; width?: number; joinType?: LineJointType; endType?: LineEndType; clickWidth?: number; stretchFactor?: number; geometry: LineGeometry; setPoses(positions: MapPosVector | GenericMapPos[]); getPoses(): MapPosVector | GenericMapPos[]; getGeometry(): LineGeometry; getBounds(): MapBounds; }