import type { GeoJsonBbox, GeoJsonFeature, GeoJsonFeatureCollection } from "@trackunit/geo-json-utils"; import type { LayerPort } from "@trackunit/react-map-adapter-shared"; import { type Mock } from "vitest"; import type { MapApi, MapState } from "../core/types"; import type { LayerHandle, ShapeLayerHandle } from "./types"; import type { UseLayersReturn } from "./useLayers"; export declare const POLYGON_FEATURES: GeoJsonFeatureCollection; export declare const VIEWPORT_BOUNDS: GeoJsonBbox; /** Viewport entirely inside the polygon (edges at 0/10) so no edge is visible */ export declare const INTERIOR_ONLY_BOUNDS: GeoJsonBbox; export type MockLayerPort = LayerPort & { setSnapshot: Mock; setShapeStyleDefaults: Mock; onEntityInteraction: Mock; onBackgroundClick: Mock; onSourceReady: Mock; }; export type MockLayerPortWithReadiness = { port: MockLayerPort; fireSourceReady: (configId: string) => void; }; export declare const createMockLayerPort: () => MockLayerPortWithReadiness; export declare const createMockMapApi: (bounds?: GeoJsonBbox | null, stateOverrides?: Partial) => MapApi; export declare const createShapeHandle: (id: string, labelFn?: (feature: GeoJsonFeature) => string | undefined, features?: GeoJsonFeatureCollection) => ShapeLayerHandle; export declare const createMockLayersReturn: (handles: ReadonlyArray) => UseLayersReturn;