import { IRectangle } from '../IRectangle'; import { HitTestBehavior } from './hitTestBehavior'; /** calculates an RTree with the leaves in the given nodes */ export declare function CreateRectNodeOnArrayOfRectNodes(nodes: RectangleNode[]): RectangleNode; export declare function createRectangleNodeOnData(dataEnumeration: Iterable, rectangleDelegate: (t: T) => IRectangle

): RectangleNode; export declare function mkRectangleNodeWithCount(count: number): RectangleNode; export declare function mkRectangleNode(data: T, rect: IRectangle

): RectangleNode; export declare class RectangleNode { UserData: T; Count: number; left: RectangleNode; right: RectangleNode; irect: IRectangle

; toString(): string; Parent: RectangleNode; get IsLeaf(): boolean; get Left(): RectangleNode; set Left(value: RectangleNode); get Right(): RectangleNode; set Right(value: RectangleNode); get IsLeftChild(): boolean; FirstIntersectedNode(r: IRectangle

): RectangleNode; FirstHitNodeWithPredicate(point: P, hitTest: (p: P, t: T) => HitTestBehavior): RectangleNode; private FirstHitByRectWithPredicate; FirstHitNode(point: P): RectangleNode; AllHitItems(rectanglePar: IRectangle

, hitTestAccept?: (data: T) => boolean): IterableIterator; AllHitItems_(point: P): IterableIterator; VisitTree(hitTest: (data: T) => HitTestBehavior, hitRectangle: IRectangle

): void; Clone(): RectangleNode; GetNodeItemsIntersectingRectangle(rectanglePar: IRectangle

): Generator; GetLeafRectangleNodesIntersectingRectangle(rectanglePar: IRectangle

): IterableIterator>; GetAllLeaves(): IterableIterator; GetAllLeafNodes(): IterableIterator>; EnumRectangleNodes(leafOnly: boolean): IterableIterator>; TraverseHierarchy(node: RectangleNode, visitor: (n: RectangleNode) => void): void; }