export declare const DefaultLanguage = "en";
/**
 * To improve performance, we can set object.matrixAutoUpdate = false for static or rarely moving objects and
 * manually call object.updateMatrix() whenever their position/rotation/quaternion/scale are updated.
 * Add a constrant here, so developer can change it here easily for debugging.
 * @hidden
 */
export declare const MatrixAutoUpdate = false;
/**
 * These concept can be complex: hitable, snapable, selectable, visible
 * Mesh                            Y        Y         Y           Y
 * text in Viewer2d                Y        N         Y           Y
 * ground plan                     Y        Y         N           Y
 * outline                         N        Y         N           Y
 * OSnap auxiliary object          N        Y         N           N
 *
 * So, we must handle them properly. We'll try to put them into different layers.
 *
 * For each created object with geometry and material, the default layer is set to enableAll.
 * If the object is only displayed, it is not necessary to call enableAll. For example, some auxiliary display objects.
 * For objects that cannot be hitable, snapable, selectable, etc., call ObjectUtils.disableLayerChannels to exclude the corresponding channel.
 * @example
 * ``` typescript
 *   this.groundPlane.layers.enableAll();
 *   ObjectUtils.disableLayerChannels(this.groundPlane, [LayerForSelectableObjects]);
 * ```
 */
/**
 * @hidden
 */
export declare const LayerForHitableObjects = 10;
/**
 * @hidden
 */
export declare const LayerForSnapableObjects = 11;
/**
 * @hidden
 */
export declare const LayerForSelectableObjects = 12;
/**
 * Object highlight color.
 */
export declare const HighlightColor = 583902;
/**
 * Object highlight color in rgba format.
 */
export declare const HighlightColorRgba: number[];
/**
 * Object outline color.
 */
export declare const OutlineColorRgba: number[];
/**
 * 3D selection outline (EffectComposer OutlinePass) — saturated UI orange (gltfEditor-like).
 * Composites after {@link OutputPass}; use display-referred sRGB.
 */
export declare const SelectionOutlineVisibleColor = 16742144;
/**
 * Hidden-edge tint for OutlinePass. Match {@link SelectionOutlineVisibleColor} so depth-classified “hidden”
 * segments do not read as missing (closer to gltfeditor-style continuous orange).
 */
export declare const SelectionOutlineHiddenColor = 16742144;
/**
 * OutlinePass edge strength. Additive blend on bright backgrounds needs a higher value to stay visible.
 */
export declare const SelectionOutlineEdgeStrength = 10;
/** No secondary blur halo (glow pass off). */
export declare const SelectionOutlineEdgeGlow = 0;
/** Blur radius in OutlinePass edge buffers — ~2–4 px at full internal resolution; see EffectManager pixel ratio. */
export declare const SelectionOutlineEdgeThickness = 3.5;
/**
 * OutlinePass internal downsample (default in three.js is 2). Use 1 for sharper screen-space edges
 * (slightly higher GPU cost).
 */
export declare const SelectionOutlineDownSampleRatio = 1;
/**
 * Default object opacity value.
 */
export declare const DefaultOpacity = 0.5;
/**
 * Default point size.
 */
export declare const DefaultPointSize = 1.5;
/**
 * Default camera settings.
 */
export declare const DefaultCameraNear = 1;
export declare const DefaultCameraFar = 5000;
export declare const DefaultCameraFov = 45;
/**
 * Iconfont class name for toolbar, bottombar, section, etc..
 * This sdk should not provide any UI (toolbar, layoutbar, etc.), thus, it doesn't
 * need to provide any icon either.
 * For internal usage, we implemented some icons using iconfont. They are:
 * - public/iconfont/iconfont.css
 * - public/iconfont/iconfont2.css
 * They sould be loaded by user's app, rather than in this sdk.
 * @hidden
 */
export declare const IconfontClass = "x-viewer-iconfont";
/**
 * @hidden
 */
export declare const IconfontClass2 = "x-viewer-iconfont2";
/**
 * @hidden
 * Angle threshold at which two plane normals are parallel. Used to calculate edges.
 */
export declare const ThresholdAngleForEdge = 10;
