import { PropsWithChildren } from 'react';
import { LassoToolsProviderProps, LassoToolsStore } from './types';
/**
 * React context provider that manages lasso tools state and configuration across multiple map instances.
 *
 * @remarks
 * Typically used at the application level to provide consistent lasso tool state
 * across multiple map components. Works in conjunction with `LassoTools` and `LassoTools.Controls`.
 *
 * @example
 * ```tsx
 * <LassoToolsProvider values={[{
 *   mapId: 'main-map',
 *   enabled: false,
 *   modeSelected: 'polygon',
 *   modes: DEFAULT_LASSO_TOOLS_MODES,
 *   modeInstance: new DEFAULT_LASSO_TOOLS_MODES.polygon.mode(),
 * }]}>
 *   <MapComponent id="main-map" />
 *   <LassoTools mapId="main-map">...</LassoTools>
 * </LassoToolsProvider>
 * ```
 */
export declare function LassoToolsProvider({ children, values, }: PropsWithChildren<LassoToolsProviderProps>): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to access lasso tools state from the nearest `LassoToolsProvider` context.
 *
 * @param selector - Zustand selector function to pick specific state values.
 * @returns The selected state value.
 *
 * @remarks
 * Throws an error if used outside of a `LassoToolsProvider`.
 */
export declare function useLassoToolsState<T>(selector: (state: LassoToolsStore) => T): T;
