import { ReactNode } from 'react';
import { DataType } from './types';
export interface LassoGeometryToolbarChildrenProps {
    /** Geometry type — `mask` clips layers, `draw` is annotation only. */
    type: DataType;
    label: string;
    locked: boolean;
    onToggleType: (type: DataType) => void;
    onRename: (label: string) => void;
    onToggleLock: (locked: boolean) => void;
    onDelete: () => void;
}
export interface LassoGeometryToolbarProps {
    mapId: string;
    /** Pixels above the geometry's top edge to float the toolbar. @default 12 */
    offsetY?: number;
    children: (props: LassoGeometryToolbarChildrenProps) => ReactNode;
}
/**
 * Renders a contextual toolbar over the geometry currently selected in **edit**
 * mode, anchored to the top-center of its bounding box and kept in sync with the
 * map via screen projection (works for both MapLibre and Google Maps basemaps).
 *
 * Render-props, like {@link LassoToolsControls}: drop a presentational toolbar
 * (e.g. `LassoGeometryToolbarUI` from `@carto/ps-react-ui`) inside and wire the
 * supplied handlers. Renders nothing unless edit mode is active, a geometry is
 * selected, and no edit gesture is in progress.
 *
 * @example
 * ```tsx
 * <LassoTools.GeometryToolbar mapId="map1">
 *   {(props) => <LassoGeometryToolbarUI {...props} />}
 * </LassoTools.GeometryToolbar>
 * ```
 */
export declare function LassoGeometryToolbar({ mapId, offsetY, children, }: LassoGeometryToolbarProps): import('react').ReactPortal | null;
