import { ColorRepresentation } from 'three'; import { SceneLayer } from '../layers'; import { TransformProps } from '../../../three_transforms/interfaces'; import { VuerProps } from '../../../vuer'; interface FisheyeFrustumProps extends TransformProps, VuerProps { /** * Field of view in degrees (up to 180 for full hemisphere) * @dial camera * @dial-dtype number * @dial-min 1 * @dial-max 180 * @dial-step 1 * @dial-value 180 * @dial-label-position left */ fov?: 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 10 * @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; /** * Number of segments for circular outlines * @dial quality * @dial-dtype int * @dial-min 8 * @dial-max 128 * @dial-step 8 * @dial-value 64 * @dial-label-position left */ segments?: number; /** * Color of the frustum lines * @dial appearance * @dial-dtype color * @dial-value "#aa44ff" * @dial-label-position left */ colorFrustum?: ColorRepresentation; /** * Color of the up direction indicator * @dial appearance * @dial-dtype color * @dial-value "#aa44ff" * @dial-label-position left */ colorUp?: ColorRepresentation; /** * Color of the near plane circle * @dial appearance * @dial-dtype color * @dial-value "#ff9900" * @dial-label-position left */ colorNear?: ColorRepresentation; /** * Color of the origin sphere * @dial appearance * @dial-dtype color * @dial-value "#ff0000" * @dial-label-position left */ colorOrigin?: 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 fisheye cameras. * Shows a hemispherical frustum representing the wide-angle capture area. * Uses a single LineSegments with vertex colors for efficient rendering (1 draw call). */ export declare function FisheyeFrustum({ fov, near, far, showFrustum, showUp, segments, colorFrustum, colorUp, colorNear, colorOrigin, layer, enableRaycast, children, ...rest }: FisheyeFrustumProps): import("react/jsx-runtime").JSX.Element; export {};