export class HierarchicalZBuffer {
    /**
     *
     * @type {THREE.Texture|null}
     * @private
     */
    private __input_buffer;
    /**
     *
     * @type {THREE.WebGLRenderer|null}
     * @private
     */
    private __renderer;
    /**
     *
     * @type {THREE.WebGLRenderTarget[]}
     */
    mips: THREE.WebGLRenderTarget[];
    /**
     *
     * @type {ShaderMaterial}
     * @private
     */
    private __material;
    /**
     *
     * @type {Vector2}
     * @private
     */
    private __resolution;
    /**
     *
     * @type {Vector2}
     * @private
     */
    private __limits;
    /**
     *
     * @return {Vector2}
     */
    get mip_limits(): Vector2;
    /**
     * @param {THREE.WebGLRenderer} v
     */
    set renderer(v: THREE.WebGLRenderer);
    /**
     * @param {THREE.Texture} v
     */
    set input(v: THREE.Texture);
    build_mip_chain(): void;
    /**
     *
     * @param {number} x
     * @param {number} y
     */
    set_resolution(x: number, y: number): void;
    build_mips(): void;
    /**
     * @private
     * @param {THREE.Texture} input
     * @param {THREE.WebGLRenderTarget} output
     */
    private reduce_mip;
    /**
     * Depth texture with mips
     * @returns {THREE.Texture}
     */
    getTexture(): THREE.Texture;
}
import Vector2 from "../../../../../../core/geom/Vector2.js";
//# sourceMappingURL=HierarchicalZBuffer.d.ts.map