import { Protocol } from "pmtiles"; import type { UnitMapProvider } from "./MapCanvas"; export interface MapInstance { addControl(control: unknown, position?: string): void; fitBounds(bounds: unknown, options?: Record): void; flyTo(options: Record): void; panBy(offset: [number, number], options?: Record): void; off(type: string, listener: () => void): void; on(type: string, listener: () => void): void; remove(): void; resize(): void; } export interface MapMarker { addTo(map: MapInstance): MapMarker; remove(): void; setLngLat(lngLat: [number, number]): MapMarker; } export interface MapLibrary { addProtocol(name: string, handler: Protocol["tile"]): void; accessToken?: string; LngLatBounds: new (sw?: [number, number], ne?: [number, number]) => { extend(lngLat: [number, number]): void; }; Map: new (options: Record) => MapInstance; Marker: new (options: { element: HTMLElement; anchor?: string; }) => MapMarker; NavigationControl: new (options?: Record) => unknown; } export interface UnitMapRuntime { createBounds(sw?: [number, number], ne?: [number, number]): { extend(lngLat: [number, number]): void; }; createMap(options: Record): MapInstance; createMarker(options: { element: HTMLElement; anchor?: string; }): MapMarker; createNavigationControl(options?: Record): unknown; setAccessToken(token: string): void; } declare global { interface Window { mapboxgl?: MapLibrary; maplibregl?: MapLibrary; } } export declare function ensurePmtilesProtocol(library: Pick): void; export declare function loadUnitMapRuntime(provider: Exclude): Promise; //# sourceMappingURL=InteractiveUnitMapRuntime.d.ts.map