import type { EditableNodeAttributes } from "../types"; import { type ResponsiveLength } from "../utils/responsivePresentation"; import { type StudioImageSource } from "./StudioImage"; import { type UnitMapProvider, type UnitMapTheme } from "./units/MapCanvas"; export interface PropertyMapInfoCard { id?: string; title: string; address?: string; phone?: string; phoneLabel?: string; email?: string; emailLabel?: string; details?: string[]; } export type PropertyMapMarkerCategory = "dining" | "shopping" | "school" | "transit" | "recreation" | "other"; export type PropertyMapGoogleMapsAction = "none" | "view" | "directions"; export interface PropertyMapGoogleMapsLink { action?: PropertyMapGoogleMapsAction; label?: string; url?: string; } export interface PropertyMapMarker { id: string; lat: number; lng: number; category?: PropertyMapMarkerCategory; visible?: boolean; image?: StudioImageSource; color?: string; size?: string; /** Optional accessible-label override. The information-card title remains the authored place name. */ label?: string; infoCard?: PropertyMapInfoCard; googleMapsLink?: PropertyMapGoogleMapsLink; } export interface PropertyMapProps extends EditableNodeAttributes { centerLat: number; centerLng: number; zoom?: number; provider?: UnitMapProvider; mapboxStyleUrl?: string; maplibreTheme?: UnitMapTheme; maplibreStyleUrl?: string; height?: string; responsiveHeight?: ResponsiveLength; markerId?: string; markerLat?: number; markerLng?: number; markerImage?: StudioImageSource; markerColor?: string; markerSize?: string; markerLabel?: string; infoCard?: PropertyMapInfoCard; googleMapsLink?: PropertyMapGoogleMapsLink; markers?: PropertyMapMarker[]; /** `property`, `none`, or a nearby marker id. Omit to preserve `infoCardInitiallyOpen`. */ initiallyOpenMarkerId?: string; /** Omit to fit automatically when at least one visible nearby marker exists. */ autoFitMarkers?: boolean; infoCardWidth?: string; responsiveInfoCardWidth?: ResponsiveLength; infoCardInitiallyOpen?: boolean; infoCardDismissible?: boolean; mapLabel?: string; loadingLabel?: string; errorLabel?: string; showExplorer?: boolean; explorerHeading?: string; explorerDescription?: string; explorerSearchPlaceholder?: string; explorerEmptyMessage?: string; className?: string; } export type PropertyMapProvider = UnitMapProvider; export type PropertyMapTheme = UnitMapTheme; export declare function PropertyMap({ centerLat, centerLng, zoom, provider, mapboxStyleUrl, maplibreTheme, maplibreStyleUrl, height, responsiveHeight, markerId, markerLat, markerLng, markerImage, markerColor, markerSize, markerLabel, infoCard, googleMapsLink, markers, initiallyOpenMarkerId, autoFitMarkers, infoCardWidth, responsiveInfoCardWidth, infoCardInitiallyOpen, infoCardDismissible, mapLabel, loadingLabel, errorLabel, showExplorer, explorerHeading, explorerDescription, explorerSearchPlaceholder, explorerEmptyMessage, className, "data-node-id": dataNodeId, }: PropertyMapProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=PropertyMap.d.ts.map