import { Coordinate } from "../types";
import { Vector3, Camera } from "three";
/**
 * 3D坐标转屏幕坐标
 * @param vector
 * @param camera
 * @param w container的宽
 * @param h container的高
 * @returns
 */
export declare function vector3ToDevice(vector: Vector3, camera: Camera, w: number, h: number): {
    x: number;
    y: number;
};
export declare function deviceToVector3(x: number, y: number, w: number, h: number, camera: Camera): Vector3 | null;
/**
 * 获取多变形的中心点
 * @param coordinates
 */
export declare function getCenter(coordinates: Coordinate[]): [number, number];
type Position = {
    x: number;
    y: number;
};
export declare function isContain(point: Position, start: Position, end: Position): boolean;
/**
 * 获取最长边的方向
 * @param cds
 */
export declare function getLongestSideDir(cds: Coordinate[]): Vector3;
export declare function getLength(start: [number, number], end: [number, number]): number;
export declare function getPathLength(path: [number, number][]): number;
export declare function calc_angle(p0: [number, number], p1: [number, number], p2: [number, number]): number;
export declare function getMinEdgeSquare(cds: [number, number][][], center?: [number, number]): [number, number][][];
/**
 * 获取点所在边的下标
 * @param A
 * @param B
 * @param P
 * @returns
 */
export declare function getPointEdgeIndex(coords: Coordinate[], P: Coordinate): number;
/**
 * 判断一个点是不是在多边形内
 * @param point
 * @param vertices
 * @returns
 */
export declare function isPointInPolygon(point: Coordinate, vertices: Coordinate[]): boolean;
export {};
