/**
 * Static legend rendering for server-side SVG.
 *
 * Builds legend SVG elements from data + colorScheme without React hooks.
 * Used by renderToStaticSVG when showLegend is true.
 */
import * as React from "react";
import type { SemioticTheme } from "../store/ThemeStore";
import type { Datum } from "../charts/shared/datumTypes";
export interface StaticLegendConfig {
    /** Category labels to show in legend */
    categories: string[];
    /** Color scheme — array of colors or d3-scale-chromatic name */
    colorScheme?: string | string[];
    /** Theme for text/font colors */
    theme: SemioticTheme;
    /** Legend position */
    position?: "right" | "left" | "top" | "bottom";
    /** Chart dimensions for positioning */
    totalWidth: number;
    totalHeight: number;
    /** Chart margins */
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    /** Title presence (affects top-position offset) */
    hasTitle?: boolean;
}
/**
 * Render a static legend as SVG elements.
 * Returns null if no categories to show.
 */
export declare function renderStaticLegend(config: StaticLegendConfig): React.ReactNode;
/**
 * Extract unique categories from data using an accessor.
 */
export declare function extractCategories(data: any[], accessor: string | ((d: Datum) => string) | undefined): string[];
