import { SceneObject } from "xbsj-xe2/dist-node/xe2-base-objects"; import { Destroyable, Event } from "xbsj-xe2/dist-node/xe2-base-utils"; import { UeViewer } from "../UeViewer"; export declare class UeObjectsContext { private _registerObjsMap; register(sceneObjectTypeName: string, objConstructor: new (sceneObject: R, ueViewer: UeViewer) => UeObject): void; private _getUeObjConstructor; createObject(sceneObject: R, ueViewer: UeViewer): UeObject; } export declare type UeObjectPropValFuncType = (val: T, ueObj: UeObject, ueViewer: UeViewer, sceneObject: SceneObject) => R; export declare class UeObject extends Destroyable { private _sceneObject; private _ueViewer; private static _accumId; private static _totalExistingCount; static debugging: boolean; static readonly context: UeObjectsContext; static readonly register: (sceneObjectTypeName: string, objConstructor: new (sceneObject: R, ueViewer: UeViewer) => UeObject) => void; private _id; get id(): number; private _createdEvent; get createdEvent(): Event<[]>; constructor(_sceneObject: SceneObjectType, _ueViewer: UeViewer); get sceneObject(): SceneObjectType; get ueViewer(): UeViewer; }