import type { Accessor } from "./types";
import type { LegendItem } from "../../types/legendTypes";
import type { Datum } from "./datumTypes";
/**
 * Create a legend configuration for HOC components
 *
 * @param data - Array of data points
 * @param colorBy - Field or function to determine color categories
 * @param colorScale - Optional d3 color scale function
 * @param getColor - Function to get color for a data point
 * @param strokeColor - Optional stroke color for legend items
 * @param strokeWidth - Optional stroke width for legend items
 * @returns Legend configuration object for Semiotic frames
 */
export declare function createLegend({ data, colorBy, colorScale, getColor, strokeColor, strokeWidth, categories }: {
    data: Array<Datum>;
    colorBy: Accessor<string>;
    colorScale?: ((v: string) => string);
    getColor: (d: Datum, accessor: Accessor<string>, scale?: ((v: string) => string)) => string;
    strokeColor?: string;
    strokeWidth?: number;
    categories?: string[];
}): {
    legendGroups: {
        styleFn: (d: LegendItem) => Record<string, string | number>;
        type: "fill";
        items: {
            label: string;
            color: string;
        }[];
        label: string;
    }[];
};
