/** * Copyright 2017-present Palantir Technologies * @license MIT */ import { RTreeNode } from "./rTree"; export declare type NodePair = [RTreeNode, RTreeNode]; export interface IRTreeSplitStrategy { split: (entries: RTreeNode[], nodes: NodePair) => void; } export declare class SplitStrategyTrivial implements IRTreeSplitStrategy { split(entries: RTreeNode[], nodes: NodePair): void; } export declare class SplitStrategyLinear implements IRTreeSplitStrategy { split(entries: RTreeNode[], nodes: NodePair): void; /** * Choose the two farthest-apart entries to begin the split. */ private chooseFirstSplit(entries, nodes); /** * Split the next entry. Choose the entry that expands its parent node's * area the least. */ private addNext(entries, nodes); }