export class PathTracedMesh {
    /**
     *
     * @type {number}
     */
    id: number;
    /**
     *
     * @type {AABB3}
     */
    aabb: AABB3;
    /**
     *
     * @type {BufferedGeometryBVH|null}
     */
    bvh: BufferedGeometryBVH | null;
    /**
     *
     * @type {THREE.BufferGeometry|null}
     */
    geometry: THREE.BufferGeometry | null;
    /**
     *
     * @type {StandardMaterial|null}
     */
    material: StandardMaterial | null;
    get transform_inverse(): Float32Array<ArrayBufferLike>;
    build_tight_bounds(): void;
    update_bounds(): void;
    set transform(m: Float32Array<ArrayBufferLike>);
    get transform(): Float32Array<ArrayBufferLike>;
    /**
     *
     * @param {Ray3} ray
     * @returns {boolean}
     */
    occluded(ray: Ray3): boolean;
    /**
     *
     * @param {number[]} out
     * @param {number[]|Ray3} ray
     * @param {number} ray_limit overrides Ray.tMax
     * @returns {number} distance along the ray to contact
     */
    hit(out: number[], ray: number[] | Ray3, ray_limit: number): number;
    #private;
}
import { AABB3 } from "../../../../core/geom/3d/aabb/AABB3.js";
import { Ray3 } from "../../../../core/geom/3d/ray/Ray3.js";
//# sourceMappingURL=PathTracedMesh.d.ts.map