import { Mesh, MeshStandardMaterial } from 'three/webgpu';
import { DIVEModel } from '../model/Model.ts';
import { GeometrySchema } from '../../types/index.ts';
/**
 * A basic model class.
 *
 * It does calculate it's own bounding box which is used for positioning on the floor.
 *
 * Can be moved and selected.
 *
 * @module
 */
export declare class DIVEPrimitive extends DIVEModel {
    readonly isDIVEPrimitive: true;
    protected _mesh: Mesh;
    protected _material: MeshStandardMaterial;
    constructor();
    setGeometry(geometry: GeometrySchema): void;
    private assembleGeometry;
    private createCylinderGeometry;
    private createSphereGeometry;
    private createPyramidGeometry;
    private createBoxGeometry;
    private createConeGeometry;
    private createWallGeometry;
    private createPlaneGeometry;
}
