import { PerspectiveCamera } from 'three/webgpu'; import { DIVECameraComponent } from '../CameraComponent.ts'; export type DIVEPerspectiveCameraSettings = { /** Field of view in degrees */ fov: number; /** Near clipping plane */ near: number; /** Far clipping plane */ far: number; }; export declare const DIVEPerspectiveCameraDefaultSettings: Required; /** * Gives a node a perspective view of the scene. * * Settings arrive through {@link applySettings} rather than the constructor, which * takes no arguments: `Object3D.clone()` calls `new this.constructor()`, so a * required parameter would make cloning a node throw. * * @module */ export declare class PerspectiveCameraComponent extends DIVECameraComponent { readonly isPerspectiveCameraComponent: true; constructor(); get camera(): PerspectiveCamera; /** * Applies whatever the settings carry, leaving the rest as it is. * * @param settings - Field of view, near and far plane. */ applySettings(settings: Partial): void; /** * Takes on the source's settings. Aspect is left out: it comes from the * viewport through {@link onResize}, not from whoever configured the camera. * * @param source - The component to copy from. */ copy(source: this): this; onResize(width: number, height: number): void; }