import { Frustum } from "@aura3d/math";
import { type Mat4, type PlaneTuple } from "./MathTypes.js";
import { SceneNode } from "./SceneNode.js";
export interface CameraViewport {
    x: number;
    y: number;
    width: number;
    height: number;
}
export declare abstract class Camera extends SceneNode {
    viewport: CameraViewport;
    readonly frustumPlanes: PlaneTuple[];
    frustum: Frustum;
    projectionMatrix: Mat4;
    viewMatrix: Mat4;
    viewProjectionMatrix: Mat4;
    protected constructor(name: string, id?: string);
    abstract computeProjectionMatrix(): Mat4;
    updateCameraMatrices(): void;
    setViewport(viewport: CameraViewport): void;
}
//# sourceMappingURL=Camera.d.ts.map