import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface for constructor properties of CapsuleGeometry. * Extends BufferGeometryConstructorProps from './BufferGeometry'. * Provides additional properties specific to creating a THREE.CapsuleGeometry. */ interface CapsuleGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Radius of the capsule. Optional. * @zprop * @zdefault 1 - Default value if not provided. */ radius?: number; /** * Length of the capsule. Optional. * @zprop * @zdefault 1 - Default value if not provided. */ length?: number; /** * Number of segmented faces around the circumference of the caps. Optional. * @zprop * @zdefault 4 - Default value if not provided. */ capSegments?: number; /** * Number of segmented faces around the circumference of the capsule. Optional. * @zprop * @zdefault 8 - Default value if not provided. */ radialSegments?: number; } /** * CapsuleGeometry class extends BufferGeometry for creating THREE.CapsuleGeometry instances. * This class is part of the Geometry group and is represented by the 'geometry' icon. * It typically serves as a child of Mesh objects in Three.js. * * * Root element: [THREE.CapsuleGeometry](https://threejs.org/docs/#api/en/geometries/CapsuleGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/CapsuleGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class CapsuleGeometry extends BufferGeometry { constructor(contextManager: ContextManager, props: CapsuleGeometryConstructorProps); } export {};