/**
 * Push the shadow camera's near plane back toward the light to include any
 * occluder whose shadow would fall within the camera's x/y bounds, even when
 * the occluder itself sits outside the main view frustum.
 *
 * Without this step the textbook "fit shadow camera to view frustum" leaves
 * the near plane at the closest receiver — a brick floating just above the
 * view frustum gets clipped out of the shadow map and casts no shadow on the
 * ground below.
 *
 * Algorithm:
 *   1. Take the shadow camera's existing left/right/top/bottom (already fit
 *      to receivers) as the x/y extents of a light-local query box. Extend z
 *      to a wide range so any caster along the light direction is captured.
 *   2. Transform the 6 box planes to world space via the shadow camera's
 *      matrixWorld.
 *   3. Walk every render layer's BVH through `compute_depth_range` against
 *      this world-space volume, measured along the shadow camera's view
 *      direction.
 *   4. If the closest depth found is smaller than the camera's current near,
 *      replace near with it.
 *
 * Far is intentionally left alone: casters behind the farthest receiver (in
 * light direction) can't shadow anything in the view.
 *
 * @param {THREE.OrthographicCamera} shadow_camera
 * @param {RenderLayerManager} layers
 */
export function extend_shadow_camera_near_for_casters(shadow_camera: THREE.OrthographicCamera, layers: RenderLayerManager): void;
//# sourceMappingURL=extend_shadow_camera_near_for_casters.d.ts.map