import type { CSSProperties, ReactNode } from "react"; import { MapController } from "@nika-js/onlymap"; import type { CameraState, ValidationEntry } from "@nika-js/onlymap"; export interface OmMapProps { /** Initial camera — later prop changes move the camera (instant; use a ref + flyTo for animated moves). */ center?: [number, number]; zoom?: number; pitch?: number; bearing?: number; /** Same contract as the `basemap` attribute — a preset name ("positron", "dark-matter", …), "maplibre", a style URL, or omit for standalone deck.gl. Changing it switches live (style-only changes keep camera + layers; none ↔ maplibre remounts the renderer inside the controller). */ basemap?: string; /** Publishable provider key for keyed presets (maptiler-*) — or call configureBasemap once instead. */ basemapKey?: string; /** Set false to opt out of the compact attribution control. */ attribution?: boolean; /** Headless mode for tests (spec: "Consumer Testing Surface") — no renderer, real projection math under jsdom/happy-dom. */ headless?: boolean | { width?: number; height?: number; }; /** Layout-token sugar, the `widget-style` attribute's twin: `"gap:10 opacity:0.9"` → `--om-widget-*` custom properties on the widget layer. */ widgetStyle?: string; /** Hide-all, the `widgets-hidden` attribute's twin: hides authored managed widgets without removal; provider attribution and the license badge never hide. */ widgetsHidden?: boolean; /** Responsive auto-fold (default true); false is the `widgets-fold="off"` twin. */ widgetsFold?: boolean; className?: string; style?: CSSProperties; children?: ReactNode; /** Fired once: renderer initialized + first commit ran + no declared data URL still loading (the `.ready` contract). */ onReady?: () => void; /** Fired on every camera change (pan/zoom/pitch/bearing). */ onViewStateChange?: (view: CameraState) => void; /** Runtime error boundary — deck.gl-level failures in the structured validation shape. */ onRuntimeError?: (entry: ValidationEntry) => void; } /** The imperative surface (`ref`) — the MapController itself: flyTo, setView, emit, getLayers, injectPick, ready. */ export type OmMapHandle = MapController; export declare const OmMap: import("react").ForwardRefExoticComponent>;