import { UvType } from "../longan/segment"; import { Mesh } from "./renderContext"; import { Vector4 } from "../longan/gs.math.objects"; export declare enum MeshFaceSide { FrontSide = 0, BackSide = 1, DoubleSide = 2 } export declare class MeshBuilder { static createQuad: () => Mesh; static createCube(length: number): Mesh; static createBox(bb: Float32Array, color?: Float32Array, textureScale?: number): Mesh; static createPlane(plane: Float32Array, color?: Float32Array, textureScale?: number): Mesh; static createSphere(options?: { segments?: number; diameter?: number; diameterX?: number; diameterY?: number; diameterZ?: number; arc?: number; slice?: number; sideOrientation?: MeshFaceSide; frontUVs?: Vector4; backUVs?: Vector4; dedupTopBottomIndices?: boolean; }): { formats: { name: string; size: number; type: number; slot: number; offset: number; stride: number; }[]; vertexes: Float32Array; indexes: Int32Array; }; static createStripe(points: ArrayLike, normal: ArrayLike, height: number, createUv?: boolean, uvType?: UvType, scale?: Float64Array): Mesh; static createVerticalStripe(points: ArrayLike, height: number, createUv?: boolean, uvType?: UvType, scale?: Float64Array): Mesh; static createHemisphere(params: Float64Array): { formats: { name: string; size: number; type: number; slot: number; offset: number; stride: number; }[]; vertexes: Float32Array; indexes: Int32Array; }; static createExtrude(points: ArrayLike, indexes: ArrayLike, normal: ArrayLike, options?: string): { formats: { name: string; size: number; type: number; slot: number; offset: number; stride: number; }[]; vertexes: Float32Array; indexes: Int32Array; }; static createCircle(origin: Float32Array, radius: number, normal: Float32Array, curveTessNum: number): Mesh; }