import { ColorRepresentation } from 'three/src/math/Color'; export type ImagePlaceholderProps = { aspect?: number; height?: number; position?: [number, number, number]; rotation?: [number, number, number]; color?: ColorRepresentation; lineWidth?: number; }; /** * A wireframe rectangle placeholder, useful for showing image bounds * while the image is loading. */ export declare function ImagePlaceholder({ aspect, height, position, rotation, color, lineWidth, }: ImagePlaceholderProps): import("react/jsx-runtime").JSX.Element; export type ImageProps = { _key?: string; /** * RGB image source URL or Blob data. * @dial texture * @dial-dtype string */ rgb?: string | Blob; /** * Alpha/mask image source URL or Blob data. * @dial texture * @dial-dtype string */ alpha?: string | Blob; /** * Use linear filtering for smooth texture interpolation. * Set to false for pixel-perfect rendering. * @dial texture * @dial-dtype boolean */ interpolate?: boolean; /** * Color of the placeholder outline shown while loading. * @dial placeholder * @dial-dtype color */ placeholderColor?: ColorRepresentation; /** * Aspect ratio (width/height) of the image plane. * If not specified, auto-computed from loaded image dimensions. * @dial geometry * @dial-dtype number * @dial-step 0.01 */ aspect?: number; /** * Height of the image plane in world units. * Width is computed as height * aspect. * @dial geometry * @dial-dtype number * @dial-step 0.01 */ height?: number; /** * Opacity of the image. * @dial appearance * @dial-cols 2 * @dial-dtype number * @dial-min 0 * @dial-max 1 * @dial-step 0.01 */ opacity?: number; /** * Position of the image plane. * @dial transform * @dial-cols 2 * @dial-dtype vector3 */ position?: [number, number, number]; /** * Rotation of the image plane. * @dial transform * @dial-dtype vector3 */ rotation?: [number, number, number]; /** * Which side to render (0=front, 1=back, 2=double). * @dial appearance * @dial-dtype int * @dial-min 0 * @dial-max 2 */ side?: number; /** * Render as wireframe. * @dial appearance * @dial-dtype boolean */ wireframe?: boolean; }; /** * Displays a static image on a plane in 3D space. * * Creates a textured plane for displaying images at specific positions and * orientations in the 3D scene. Unlike ImageBackground, this plane has a * fixed position in world space and does not follow the camera. * * Aspect ratio is auto-computed from image dimensions if not specified. * Width = height * aspect. * * From Python, the `src` parameter is automatically renamed to `rgb` via * `__post_init__`. Supports URL strings and binary data (numpy arrays and * PIL Images are converted to binary on the Python side). * * @example * ```tsx * // Simple image (aspect auto-computed from image) * * * // Specify height, width scales with image aspect * * * // Override aspect ratio (force 16:9) * * * // Image with transparency * * ``` */ export declare function Image({ _key, rgb, alpha, interpolate, placeholderColor, aspect, height, opacity, position, rotation, side, wireframe, }: ImageProps): import("react/jsx-runtime").JSX.Element;