import { Event, Listener, PartialWithUndefinedReactivePropsToNativeProps, ReactivePropsToNativePropsAndChanged } from "xbsj-xe2/dist-node/xe2-base-utils"; import { SceneObjectKey } from "xbsj-xe2/dist-node/xe2-utils"; import { PickedInfo } from "../../scene-manager"; import { PositionsEditing } from "../../utils"; import { ESSceneObject } from "../ESSceneObject"; export declare type GeoDirectionMeasurementAngleMode = '-180~180' | '0~360'; export declare type GeoDirectionMeasurementTextFuncType = (heading: number) => string; export declare class GeoDirectionMeasurement extends ESSceneObject { static readonly type: string; get typeName(): string; get defaultProps(): { execOnceFuncStr: string | undefined; updateFuncStr: string | undefined; toDestroyFuncStr: string | undefined; name: string; ref: string | undefined; devTags: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable; extras: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable; show: boolean; allowPicking: boolean; positions: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number][] | undefined>; width: number; color: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number]>; hasDash: boolean; gapColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number]>; dashLength: number; dashPattern: number; hasArrow: boolean; arcType: string; editing: boolean; depthTest: boolean; shadowDom: boolean; cssAllInitial: boolean; angleMode: GeoDirectionMeasurementAngleMode; strokeGround: boolean; }; get json(): JsonType; set json(value: JsonType); private _pickedEvent; get pickedEvent(): Event<[PickedInfo]>; private _flyToEvent; get flyToEvent(): Listener<[number | undefined]>; flyTo(duration?: number): void; private _sPositionsEditing; get sPositionsEditing(): PositionsEditing; private _heading; get heading(): number; get headingChanged(): Listener<[number, number]>; static defaultTextFunc_度格式: (heading: number) => string; static defaultTextFunc_度分格式: (heading: number) => string; static defaultTextFunc_度分秒格式: (heading: number) => string; private _textFunc; get textFunc(): GeoDirectionMeasurementTextFuncType | undefined; set textFunc(value: GeoDirectionMeasurementTextFuncType | undefined); get textFuncChanged(): Listener<[GeoDirectionMeasurementTextFuncType | undefined, GeoDirectionMeasurementTextFuncType | undefined]>; constructor(id?: SceneObjectKey); static defaults: { positions: never[]; viewerTagsEnums: [string, string][]; }; getProperties(language?: string): import("../ESSceneObject").Property[]; } export declare namespace GeoDirectionMeasurement { const createDefaultProps: () => { execOnceFuncStr: string | undefined; updateFuncStr: string | undefined; toDestroyFuncStr: string | undefined; name: string; ref: string | undefined; devTags: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable; extras: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable; show: boolean; allowPicking: boolean; positions: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number][] | undefined>; width: number; color: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number]>; hasDash: boolean; gapColor: import("xbsj-xe2/dist-node/xe2-base-utils").ReactiveVariable<[number, number, number, number]>; dashLength: number; dashPattern: number; hasArrow: boolean; arcType: string; editing: boolean; depthTest: boolean; shadowDom: boolean; cssAllInitial: boolean; angleMode: GeoDirectionMeasurementAngleMode; strokeGround: boolean; }; } export interface GeoDirectionMeasurement extends ReactivePropsToNativePropsAndChanged> { } declare type JsonType = PartialWithUndefinedReactivePropsToNativeProps & { type: string; }>; export {};