/**
 * @callback Lookup
 * @param {number} start
 * @param {number} end
 * @param {[number, number]} [arr] Store the result into this array (and return it)
 * @returns {[number, number]}
 */
/**
 * A binned index for (overlapping) ranges that are sorted by their start position.
 * Each indexed range is associated with respective vertex indices.
 *
 * The indexing scheme is somewhat similar to Tabix (https://academic.oup.com/bioinformatics/article/27/5/718/262743).
 *
 * @param {number} size Number of bins
 * @param {[number, number]} domain Domain of positions
 * @param {(datum: T) => number} accessor Accessor for range's start position
 * @param {(datum: T) => number} [accessor2] Accessor for range's end position
 * @template T
 */
export function createBinningRangeIndexer<T>(size: number, domain: [number, number], accessor: (datum: T) => number, accessor2?: (datum: T) => number): {
    (datum: T, startVertexIndex: number, endVertexIndex: number): void;
    getIndex: () => Lookup;
};
export type Lookup = (start: number, end: number, arr?: [number, number]) => [number, number];
//# sourceMappingURL=binnedIndex.d.ts.map