import { BufferAttribute, BufferGeometry, Float32BufferAttribute, InterleavedBufferAttribute } from 'three'; declare function computeMikkTSpaceTangents(geometry: any, MikkTSpace: any, negateSign?: boolean): any; /** * @param {Array} geometries * @param {Boolean} useGroups * @return {BufferGeometry} */ declare function mergeGeometries(geometries: any, useGroups?: boolean): BufferGeometry | null; /** * @param {Array} attributes * @return {BufferAttribute} */ declare function mergeAttributes(attributes: any): BufferAttribute | null; /** * @param {BufferAttribute} * @return {BufferAttribute} */ export declare function deepCloneAttribute(attribute: any): BufferAttribute; /** * @param {Array} attributes * @return {Array} */ declare function interleaveAttributes(attributes: any): InterleavedBufferAttribute[] | null; export declare function deinterleaveAttribute(attribute: any): BufferAttribute; export declare function deinterleaveGeometry(geometry: any): void; /** * @param {Array} geometry * @return {number} */ declare function estimateBytesUsed(geometry: any): number; /** * @param {BufferGeometry} geometry * @param {number} tolerance * @return {BufferGeometry} */ declare function mergeVertices(geometry: any, tolerance?: number): any; /** * @param {BufferGeometry} geometry * @param {number} drawMode * @return {BufferGeometry} */ declare function toTrianglesDrawMode(geometry: any, drawMode: any): any; /** * Calculates the morphed attributes of a morphed/skinned BufferGeometry. * Helpful for Raytracing or Decals. * @param {Mesh | Line | Points} object An instance of Mesh, Line or Points. * @return {Object} An Object with original position/normal attributes and morphed ones. */ declare function computeMorphedAttributes(object: any): { positionAttribute: any; normalAttribute: any; morphedPositionAttribute: Float32BufferAttribute; morphedNormalAttribute: Float32BufferAttribute; }; declare function mergeGroups(geometry: any): any; /** * Modifies the supplied geometry if it is non-indexed, otherwise creates a new, * non-indexed geometry. Returns the geometry with smooth normals everywhere except * faces that meet at an angle greater than the crease angle. * * @param {BufferGeometry} geometry * @param {number} [creaseAngle] * @return {BufferGeometry} */ declare function toCreasedNormals(geometry: any, creaseAngle?: number): any; declare function mergeBufferGeometries(geometries: any, useGroups?: boolean): BufferGeometry | null; declare function mergeBufferAttributes(attributes: any): BufferAttribute | null; export { computeMikkTSpaceTangents, mergeGeometries, mergeBufferGeometries, mergeAttributes, mergeBufferAttributes, interleaveAttributes, estimateBytesUsed, mergeVertices, toTrianglesDrawMode, computeMorphedAttributes, mergeGroups, toCreasedNormals, };