import { ContextManager, ConstructorProps } from '@zcomponent/core'; import { Group } from '../Group'; /** * CameraTransform positions itself directly in front of the active camera each frame. It's great for user interface elements that should appear on the screen (rather than in the scene). * * Root element: [THREE.Group](https://threejs.org/docs/index.html?q=Grou#api/en/objects/Group) * * @zcomponent * @ztag three/Object3D/Group/CameraTransform * @zparents three/Object3D/Group/** * @zgroup Transforms * @zicon transform */ export declare class CameraTransform extends Group { /** * The horizontal alignment of the element. * @zprop * @zgroup CameraTransform * @zgrouppriority 20 * @zdefault center */ horizontalAnchor: HorizontalAlignment; /** * The vertical alignment of the element. * @zprop * @zgroup CameraTransform * @zgrouppriority 20 * @zdefault center */ verticalAnchor: VerticalAlignment; /** * The camera to lock the element to. * @zprop * @zgroup CameraTransform * @zgrouppriority 20 * @zvalues nodeids three/Object3D/Camera/** */ lockToCamera: string | undefined; /** * @zprop * @zdefault 0.2 * @zgroup Transform * @zgrouppriority 10 */ depth: number; /** @zprop * @zdefault 0.1 * @zgroup Transform * @zgrouppriority 10 */ contentScale: number; /** * Creates a CameraTransform component. * @param mgr - The context manager. * @param props - The constructor properties. */ constructor(mgr: ContextManager, props: ConstructorProps); private _update; /** @zignore */ position: import("@zcomponent/core").Observable<[x: number, y: number, z: number], never>; /** @zignore */ scale: import("@zcomponent/core").Observable<[x: number, y: number, z: number], never>; /** @zignore */ rotation: import("@zcomponent/core").Observable<[x: number, y: number, z: number], never>; } /** * Enum for specifying horizontal alignment options. * Represents possible horizontal positions for aligning elements or content. */ export declare enum HorizontalAlignment { /** * Aligns content to the left side. */ 'left' = "left", /** * Aligns content to the left side, but after any notches and camera cutouts. */ 'leftSafe' = "leftSafe", /** * Aligns content to the center horizontally. */ 'center' = "center", /** * Aligns content to the right side. */ 'right' = "right", /** * Aligns content to the right side, but before any notches and camera cutouts. */ 'rightSafe' = "rightSafe" } /** * Enum for specifying vertical alignment options. * Represents possible vertical positions for aligning elements or content. */ export declare enum VerticalAlignment { /** * Aligns content to the top. */ 'top' = "top", /** * Aligns content to the top, but below notches and camera cutouts. */ 'topSafe' = "topSafe", /** * Aligns content to the center vertically. */ 'center' = "center", /** * Aligns content to the bottom. */ 'bottom' = "bottom", /** * Aligns content to the bottom, but above home indicators and other system UI. */ 'bottomSafe' = "bottomSafe" }