import { type ElementAttributes } from '@lume/element'; import { PerspectiveCamera as ThreePerspectiveCamera } from 'three/src/cameras/PerspectiveCamera.js'; import { Camera, type CameraAttributes } from './Camera.js'; export type PerspectiveCameraAttributes = CameraAttributes | 'fov'; /** * @class PerspectiveCamera * * Defines a viewport into the 3D scene as will be seen on screen. * * A perspective camera is very similar to a camera in the real world: it has a * field of view (fov) such that more things in the world are visible further away from * the camera, while less can fit into view closer to the camera. * * * * * @extends Camera */ export declare class PerspectiveCamera extends Camera { /** * @property {number} fov * * *attribute* * * Default: `0` * * The camera's field of view angle, in degrees, when the [`zoom`](#zoom) * level is `1`. * * A value of `0` means automatic fov based on the current Scene's * [`.perspective`](../core/Scene#perspective), matching the behavior of [CSS * `perspective`](https://developer.mozilla.org/en-US/docs/Web/CSS/perspective). */ fov: number; connectedCallback(): void; makeThreeObject3d(): ThreePerspectiveCamera; } declare module 'solid-js' { namespace JSX { interface IntrinsicElements { 'lume-perspective-camera': ElementAttributes; } } } declare global { interface HTMLElementTagNameMap { 'lume-perspective-camera': PerspectiveCamera; } } //# sourceMappingURL=PerspectiveCamera.d.ts.map