import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface for constructor properties of TorusGeometry. */ interface TorusGeometryConstructorProps extends BufferGeometryConstructorProps { /** * The radius of the torus. Default is 1. * @zprop * @zdefault 1 */ radius?: number; /** * The diameter of the tube. Default is 0.4. * @zprop * @zdefault 0.4 */ tube?: number; /** * The number of segments that make up the torus. Default is 8. * @zprop * @zdefault 8 */ radialSegments?: number; /** * The number of segments that make up the tube. Default is 6. * @zprop * @zdefault 6 */ tubularSegments?: number; /** * The starting angle of the torus. Default is PI * 2. * @zprop * @zdefault 6.283185307179586 */ arc?: number; } /** * A Component for generating a torus geometries. * * Root element: [THREE.TorusGeometry](https://threejs.org/docs/#api/en/geometries/TorusGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/TorusGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class TorusGeometry extends BufferGeometry { /** * Constructs a TorusGeometry. * @param contextManager - The context manager. * @param props - The properties required to construct a TorusGeometry. */ constructor(contextManager: ContextManager, props: TorusGeometryConstructorProps); } export {};