import { Vec3 } from '../math/Vec3';
import { IExtrudeOptions } from '../alg/extrude';
import { AxisPlane } from '../alg/trianglution';
import { BufferGeometry, IGeometry } from '../render/geometry';
import { ArrayList } from '../struct/data/ArrayList';
export declare function toGeometryBuffer(geo: IGeometry): BufferGeometry;
/**
 * shape 挤压后转几何体
 * @param {*} shape
 * @param {*} arg_path
 * @param {*} options
 */
export declare function extrudeToGeometryBuffer(shape: ArrayList<Vec3>, arg_path: Array<Vec3>, options: IExtrudeOptions): BufferGeometry;
/**
 * 两个轮廓缝合
 * @param {*} shape
 * @param {*} arg_path
 * @param {*} options
 * @param {*} material
 */
export declare function linkToGeometry(shape: Array<Vec3>, shape1: Array<Vec3>, axisPlane?: AxisPlane, shapeClose?: boolean): BufferGeometry;
/**
 * 多个轮廓缝合
 * @param shapes
 * @param isClose
 * @param material
 */
export declare function linksToGeometry(shapes: Array<Vec3>[], pathClosed?: boolean, shapeClosed?: boolean): BufferGeometry;
