import { type ReactNode } from 'react'; import { type VariantProps } from 'class-variance-authority'; export type MarkerShape = 'circle' | 'square' | 'triangle' | 'diamond' | 'cross'; export type MarkerTone = 'neutral' | 'info' | 'success' | 'warning' | 'error' | 'accent'; export declare const MARKER_SHAPES: MarkerShape[]; /** * SVG path `d` for a marker shape centred at `(cx, cy)` with radius `r`, * in the parent SVG's own user units. Pure — no React, no DOM. MuscleScheme * draws its finding overlay with this exact function so the figure overlay and * the standalone glyph stay visually identical. */ export declare function markerPath(shape: MarkerShape, cx: number, cy: number, r: number): string; declare const wrapperVariants: (props?: ({ size?: "sm" | "md" | "lg" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface AnnotationMarkerProps extends Omit, 'children'>, VariantProps { /** Shape of the marker — the accessible channel (never colour alone). */ shape: MarkerShape; /** Semantic tone. Decorative reinforcement of the shape, not the meaning. */ tone?: MarkerTone; /** Fill the shape (default) or draw it as an outline. */ filled?: boolean; /** * Accessible name. Required for an icon-only marker (no `label`); when `label` * text is shown, this overrides the visible text for assistive tech. */ 'aria-label'?: string; /** Optional visible label rendered after the glyph (e.g. in a legend). */ label?: ReactNode; } export declare const AnnotationMarker: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=annotation-marker.d.ts.map