import { PropsWithChildren } from 'react';
import { MapProviderProps } from './providers/map/types';
import { LassoToolsProviderProps } from './editable/lasso-tools/provider/types';
import { MeasurementToolsProviderProps } from './editable/measurement-tools/provider/types';
interface Props {
    maps: MapProviderProps['values'];
    lassoTools?: LassoToolsProviderProps['values'];
    measureTools?: MeasurementToolsProviderProps['values'];
}
/**
 * Comprehensive context provider that orchestrates multiple map instances with centralized state management,
 * coordinating {@link MapProvider}, {@link LassoToolsProvider}, and {@link MeasurementToolsProvider}.
 *
 * @remarks
 * This is the recommended entry point for applications using multiple maps or requiring coordination
 * between map instances and interactive tools. For simple single-map scenarios, you can use
 * individual providers directly.
 *
 * @example
 * ```tsx
 * <MapsProvider
 *   maps={[{ id: 'main-map', basemap: CartoBasemaps.voyager, viewState: { latitude: 40.7, longitude: -74, zoom: 10 } }]}
 *   lassoTools={[{ mapId: 'main-map', enabled: false, modes: DEFAULT_LASSO_TOOLS_MODES, modeSelected: 'polygon' }]}
 * >
 *   <MapComponent id="main-map" />
 * </MapsProvider>
 * ```
 */
export declare function MapsProvider({ children, maps, lassoTools, measureTools, }: PropsWithChildren<Props>): import("react/jsx-runtime").JSX.Element;
export {};
