import type { Object3D } from 'three'; import type * as THREE from 'three'; /** * @deprecated * use @anov/event-bus instead */ export declare const emitter: { on: { (type: Key, handler: import("mitt").Handler[Key]>): void; (type: "*", handler: import("mitt").WildcardHandler>): void; }; off: { (type: Key_1, handler?: import("mitt").Handler[Key_1]> | undefined): void; (type: "*", handler: import("mitt").WildcardHandler>): void; }; emit: { (type: Key_2, event: Record[Key_2]): void; (type: undefined extends Record[Key_3] ? Key_3 : never): void; }; all: import("mitt").EventHandlerMap>; }; interface Node { children?: Node[]; [k: string]: any; } /** * get ancestors nodes * @param array * @param targetId * @param key * @returns */ export declare const getAncestorsNodes: (array: T[], targetId: string | number, key?: string) => T[]; /** * get object3d ancestors nodes * @param object3d * @returns */ export declare const getObject3dAncestorsNodes: (object3d: Object3D, filter?: ((object3d: Object3D) => boolean) | undefined) => Object3D[]; /** * get all mesh children, maybe also need line, but not now * @param object3d * @returns */ export declare const getAllMeshChildren: (object3d: Object3D) => Object3D[]; /** * handle small hump * @param camelCaseString * @returns */ export declare const handleCamelCaseString: (camelCaseString: string) => string; /** * mousePointTo3DPoint * @param mouseX * @param mouseY * @param camera * @param renderer * @returns */ export declare const mousePointTo3DPoint: (mouseX: number, mouseY: number, camera: THREE.Camera, renderer: THREE.WebGLRenderer) => THREE.Vector3; export {};