import * as react from 'react'; import { CSSProperties, ReactNode } from 'react'; import { M as MapOptions, a as MDSMap, ap as MDSMapError } from '../map-B04kt8ZG.cjs'; /** * Lấy map của `` bao ngoài. * * Trả `null` cho tới khi map sẵn sàng (và trở lại `null` khi map bị huỷ), nên * luôn kiểm tra trước khi dùng: * * ```tsx * const map = useMDSMap(); * useEffect(() => { * if (!map) return; * const off = map.on('click', console.log); * return off; * }, [map]); * ``` * * @throws MDSMapError `MDS_INVALID_OPTIONS` khi gọi ngoài ``. */ declare function useMDSMap(): MDSMap | null; /** Props của ``. */ interface MDSMapViewProps { /** * Options khởi tạo map. CHỤP MỘT LẦN lúc mount — xem ghi chú đầu file. * Không cần memo hoá. */ options?: MapOptions; /** Map đã sẵn sàng. Nhận instance để giữ lại nếu cần dùng ngoài cây React. */ onReady?: (map: MDSMap) => void; /** Tạo map thất bại. Luôn là `MDSMapError` (đã chuẩn hoá). */ onError?: (error: MDSMapError) => void; /** Class của phần tử bọc ngoài. */ className?: string; /** Style của phần tử bọc ngoài (ghi đè được cả kích thước mặc định). */ style?: CSSProperties; /** Overlay/panel render đè lên map; dùng `useMDSMap()` để lấy map. */ children?: ReactNode; } /** Handle imperative của `` (qua `ref`). */ interface MDSMapViewHandle { /** Map hiện hành, `null` khi chưa sẵn sàng hoặc đã bị huỷ. */ getMap(): MDSMap | null; } /** * Bản đồ 3D MDS dưới dạng component React — tự lo trọn vòng đời: tạo map khi * mount, `destroy()` khi unmount, không rò WebGL context kể cả ở StrictMode. */ declare const MDSMapView: react.ForwardRefExoticComponent>; export { MDSMapView, type MDSMapViewHandle, type MDSMapViewProps, useMDSMap };