import type { GeoSceneNode } from "./geoTypes";
import type { PointSceneNode } from "./types";
import type { Quadtree } from "d3-quadtree";
export interface GeoHitResult {
    node: GeoSceneNode;
    distance: number;
}
/**
 * Hit test geo scene nodes.
 *
 * Strategy:
 * 1. Points first (topmost visual layer) — quadtree if available, else linear scan
 * 2. Geo areas via ctx.isPointInPath(Path2D) — reverse order for top-layer-wins
 * 3. Lines via closest-segment distance
 *
 * The `hitCtx` parameter is a shared offscreen canvas context used for
 * isPointInPath checks without polluting the visible canvas.
 */
export declare function findNearestGeoNode(nodes: GeoSceneNode[], mouseX: number, mouseY: number, maxDistance: number, hitCtx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, pointQuadtree?: Quadtree<PointSceneNode> | null, maxPointRadius?: number): GeoHitResult | null;
