import { PropsWithChildren } from 'react';
import { Matrix16T, QuaternionT } from '../vuer/interfaces';
export type HUDPlaneProps = PropsWithChildren<{
/**
* @dial geometry
* @dial-cols 2
* @dial-dtype number
* @dial-default 10
* @dial-step 0.01
* @dial-min 0.1
*/
distanceToCamera?: number;
/**
* @dial geometry
* @dial-dtype number
* @dial-step 0.01
*/
aspect?: number;
/**
* @dial geometry
* @dial-dtype number
* @dial-step 0.01
*/
height?: number;
/**
* @dial transform
* @dial-cols 2
* @dial-dtype vector3
*/
position?: [number, number, number];
/**
* @dial transform
* @dial-dtype vector3
*/
rotation?: [number, number, number];
quaternion?: QuaternionT;
matrix?: Matrix16T;
/**
* @dial behavior
* @dial-dtype boolean
* @dial-default false
*/
fixed?: boolean | undefined;
/**
* @dial appearance
* @dial-dtype int
* @dial-default 2
* @dial-min 0
* @dial-max 2
*/
side?: number;
/**
* @dial rendering
* @dial-dtype int
*/
layers?: number;
}>;
/**
* Head-up display plane that follows the camera.
*
* This is a container component - a plane mesh that stays at a fixed distance
* from the camera. Children (typically materials) are rendered on the plane.
*
* From Python, pass image data via children that will be serialized as
* material props. The plane geometry is 1x1 and scaled dynamically based
* on camera FOV and distanceToCamera.
*
* @example
* ```tsx
* // With a material child
*
*
*
*
* // Fixed position (doesn't follow camera)
*
*
*
* ```
*/
export declare function HUDPlane({ distanceToCamera, aspect, height, position, rotation, quaternion, matrix, fixed, layers, children, }: HUDPlaneProps): import("react/jsx-runtime").JSX.Element;