/** Inclusive integer tile rectangle at one zoom. */ export interface TileRect { z: number; left: number; top: number; right: number; bottom: number; } export declare function forEachTileInRect(rect: TileRect, visit: (x: number, y: number) => void): void; /** Parse `z:x:y` keys produced by the raster/vector tile layers. */ export declare function parseTileKey(key: string): { z: number; x: number; y: number; } | null; /** Key of the tile covering `key` at a coarser zoom. */ export declare function tileAncestorKey(key: string, targetZoom: number): string | null; /** Nearest ready parent, used as an opaque raster backstop while a level loads. */ export declare function nearestReadyAncestorKey(key: string, isReady: (candidate: string) => boolean, minZoom?: number): string | null; /** Visual coverage of a target tile set, including pyramid fallbacks. */ export declare function tileSetCoverage(needed: Iterable, isReady: (candidate: string) => boolean, minZoom?: number, descendantDepth?: number): number; /** * Tiles in `needed` that were never instantiated — leftover after maxNew-per-frame * or after an incremental coverage pass that committed `_rect` too early. */ export declare function forEachMissingNeeded(needed: Iterable, hasTile: (key: string) => boolean, visit: (x: number, y: number, key: string) => void): void; /** Visit tiles that left `prev` or entered `next` without walking the overlap. */ export declare function forEachTileRectDelta(prev: TileRect | null, next: TileRect, onEnter: (x: number, y: number) => void, onLeave: (x: number, y: number) => void): void; /** * Distance from a tile to the predicted camera center (tiles, not pixels). * `vx` / `vy` are screen-space pan velocity in px/s. */ export declare function tilePriority(x: number, y: number, centerX: number, centerY: number, vx: number, vy: number, tileSize: number, lookaheadSec?: number): number; export interface TileLookaheadPadding { left: number; top: number; right: number; bottom: number; } /** Extra prefetch strips on the edge a drag/inertia gesture is revealing. */ export declare function tileLookaheadPadding(vx: number, vy: number, tileSize: number, lookaheadSec?: number, maxTiles?: number): TileLookaheadPadding; /** Binary min-heap. Replaces Array#shift on tile download queues. */ export declare class MinHeap { #private; private readonly score; private readonly data; constructor(score: (item: T) => number); get length(): number; clear(): void; push(item: T): void; pop(): T | undefined; removeWhere(predicate: (item: T) => boolean): void; } //# sourceMappingURL=tile-grid.d.ts.map