import { type ElementAttributes } from '@lume/element'; import { Points as ThreePoints } from 'three/src/objects/Points.js'; import { Element3D } from '../core/Element3D.js'; import type { Element3DAttributes } from '../core/Element3D.js'; import type { ElementWithBehaviors } from '../behaviors/ElementWithBehaviors.js'; import type { ClipPlanesBehavior, ClipPlanesBehaviorAttributes, LambertMaterialBehavior, LambertMaterialBehaviorAttributes, PhongMaterialBehavior, PhongMaterialBehaviorAttributes, PointsMaterialBehavior, PointsMaterialBehaviorAttributes } from '../behaviors/index.js'; export type PointsAttributes = Element3DAttributes; /** * @class Points - * * Element: `` * * Applies default behaviors of * [`box-geometry`](../behaviors/mesh-behaviors/geometries/BoxGeometryBehavior) * and * [`points-material`](../behaviors/mesh-behaviors/materials/PhongMaterialBehavior). * * A `` element is similar to a `` element, except that * the `points-material` is used by default, which renders any geometry's * verticies as points instead of filled triangles. * * It can be useful to have * [`ply-geometry`](../behaviors/mesh-behaviors/geometries/PlyGeometryBehavior) * behavior on this element to load a set of points from a file for example. * * @extends Element3D */ export declare class Points extends Element3D { initialBehaviors: { geometry: string; material: string; }; makeThreeObject3d(): ThreePoints, import("three").Material | import("three").Material[], import("three").Object3DEventMap>; } export interface Points extends ElementWithBehaviors { } type BehaviorInstanceTypes = PointsMaterialBehavior & PhongMaterialBehavior & LambertMaterialBehavior & ClipPlanesBehavior; type BehaviorAttributes = PointsMaterialBehaviorAttributes | PhongMaterialBehaviorAttributes | LambertMaterialBehaviorAttributes | ClipPlanesBehaviorAttributes; declare module 'solid-js' { namespace JSX { interface IntrinsicElements { 'lume-points': ElementAttributes; } } } declare global { interface HTMLElementTagNameMap { 'lume-points': Points; } } export {}; //# sourceMappingURL=Points.d.ts.map