import { ColorRepresentation } from 'three'; import { SceneLayer } from '../layers'; import { TransformProps } from '../../../three_transforms/interfaces'; import { VuerProps } from '../../../vuer'; interface PerspectiveFrustumProps extends TransformProps, VuerProps { /** * Vertical field of view in degrees * @dial camera * @dial-dtype number * @dial-min 1 * @dial-max 179 * @dial-step 1 * @dial-value 50 * @dial-label-position left */ fov?: number; /** * Aspect ratio (width / height) * @dial camera * @dial-dtype number * @dial-min 0.1 * @dial-max 10 * @dial-step 0.01 * @dial-value 1.333 * @dial-label-position left */ aspect?: number; /** * Zoom factor (higher = narrower frustum) * @dial camera * @dial-dtype number * @dial-min 0.1 * @dial-max 10 * @dial-step 0.1 * @dial-value 1 * @dial-label-position left */ zoom?: number; /** * Near clipping plane distance * @dial camera * @dial-dtype number * @dial-min 0.001 * @dial-max 100 * @dial-step 0.01 * @dial-value 0.1 * @dial-label-position left */ near?: number; /** * Far clipping plane distance * @dial camera * @dial-dtype number * @dial-min 0.1 * @dial-max 1000 * @dial-step 0.1 * @dial-value 1.0 * @dial-label-position left */ far?: number; /** * Show the frustum visualization * @dial visibility * @dial-dtype boolean * @dial-value true * @dial-label-position left */ showFrustum?: boolean; /** * Show the up direction indicator * @dial visibility * @dial-dtype boolean * @dial-value true * @dial-label-position left */ showUp?: boolean; /** * Color of the frustum lines * @dial appearance * @dial-dtype color * @dial-value "#ffaa00" * @dial-label-position left */ colorFrustum?: ColorRepresentation; /** * Color of the cone lines from origin * @dial appearance * @dial-dtype color * @dial-value "#ff0000" * @dial-label-position left */ colorCone?: ColorRepresentation; /** * Color of the up direction indicator * @dial appearance * @dial-dtype color * @dial-value "#00aaff" * @dial-label-position left */ colorUp?: ColorRepresentation; /** * Layer for this frustum visualization * @dial-ignore */ layer?: SceneLayer; /** * Enable raycasting for mouse events. * Disable for better performance when rendering many frustums. * @default false */ enableRaycast?: boolean; } /** * Frustum visualization for perspective cameras. * Shows the typical pyramid-shaped frustum. */ export declare function PerspectiveFrustum({ fov, aspect, zoom, near, far, showFrustum, showUp, colorFrustum, colorCone, colorUp, layer, enableRaycast, children, ...rest }: PerspectiveFrustumProps): import("react/jsx-runtime").JSX.Element; export {};