import { default as CameraControlsImpl } from 'camera-controls'; import { CameraControlsWithKeyboardProps } from './CameraControlsWithKeyboard'; export interface SceneCameraControlProps extends Omit { /** * Movement speed for keyboard controls (units per second) * @dial movement * @dial-cols 2 * @dial-min 0.1 * @dial-max 10 * @dial-step 0.1 */ moveSpeed?: number; /** * Rotation speed for arrow keys (degrees per second) * @dial movement * @dial-min 10 * @dial-max 180 * @dial-step 5 */ keyboardRotateSpeed?: number; /** * Rotation speed for mouse controls * @dial movement * @dial-min 0.1 * @dial-max 2 * @dial-step 0.1 */ mouseRotateSpeed?: number; /** * Zoom/dolly speed * @dial movement * @dial-min 0.1 * @dial-max 2 * @dial-step 0.1 */ dollySpeed?: number; /** * Truck (pan) speed * @dial movement * @dial-min 0.1 * @dial-max 5 * @dial-step 0.1 */ truckSpeed?: number; /** * Minimum distance from target * @dial distance * @dial-min 0.01 * @dial-max 100 * @dial-step 0.1 */ minDistance?: number; /** * Maximum distance from target * @dial distance * @dial-cols 2 * @dial-min 10 * @dial-max 10000 * @dial-step 10 */ maxDistance?: number; /** * Minimum polar angle (vertical rotation limit) * @dial angle * @dial-cols 2 * @dial-min 0 * @dial-max 3.14159 * @dial-step 0.1 */ minPolarAngle?: number; /** * Maximum polar angle (vertical rotation limit) * @dial angle * @dial-min 0 * @dial-max 3.14159 * @dial-step 0.1 */ maxPolarAngle?: number; /** * Minimum azimuth angle (horizontal rotation limit) * @dial angle * @dial-min -6.28318 * @dial-max 6.28318 * @dial-step 0.1 */ minAzimuthAngle?: number; /** * Maximum azimuth angle (horizontal rotation limit) * @dial angle * @dial-min -6.28318 * @dial-max 6.28318 * @dial-step 0.1 */ maxAzimuthAngle?: number; /** * Enable keyboard controls * @dial features * @dial-cols 2 * @dial-group-order -100 * @dial-dtype boolean */ enableKeyboard?: boolean; /** * Enable arrow key rotation * @dial features * @dial-dtype boolean */ enableArrowRotate?: boolean; /** * Enable rotation * @dial features * @dial-dtype boolean */ enableRotate?: boolean; /** * Enable zoom * @dial features * @dial-dtype boolean */ enableZoom?: boolean; /** * Enable pan (truck) * @dial features * @dial-dtype boolean */ enablePan?: boolean; /** * Camera control mode. * - 'orbit': Standard orbit controls, rotating around a target point (default) * - 'fly': Rotation only changes camera direction without orbiting around target. * @dial mode * @dial-group-order -100 * @dial-dtype select * @dial-options ["orbit", "fly"] */ mode?: 'orbit' | 'fly'; /** * Mouse rotation sensitivity for fly mode (degrees per pixel) * @dial movement * @dial-min 0.05 * @dial-max 1 * @dial-step 0.05 */ flyMouseSensitivity?: number; /** * Smooth transition time in seconds * @dial smoothing * @dial-min 0 * @dial-max 1 * @dial-step 0.05 */ smoothTime?: number; /** * Show pivot point indicator * @dial pivot * @dial-cols 2 * @dial-col-span 2 * @dial-dtype boolean */ showPivot?: boolean; /** * Pivot indicator size * @dial pivot * @dial-min 0.01 * @dial-max 1 * @dial-step 0.01 */ pivotSize?: number; /** * Pivot indicator color * @dial pivot * @dial-dtype color */ pivotColor?: string; /** * Make this the default controls */ makeDefault?: boolean; /** * Report camera move events to the server * @dial events * @dial-dtype boolean * @dial-default false */ stream?: boolean; } export declare const sceneCameraData: Record; export declare const SceneCameraControl: import('react').ForwardRefExoticComponent>; export type { CameraControlsWithKeyboardProps } from './CameraControlsWithKeyboard'; export type { PivotIndicatorProps } from './PivotIndicator';