///
import type { Control, Layer, LayerGroup, Map } from 'leaflet';
export declare const CONTEXT_VERSION = 1;
export declare type ControlledLayer = {
addLayer(layer: Layer): void;
removeLayer(layer: Layer): void;
};
export declare type LeafletContextInterface = Readonly<{
__version: number;
map: Map;
layerContainer?: ControlledLayer | LayerGroup;
layersControl?: Control.Layers;
overlayContainer?: Layer;
pane?: string;
}>;
export declare function createLeafletContext(map: Map): LeafletContextInterface;
export declare function extendContext(source: LeafletContextInterface, extra: Partial): LeafletContextInterface;
export declare const LeafletContext: import("react").Context | ControlledLayer | undefined;
layersControl?: Control.Layers | undefined;
overlayContainer?: Layer | undefined;
pane?: string | undefined;
}> | null>;
export declare const LeafletProvider: import("react").Provider | ControlledLayer | undefined;
layersControl?: Control.Layers | undefined;
overlayContainer?: Layer | undefined;
pane?: string | undefined;
}> | null>;
export declare function useLeafletContext(): LeafletContextInterface;