import { Box3, Matrix4, Vector3 } from 'three'; export interface IClipSphere { center: Vector3; radius: number; } /** * Creates an IClipSphere from a center position and radius. * * @param center - The center position of the clip sphere in world space. Defaults to the origin. * @param radius - The radius of the clip sphere. * @returns An IClipSphere object ready to be passed to PointCloudMaterial.setClipSpheres(). */ export declare function createClipSphere(center: Vector3, radius: number): IClipSphere; export declare enum ClipMode { DISABLED = 0, CLIP_OUTSIDE = 1, CLIP_INSIDE = 2, HIGHLIGHT_INSIDE = 3 } export interface IClipBox { box: Box3; inverse: Matrix4; matrix: Matrix4; position: Vector3; } /** * Creates an IClipBox from a given size and position. * * The base shape is a unit cube centered at the origin (-0.5 to 0.5 on each axis). * The transformation matrix is built by applying scale (size) followed by translation (position). * The inverse matrix is computed from the transformation matrix and is used by the shader for clipping. * * @param size - The dimensions of the clip box. * @param position - The center position of the clip box in world space. Defaults to the origin. * @returns An IClipBox object ready to be passed to PointCloudMaterial.setClipBoxes(). */ export declare function createClipBox(size: Vector3, position?: Vector3): IClipBox;