import { Float32BufferAttribute } from 'three'; import { AGeometryGenerator } from '../AGeometryGenerator'; import { IGeometry } from '../../../core/IGeometry'; import { UiObjectConfig } from 'uiconfig.js'; export interface ShapeGeometryGeneratorParams { shapeType: 'rectangle' | 'circle' | 'polygon'; width: number; height: number; circleRadius: number; circleSegments: number; sides: number; polygonRadius: number; curveSegments: number; } /** * Generates a flat 2D shape geometry from preset shape types. * Uses three.js ShapeGeometry internally. */ export declare class ShapeGeometryGenerator extends AGeometryGenerator { constructor(type?: string, defaultParams?: Partial); defaultParams: ShapeGeometryGeneratorParams; protected _generateData(params: ShapeGeometryGeneratorParams): { indices: number[]; vertices: Float32BufferAttribute; normals: Float32BufferAttribute; uvs: Float32BufferAttribute; }; createUiConfig(geometry: IGeometry): UiObjectConfig[]; } //# sourceMappingURL=../../../src/plugins/geometry/primitives/ShapeGeometryGenerator.d.ts.map