import { BaseNative } from '..'; import { MapPos, MapPosVector } from '../core'; import { Projection } from '../projections'; import { DefaultLatLonKeys, GenericMapPos } from 'nativescript-carto/core/index.common'; declare enum BillboardOrientation { FACE_CAMERA, FACE_CAMERA_GROUND, GROUND } declare enum BillboardScaling { CONST_SCREEN_SIZE, SCREEN_SIZE, WORLD_SIZE } export class AnimationStyle { static getFadeAnimationType(): AnimationStyle; static getSizeAnimationType(): AnimationStyle; getPhaseOutDuration(): number; getPhaseInDuration(): number; getRelativeSpeed(): number; } export class VectorElementOptions { visible?: boolean; metaData?: { [k: string]: string }; styleBuilder?: any; style?: any; } export class PointVectorElementOptions extends VectorElementOptions { position?: GenericMapPos; projection?: Projection; } export class BillboardVectorElementOptions extends PointVectorElementOptions { rotation?: number; } export class LineVectorElementOptions extends VectorElementOptions { positions: MapPosVector | GenericMapPos[]; projection?: Projection; ignoreAltitude?:boolean } export class VectorElementStyleBuilderOptions extends VectorElementOptions {} export class BillboardStyleBuilderOptions extends VectorElementStyleBuilderOptions { scaleWithDPI?: boolean; hideIfOverlapped?: boolean; horizontalOffset?: number; verticalOffset?: number; animationStyle?: AnimationStyle; placementPriority?: number; causesOverlap?: boolean; attachAnchorPointX?: number; attachAnchorPointY?: number; } export abstract class BaseVectorElement extends BaseNative { visible?: boolean; metaData: { [k: string]: string }; } export abstract class BasePointVectorElement, K = DefaultLatLonKeys> extends BaseVectorElement { position: GenericMapPos; projection?: Projection; getNativePos(pos: GenericMapPos, projection: Projection): any; } export abstract class BaseBillboardVectorElement, K = DefaultLatLonKeys> extends BasePointVectorElement { rotation?: number; } export abstract class BaseLineVectorElement, K = DefaultLatLonKeys> extends BaseVectorElement { positions: MapPosVector | GenericMapPos[]; projection?: Projection; } export class VectorElement extends BaseVectorElement {} export abstract class BaseVectorElementStyleBuilder extends BaseNative {} export abstract class BillboardStyleBuilder extends BaseVectorElementStyleBuilder {} export class VectorElementVector extends BaseNative { elements: Array>; size(); getElement(index: number): VectorElement; add(element: VectorElement); }