export class CameraView {
    /**
     * Human-readable name, used for development/debugging purposes
     * Not guaranteed to be unique, do not rely on it as an ID
     * @type {string}
     */
    name: string;
    /**
     * @deprecated
     * @type {null|THREE.Camera}
     * @private
     */
    private __camera;
    /**
     * Frustum planes
     * Format: x,y,z,constant
     * @type {Float32Array}
     */
    frustum: Float32Array;
    /**
     * 4x4 projection matrix
     * @type {Float32Array}
     */
    projection_matrix: Float32Array;
    /**
     *
     * @type {AABB3}
     */
    bounding_box: AABB3;
    /**
     *
     * @type {IncrementalDeltaSet<THREE.Object3D>}
     */
    visible_objects: IncrementalDeltaSet<THREE.Object3D>;
    /**
     *
     * @type {number}
     */
    flags: number;
    on: {
        preVisibilityBuild: Signal<any, any, any, any, any, any, any, any>;
        postVisibilityBuild: Signal<any, any, any, any, any, any, any, any>;
        preRender: Signal<any, any, any, any, any, any, any, any>;
    };
    /**
     *
     * @type {Array<{transform:function(Float32Array, Float32Array):void, context:*}>}
     */
    projection_modifiers: Array<{
        transform: (arg0: Float32Array, arg1: Float32Array) => void;
        context: any;
    }>;
    addProjectionModifier(mod: any): void;
    removeProjectionModifier(mod: any): boolean;
    /**
     *
     * @param {THREE.Camera} camera
     */
    set_from_camera(camera: THREE.Camera): void;
    /**
     * @deprecated
     * @return {Camera|null}
     */
    get camera(): Camera | null;
    /**
     *
     * @param {RenderLayerManager} layers
     * @param {VisibilityComputer} computer
     */
    build_visibility(layers: RenderLayerManager, computer: VisibilityComputer): void;
    /**
     *
     * @param {number|CameraViewFlags} flag
     * @returns {void}
     */
    setFlag(flag: number | CameraViewFlags): void;
    /**
     *
     * @param {number|CameraViewFlags} flag
     * @returns {void}
     */
    clearFlag(flag: number | CameraViewFlags): void;
    /**
     *
     * @param {number|CameraViewFlags} flag
     * @param {boolean} value
     */
    writeFlag(flag: number | CameraViewFlags, value: boolean): void;
    /**
     *
     * @param {number|CameraViewFlags} flag
     * @returns {boolean}
     */
    getFlag(flag: number | CameraViewFlags): boolean;
}
import { AABB3 } from "../../../../core/geom/3d/aabb/AABB3.js";
import { IncrementalDeltaSet } from "../visibility/IncrementalDeltaSet.js";
import Signal from "../../../../core/events/signal/Signal.js";
import { CameraViewFlags } from "./CameraViewFlags.js";
//# sourceMappingURL=CameraView.d.ts.map