import * as React from "react";
type AnnotationEventHandlers = Record<string, (e: React.SyntheticEvent) => void>;
type AnnotationNote = {
    label?: string;
    title?: string;
    wrap?: number;
    orientation?: string;
    align?: string;
    noWrap?: boolean;
};
type AnnotationConnector = {
    end?: "arrow";
    type?: "line" | "curve";
    curve?: number;
};
type AnnotationSubject = {
    radius?: number;
    radiusPadding?: number;
    width?: number;
    height?: number;
    custom?: React.ReactElement | React.ReactElement[];
    x?: number;
    y?: number;
    x1?: number;
    x2?: number;
    y1?: number;
    y2?: number;
    type?: string;
    depth?: number;
    [key: string]: unknown;
};
/** Props for the single-annotation renderer. Consumed only by `SemioticAnnotation`
 *  below; the broader annotation API flows through the frame-level `annotations`
 *  array and its `svgAnnotationRules` hook. */
export interface AnnotationProps {
    noteData: {
        eventListeners?: AnnotationEventHandlers;
        events?: AnnotationEventHandlers;
        type: string;
        screenCoordinates?: number[][];
        /** When truthy, `screenCoordinates` is read as a sequence of anchor points
         *  and one annotation renders per coordinate with `nx`/`ny` shared. */
        coordinates?: boolean;
        noteHeight?: number | ((d: Record<string, unknown>) => number);
        noteWidth?: number | ((d: Record<string, unknown>) => number);
        x: number | number[];
        y: number | number[];
        nx?: number;
        ny?: number;
        dx?: number;
        dy?: number;
        note: AnnotationNote;
        i?: number;
        fixedPosition?: boolean;
        label?: string;
        connector?: AnnotationConnector;
        subject?: AnnotationSubject;
        color?: string;
        className?: string;
        disable?: string[];
        /** SVG opacity cascaded to every stroked/filled child of the annotation. */
        opacity?: number;
        /** SVG stroke-dasharray cascaded to every stroked child of the annotation. */
        strokeDasharray?: string;
        [key: string]: unknown;
    };
}
export default function SemioticAnnotation(props: AnnotationProps): React.JSX.Element;
export {};
