import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface for constructor properties of RingGeometry. */ interface SphereGeometryConstructorProps extends BufferGeometryConstructorProps { /** * sphere radius. Default is 1. * @zprop * @zdefault 1 */ radius?: number; /** * number of horizontal segments. Minimum value is 3, and the default is 32. * @zprop * @zdefault 32 */ widthSegments?: number; /** * number of vertical segments. Minimum value is 2, and the default is 16. * @zprop * @zdefault 16 */ heightSegments?: number; /** * specify horizontal starting angle. Default is 0. * @zprop * @zdefault 0 */ phiStart?: number; /** * specify horizontal sweep angle size. Default is Math.PI * 2. * @zprop * @zdefault 6.283185307179586 */ phiLength?: number; /** * specify vertical starting angle. Default is 0. * @zprop * @zdefault 0 */ thetaStart?: number; /** * specify vertical sweep angle size. Default is Math.PI. * @zprop * @zdefault 3.141592653589793 */ thetaLength?: number; } /** * A Component for generating a sphere geometries. * * Root element: [THREE.SphereGeometry](https://threejs.org/docs/#api/en/geometries/SphereGeometry) * * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/SphereGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class SphereGeometry extends BufferGeometry { /** * Constructs a SphereGeometry. * @param contextManager - The context manager. * @param props - The properties required to construct a SphereGeometry. */ constructor(contextManager: ContextManager, props: SphereGeometryConstructorProps); } export {};