import { BufferGeometry, Vector3 } from "three";
import { Coordinate, GraphicOptions } from "../types";
interface MergeGeometryResult {
    geometry: BufferGeometry;
    lineGeometry?: BufferGeometry;
}
export declare function mergeGraphicGeometries(elements: GraphicOptions[], needBorder?: boolean, needMinZ?: boolean): MergeGeometryResult | null;
export declare function instancedGeometiesAttributes(elements: GraphicOptions[]): {
    size: number;
    ids: string[];
    matrixes: number[];
    colors: number[];
    opacities: number[];
    maxZs: number[];
    minZs: number[];
} | null;
export declare function mergeGraphicLineGeometries(elements: GraphicOptions[]): BufferGeometry<import("three").NormalBufferAttributes> | null;
export declare function getBorderPoints(options: GraphicOptions[]): {
    points: Vector3[];
    colors: number[];
    opacities: number[];
};
export declare function isRectangle(coords: Coordinate[][]): boolean;
export {};
