/** * Manifold Primitive Shapes * * Creates basic 3D geometric primitives using the manifold-3d library. * These replace the Rust WASM primitive generators. */ import type { ManifoldObject } from './types'; /** * Create a cube/box * @param size - Single number or [width, depth, height] * @param center - If true, cube is centered at origin (default: true for OpenSCAD compatibility) */ export declare function createCube(size: number | [number, number, number], center?: boolean): ManifoldObject; /** * Create a sphere * @param radius - Sphere radius * @param circularSegments - Number of segments (corresponds to OpenSCAD $fn) */ export declare function createSphere(radius: number, circularSegments?: number): ManifoldObject; /** * Create a cylinder * @param height - Cylinder height * @param radius - Radius (or bottom radius if radiusTop is specified) * @param radiusTop - Top radius (for tapered cylinders, default: same as radius) * @param circularSegments - Number of segments (corresponds to OpenSCAD $fn) * @param center - If true, cylinder is centered vertically */ export declare function createCylinder(height: number, radius: number, radiusTop?: number, circularSegments?: number, center?: boolean): ManifoldObject; /** * Create a cone * @param height - Cone height * @param radius - Base radius * @param circularSegments - Number of segments * @param center - If true, cone is centered vertically (default: false) */ export declare function createCone(height: number, radius: number, circularSegments?: number, center?: boolean): ManifoldObject; /** * Create a pyramid with N-sided polygonal base * @param size - Single number or [baseWidth, baseDepth, height] * @param sides - Number of base sides (3=triangular, 4=square, 5=pentagonal, etc.) * @param center - If true, pyramid is centered vertically (default: false) */ export declare function createPyramid(size: number | [number, number, number], sides?: number, center?: boolean): ManifoldObject; /** * Create a tetrahedron (4-sided polyhedron) */ export declare function createTetrahedron(): ManifoldObject; /** * Create a 2D circle (for extrusion) * Note: This returns a Manifold object, not a CrossSection * To create a true 2D shape, use CrossSection class * * @param radius - Circle radius * @param circularSegments - Number of segments */ export declare function createCircle(radius: number, circularSegments?: number): ManifoldObject; /** * Create a 2D square (for extrusion) * * @param size - Single number or [width, height] * @param center - If true, square is centered */ export declare function createSquare(size: number | [number, number], center?: boolean): ManifoldObject; /** * Create a polyhedron from vertices and faces * * @param points - Array of [x, y, z] vertices * @param faces - Array of face indices (e.g., [[0,1,2], [0,2,3]]) */ export declare function createPolyhedron(points: number[][], faces: number[][]): ManifoldObject; /** * Create a polygon from 2D points (for extrusion) * * @param points - Array of [x, y] points */ export declare function createPolygon(points: number[][]): ManifoldObject; /** * Parse OpenSCAD-style size parameter * Handles: size=10, size=[10,20,30] */ export declare function parseSize(size: number | [number, number, number] | undefined, defaultSize?: number): [number, number, number]; /** * Parse OpenSCAD-style 2D size parameter * Handles: size=10, size=[10,20] */ export declare function parseSize2D(size: number | [number, number] | undefined, defaultSize?: number): [number, number]; //# sourceMappingURL=primitives.d.ts.map