import type { Datum } from "../charts/shared/datumTypes";
/**
 * Static annotation rendering for server-side SVG.
 *
 * Supports common annotation types without DOM or React hooks.
 * Converts data coordinates to pixels using provided scales.
 */
import * as React from "react";
import type { SemioticTheme } from "../store/ThemeStore";
interface AnnotationScales {
    x?: (v: any) => number;
    y?: (v: any) => number;
    /** For ordinal charts: band scale */
    o?: {
        (v: string): number | undefined;
        bandwidth?: () => number;
    };
    /** For ordinal charts: value scale */
    r?: (v: number) => number;
}
interface AnnotationLayout {
    width: number;
    height: number;
}
export interface StaticAnnotationConfig {
    annotations: Datum[];
    scales: AnnotationScales;
    layout: AnnotationLayout;
    theme: SemioticTheme;
    /** ID prefix for multi-chart documents */
    idPrefix?: string;
    xAccessor?: string;
    yAccessor?: string;
    /** Ordinal projection — determines whether r maps to x or y */
    projection?: "vertical" | "horizontal" | "radial";
}
/**
 * Render annotations as static SVG elements.
 */
export declare function renderStaticAnnotations(config: StaticAnnotationConfig): React.ReactNode;
export {};
