import type { mat4, vec3, vec4 } from '@predy-js/render-interface'; import type { CameraOptions } from '@predy-js/specification'; export type CameraParams = { [P in keyof CameraOptions]?: CameraOptions[P]; } & { quat?: vec4; aspect?: number; }; export declare class Camera { readonly projection: mat4; readonly view: mat4; readonly viewProjection: mat4; readonly params: CameraParams; readonly name: string; private _dirty; private readonly _invView; private _invProjection?; private _invVP?; constructor(name?: string); get inverseProjection(): mat4; get inverseViewProjection(): mat4; get inverseView(): mat4; get quat(): vec4; setParams(params: CameraParams): void; updateMatrix(): void; projectVec3(out: vec3, point: vec3, vpMat?: mat4): vec3; getModelView(out: mat4 | number[], model: mat4): mat4; getModelViewProjection(out: mat4 | number[], model: mat4): mat4; getWorldPosition(): import("@predy-js/specification").vec3; }