export interface BITree {
    tree: number[];
    /**
     * 为第 index 个元素增减值
     *
     * @param index 索引值
     * @param num 增减的值
     */
    add(index: number, num: number): void;
    /**
     * 求前 index 个元素的和
     *
     * @param index 索引值
     *
     * @returns 前 index 个元素的和
     */
    sum(index?: number): number;
    /**
     * 获取第 index 个元素的值
     *
     * @param index 索引值
     *
     * @returns 第 index 个元素的值
     */
    get(index: number): number;
    /**
     * 根据目标值寻找一个最接近的元素的索引值
     *
     * @param target 目标值
     *
     * @returns 最接近的元素的索引值
     */
    boundIndex(target: number): number;
}
/**
 * 创建一个二叉索引树（Fenwick 树）对象
 *
 * 为了节省初始化性能开销，需确保元素最小值已知，其初始值为：元素最小值 * 元素总数
 *
 * @param length 树的大小，即元素的总数
 * @param min 规定元素的最小值
 *
 * @returns 二叉索引树对象
 */
export declare function createBITree(length: number, min?: number): BITree;
