import React from 'react'; import type { AttendanceLocation } from '../types'; export declare type GoogleMapLatLng = { lat: number; lng: number; }; export declare type GoogleMapConfig = { center: GoogleMapLatLng; zoom: number; [key: string]: any; }; export declare type GoogleMapMarker = { id?: string; coordinate: GoogleMapLatLng; title?: string; snippet?: string; iconUrl?: string; iconSize?: { width: number; height: number; }; iconAnchor?: { x: number; y: number; }; draggable?: boolean; }; export declare type GoogleMapCircle = { id?: string; center: GoogleMapLatLng; radius: number; strokeColor?: string; strokeOpacity?: number; strokeWeight?: number; fillColor?: string; fillOpacity?: number; clickable?: boolean; }; export declare type GoogleMapRef = { getMap: () => any | null; addMarker: (marker: GoogleMapMarker) => Promise; addMarkers: (markers: GoogleMapMarker[]) => Promise; removeMarker: (markerId: string) => Promise; removeMarkers: (markerIds: string[]) => Promise; addCircle: (circle: GoogleMapCircle) => Promise; addCircles: (circles: GoogleMapCircle[]) => Promise; removeCircle: (circleId: string) => Promise; removeCircles: (circleIds: string[]) => Promise; setCamera: (config: { coordinate: GoogleMapLatLng; zoom?: number; animate?: boolean; }) => Promise; fitBounds: (bounds: { southwest: GoogleMapLatLng; northeast: GoogleMapLatLng; padding?: number; }) => Promise; }; export interface MapFieldProps { value?: AttendanceLocation[]; onChange?: (value: AttendanceLocation[]) => void; defaultRadius?: number; className?: string; } export interface MapFieldRef { onAddLocation: () => void; } export interface LocationFormMapProps { value?: any; onChange?: (values: any) => void; defaultRadius?: number; } export interface LocationFormMapRef { validate: () => Promise; } declare const MapField: React.ForwardRefExoticComponent>; export default MapField;