import { type Aabb, type Vec2 } from "./geometry.js"; import type { GeneratedBuilding } from "./buildings.js"; export interface BuildingHit { building: GeneratedBuilding; distance: number; } export interface BuildingIndex { readonly buildings: readonly GeneratedBuilding[]; at(point: Vec2): GeneratedBuilding | undefined; within(area: Aabb): GeneratedBuilding[]; nearest(point: Vec2): BuildingHit | undefined; isInside(point: Vec2): boolean; blockers(margin?: number): Aabb[]; readonly bounds: Aabb | undefined; } export declare function buildingIndex(buildings: readonly GeneratedBuilding[]): BuildingIndex;