import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface defining the constructor properties for CircleGeometry. * Extends BufferGeometryConstructorProps with properties specific to THREE.CircleGeometry. */ interface CircleGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Radius of the circle. Optional. * @zprop * @zdefault 1 - Default radius if not specified. */ radius?: number; /** * Number of segments for the circle. Optional. * @zprop * @zdefault 8 - Default number of segments if not specified. */ segments?: number; /** * Start angle for the first segment in radians. Optional. * @zprop * @zdefault 0 - Default starting angle if not specified. */ thetaStart?: number; /** * The central angle, in radians, that the circle spans. Optional. * @zprop * @zdefault 6.283185307179586 (2 * Math.PI) - Default length of the angle if not specified. */ thetaLength?: number; } /** * Class for creating and managing THREE.CircleGeometry objects within the context of @zcomponent/three. * Inherits from BufferGeometry and is categorized under Geometry in the component system. * * Root element: [THREE.CircleGeometry](https://threejs.org/docs/#api/en/geometries/CircleGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/CircleGeometry * @zparents three/Object3D/Mesh/Mesh * */ export declare class CircleGeometry extends BufferGeometry { /** * Constructs a CircleGeometry. * @param contextManager - The context manager. * @param props - The properties required to construct a CircleGeometry. */ constructor(contextManager: ContextManager, props: CircleGeometryConstructorProps); } export {};