import * as React from "react";
/**
 * Category→color mapping. Maps category values (like "North", "error", "active")
 * to fixed color strings. Charts inside a CategoryColorProvider will use these
 * colors consistently regardless of what subset of categories each chart displays.
 */
export type CategoryColorMap = Record<string, string>;
export interface CategoryColorProviderProps {
    /** Explicit category→color mapping */
    colors?: CategoryColorMap;
    /**
     * Category values to auto-assign colors from a scheme.
     * Use when you want consistent colors but don't need specific assignments.
     */
    categories?: string[];
    /** Color scheme to use for auto-assignment. Default: "category10" */
    colorScheme?: string | string[];
    children: React.ReactNode;
}
/**
 * CategoryColorProvider — assigns stable colors to category values
 * shared across all Semiotic charts within its subtree.
 *
 * Two modes:
 * - **Explicit**: pass a `colors` map of category→color
 * - **Auto**: pass a `categories` array and optional `colorScheme`
 *
 * Charts with `colorBy` inside this provider will use the mapped colors
 * instead of computing their own color scale per-chart.
 *
 * ```tsx
 * <CategoryColorProvider colors={{ North: "#e41a1c", South: "#377eb8", East: "#4daf4a" }}>
 *   <ChartGrid columns={2}>
 *     <LineChart data={d1} colorBy="region" responsiveWidth />
 *     <BarChart data={d2} colorBy="region" responsiveWidth />
 *   </ChartGrid>
 * </CategoryColorProvider>
 * ```
 */
export declare function CategoryColorProvider({ colors, categories, colorScheme, children, }: CategoryColorProviderProps): React.JSX.Element;
export declare namespace CategoryColorProvider {
    var displayName: string;
}
/**
 * Hook to access the category color map from the nearest provider.
 * Returns null if no provider is present.
 */
export declare function useCategoryColors(): CategoryColorMap | null;
