/**
 * NOTE: code is based on BinaryUint32BVH
 * NOTE: this code is mostly untested
 */
export class StaticR2Tree {
    /**
     * @type {ArrayBuffer}
     * @private
     */
    private __data_buffer;
    /**
     * @readonly
     * @private
     * @type {Uint32Array}
     */
    private readonly __data_uint32;
    /**
     *
     * @type {number}
     * @private
     */
    private __node_count_binary;
    /**
     *
     * @type {number}
     * @private
     */
    private __node_count_leaf;
    /**
     *
     * @param {ArrayBuffer} buffer
     */
    setBuffer(buffer: ArrayBuffer): void;
    __data_float32: Float32Array<ArrayBuffer>;
    initialize_structure(): void;
    /**
     *
     * @param {number} count
     */
    setLeafCount(count: number): void;
    /**
     *
     * @param {number} index
     * @param {number} payload
     * @param {number} x0
     * @param {number} y0
     * @param {number} x1
     * @param {number} y1
     */
    setLeafData(index: number, payload: number, x0: number, y0: number, x1: number, y1: number): void;
    /**
     *
     * @returns {number}
     */
    getLeafBlockAddress(): number;
    /**
     *
     * @param {number} leaf_index
     * @returns {number}
     */
    readLeafPayload(leaf_index: number): number;
    /**
     * Sort leaf nodes according to their morton codes
     * @param {number[]} bounds
     */
    sort_morton(bounds: number[]): void;
    /**
     *
     * @param {number} i
     * @param {number} j
     * @private
     */
    private __swap_leaves;
    /**
     * Assemble leaf nodes into hierarchy, set binary node bounds iteratively bottom up
     */
    build(): void;
}
//# sourceMappingURL=StaticR2Tree.d.ts.map