import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Represents the properties required to construct a BoxGeometry. */ interface RoundedBoxGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Width; that is, the length of the edges parallel to the X axis. * @zprop * @zdefault 1 */ width?: number; /** * Height; that is, the length of the edges parallel to the Y axis. * @zprop * @zdefault 1 */ height?: number; /** * Depth; that is, the length of the edges parallel to the Z axis. * @zprop * @zdefault 1 */ depth?: number; /** * Number of segments per dimension. Higher values create smoother corners but increase geometry complexity. * @zprop * @zdefault 2 */ segments?: number; /** * Radius of the rounded corners. * @zprop * @zdefault 0.1 * @ztype proportion */ radius?: number; } /** * RoundedBoxGeometry creates a box with rounded edges and corners. * Useful for creating more natural-looking UI elements and objects. * * On creation, the box is centered on the origin, with each edge parallel to one of the axes. * * Root element: [THREE.RoundedBoxGeometry](https://threejs.org/docs/api/en/geometries/BoxGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/RoundedBoxGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class RoundedBoxGeometry extends BufferGeometry { constructor(contextManager: ContextManager, props: RoundedBoxGeometryConstructorProps); } export {};