import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface for the constructor properties of ConeGeometry. * Extends BufferGeometryConstructorProps, including additional properties specific to THREE.ConeGeometry. */ interface ConeGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Radius of the cone's base. Optional. * @zprop * @zdefault 1 - Default radius if not provided. */ radius?: number; /** * Height of the cone. Optional. * @zprop * @zdefault 1 - Default height if not provided. */ height?: number; /** * Number of segmented faces around the circumference of the cone. Optional. * @zprop * @zdefault 8 - Default number of radial segments if not provided. */ radialSegments?: number; /** * Number of segmented faces along the height of the cone. Optional. * @zprop * @zdefault 1 - Default number of height segments if not provided. */ heightSegments?: number; /** * Whether the cone is open-ended or not. Optional. * @zprop * @zdefault false - Default to a closed cone if not provided. */ openEnded?: boolean; /** * Start angle for the first segment in radians. Optional. * @zprop * @zdefault 0 - Default starting angle if not provided. */ thetaStart?: number; /** * The central angle in radians that the cone spans. Optional. * @zprop * @zdefault 6.283185307179586 (2 * Math.PI) - Default length of the angle if not provided. */ thetaLength?: number; } /** * A component for creating and managing `THREE.ConeGeometry` objects as Components. * * Inherits from BufferGeometry and categorized under Geometry in the component system. * * Root element: [THREE.ConeGeometry](https://threejs.org/docs/#api/en/geometries/ConeGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/ConeGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class ConeGeometry extends BufferGeometry { constructor(contextManager: ContextManager, props: ConeGeometryConstructorProps); } export {};