import { Object3D, OrthographicCamera, PerspectiveCamera, Scene, Vector2, Vector3 } from 'three';
/**
 * @desc 射线拾取
 */
export declare function getIntersects({ event, $map, scene, camera, objects }: {
    event: any;
    $map: HTMLElement;
    scene: Scene;
    camera: PerspectiveCamera | OrthographicCamera;
    objects?: Object3D[];
}): import("three").Intersection<Object3D<import("three").Event>>[];
/**
 * @desc 射线拾取对象，获取世界坐标
 * objects 传入需要被射线拾取的物体。精准判断情况，不传入 objects， 获取被射线拾取的所有对象，然后再判断第一个对象是否被命中，即可判断当前是否点击了想要的对象。
 * @return 返回第一个点和所有被射线拾取的对象
 */
export declare function getWorldPosition({ event, $map, scene, camera, objects }: {
    event: any;
    $map: HTMLElement;
    scene: Scene;
    camera: PerspectiveCamera | OrthographicCamera;
    objects?: Object3D[];
}): {
    worldPosition: Vector3;
    intersects: import("three").Intersection<Object3D<import("three").Event>>[];
} | {
    worldPosition?: undefined;
    intersects?: undefined;
};
/**
 * @desc 根据 name 获取对应的对象集合
 */
export declare function getObjectsByName<T = any>(name: string, parent: Object3D): Array<T>;
export declare function getPointBetweenPoints({ p1, p2, segment, i }: {
    p1: Vector3 | Vector2;
    p2: Vector3 | Vector2;
    segment?: number;
    i?: number;
}): {
    point: Vector2;
    segment: number;
};
/**
 * @desc 计算两个坐标连线后的倾斜角度
 */
export declare function getAngle(p1: Vector2 | Vector3, p2: Vector2 | Vector3): {
    radian: number;
    angle: number;
};
export declare const CLS_PREFIX = "ktmap";
