import React from 'react'; import { MapLayersConfig } from '../map-layers'; declare global { namespace JSX { interface IntrinsicElements { 'gmp-map': React.DetailedHTMLProps, HTMLElement> & { 'map-id'?: string; center?: string | google.maps.LatLng | google.maps.LatLngLiteral; zoom?: number; }; 'gmp-advanced-marker': React.DetailedHTMLProps, HTMLElement> & { title?: string; position?: string | google.maps.LatLng | google.maps.LatLngLiteral; }; } } } export interface MapProps extends React.HTMLAttributes { center?: { lat: number; lng: number; }; zoom?: number; mapTypeId?: string; mapId?: string; markers?: Array<{ position: { lat: number; lng: number; }; label?: string; title?: string; info?: string; customColor?: string; icon?: string; iconSvg?: string; iconColor?: string; infoWindowContent?: string; richContent?: React.ReactNode; }>; circle?: { center: { lat: number; lng: number; }; radius: number; fillColor?: string; strokeColor?: string; }; polygon?: { paths: Array<{ lat: number; lng: number; }>[]; fillColor?: string; strokeColor?: string; }; layers?: MapLayersConfig; height?: string; apiKey?: string; mapContainerClassName?: string; disableDefaultUI?: boolean; zoomControl?: boolean; streetViewControl?: boolean; mapTypeControl?: boolean; fullscreenControl?: boolean; gestureHandling?: 'cooperative' | 'greedy' | 'none' | 'auto'; onMapLoad?: (map: google.maps.Map) => void; } /** * Primary Google Maps component. * * @description * Supports Advanced Markers, Circles, Polygons, and custom tile Layers. * Automatically loads the Google Maps JavaScript API via `useGoogleMapsLoader`. * * @ai-rules * 1. REQUIRED: Provide a valid `apiKey` via prop or the `VITE_GOOGLE_MAPS_API_KEY` environment variable. * 2. Use the `markers` prop to render points of interest. Supports `richContent` for React-based InfoWindows. * 3. Always set `height` explicitly (default is 400px) to ensure the map is visible in the layout. */ export declare const Map: React.ForwardRefExoticComponent>;