import { ReactNode } from 'react';
import { LassoToolsProps } from './types';
import { LassoToolsControls } from './lasso-tools-control';
import { LassoGeometryToolbar } from './geometry-toolbar';
import { LassoLayerFilters } from './layer-filters';
import { LassoMessage } from './message';
/**
 * LassoTools component provides tools for lasso selection on a map.
 *
 * @param {Object} props - The properties object.
 * @param {ReactNode} props.children - The child components to be rendered.
 * @param {string} props.mapId - The unique identifier for the map.
 * @param {Object} [props.defaultProps] - The default properties for the component.
 * @param {Object} [props.defaultProps.styles] - The default styles for the lasso tools.
 * @param {Object} [props.defaultProps.labels] - The default labels for the lasso tools.
 * @param {Object} [props.layerProps] - The properties for the layer.
 * @param {string} [props.defaultType='mask'] - The default type for the lasso tools.
 * @param {string[]} [props.excludeLayerIds] - Layer IDs that should NOT receive the GPU render mask. The data-side spatial filter from `useLassoToolsSpatialFilter` is unaffected.
 *
 * @returns {ReactNode} The rendered children components.
 *
 * @example
 * <LassoTools mapId="map1">
 *   <ChildComponent />
 * </LassoTools>
 */
export declare function LassoTools({ children, mapId, defaultProps: { styles, labels }, layerProps, defaultType, excludeLayerIds, }: LassoToolsProps & {
    children?: ReactNode;
}): ReactNode;
export declare namespace LassoTools {
    var Controls: typeof LassoToolsControls;
    var GeometryToolbar: typeof LassoGeometryToolbar;
    var LayerFilters: typeof LassoLayerFilters;
    var Message: typeof LassoMessage;
}
