import { LineSegments2 } from "three/examples/jsm/lines/LineSegments2.js"; import { LineSegmentsGeometry } from "../core/patches.js"; import type { Theme, AxisColorsFlatArray } from "../core/types"; /** * Renders XYZ axes as colored line segments. * Extends LineSegments2 for thick line rendering. */ declare class AxesHelper extends LineSegments2 { type: string; geometry: LineSegmentsGeometry; colors: AxisColorsFlatArray; center: number[]; /** * Create an AxesHelper. * @param center - Origin point [x, y, z] for the axes. * @param size - Length of each axis in world units. * @param lineWidth - Line width in pixels. * @param width - Viewport width for material resolution. * @param height - Viewport height for material resolution. * @param axes0 - If true, position at origin; if false, at center. * @param visible - Initial visibility state. * @param theme - Color theme ("dark" or "light"). */ constructor(center: number[], size: number, lineWidth: number, width: number, height: number, axes0: boolean, visible: boolean, theme: Theme); /** * Set the axes position based on the axes0 flag. * @param axes0 - If true, position at origin; if false, at center. */ setCenter(axes0: boolean): void; /** * Set the visibility of the axes helper. * @param visible - Whether the axes should be visible. */ setVisible(visible: boolean): void; /** * Change the color theme of the axes. * @param theme - The theme name ("dark" or "light"). */ changeTheme(theme: Theme): void; } export { AxesHelper };