import type { ReactNode } from "react";
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
export interface LegendRenderConfig {
    legend: ReactNode | {
        legendGroups: LegendGroup[];
    } | {
        gradient: GradientLegendConfig;
    };
    totalWidth: number;
    totalHeight: number;
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    legendPosition?: "right" | "left" | "top" | "bottom";
    legendLayout?: LegendLayout;
    title?: string | ReactNode;
    legendHoverBehavior?: (item: {
        label: string;
    } | null) => void;
    legendClickBehavior?: (item: {
        label: string;
    }) => void;
    legendHighlightedCategory?: string | null;
    legendIsolatedCategories?: Set<string>;
    legendInteraction?: string;
}
/**
 * Renders a legend (categorical, gradient, or custom ReactNode) inside an SVG overlay.
 * Computes position based on `legendPosition` and chart dimensions.
 */
export declare function renderLegendFromConfig(config: LegendRenderConfig): ReactNode;
