import * as React from "react";
import * as RechartsPrimitive from "recharts";
declare const THEMES: {
    readonly light: "";
    readonly dark: ".dark";
};
/**
 * Configuration object for chart series, defining labels, colors, and icons.
 * Supports both single colors and theme-aware color mappings for light/dark modes.
 */
export type ChartConfig = {
    [k in string]: {
        /** Label for the series displayed in tooltips and legends */
        label?: React.ReactNode;
        /** Optional icon component to display alongside the series */
        icon?: React.ComponentType;
    } & ({
        color?: string;
        theme?: never;
    } | {
        color?: never;
        theme: Record<keyof typeof THEMES, string>;
    });
};
type ChartContainerProps = React.ComponentProps<"div"> & {
    /** Chart configuration defining series labels, colors, and icons */
    config: ChartConfig;
    /** Recharts chart component (LineChart, BarChart, AreaChart, PieChart, etc.) */
    children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
};
/**
 * Root container for Recharts visualizations with theming and configuration.
 * Provides responsive container, theme-aware CSS variables, and chart context.
 */
declare function ChartContainer({ id, className, children, config, ...props }: ChartContainerProps): import("react/jsx-runtime").JSX.Element;
declare const ChartStyle: ({ id, config }: {
    id: string;
    config: ChartConfig;
}) => import("react/jsx-runtime").JSX.Element | null;
/** Re-export of Recharts Tooltip component for positioning and visibility */
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
type ChartTooltipContentProps = React.ComponentProps<typeof RechartsPrimitive.Tooltip> & React.ComponentProps<"div"> & {
    /** Hide the tooltip label (typically the x-axis value) */
    hideLabel?: boolean;
    /** Hide the color indicator for each series */
    hideIndicator?: boolean;
    /** Indicator style for series items. @default "dot" */
    indicator?: "line" | "dot" | "dashed";
    /** Key to use for series names, overrides default dataKey */
    nameKey?: string;
    /** Key to use for tooltip label, overrides default */
    labelKey?: string;
};
/**
 * Customizable tooltip content for charts with series indicators and formatting.
 * Automatically styled with theme colors from ChartConfig.
 */
declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: ChartTooltipContentProps): import("react/jsx-runtime").JSX.Element | null;
/** Re-export of Recharts Legend component for positioning */
declare const ChartLegend: typeof RechartsPrimitive.Legend;
type ChartLegendContentProps = React.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
    /** Hide series icons, showing only color squares. @default false */
    hideIcon?: boolean;
    /** Key to use for series names in legend */
    nameKey?: string;
};
/**
 * Customizable legend content for charts showing all series with icons or colors.
 * Automatically styled with theme colors from ChartConfig.
 */
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: ChartLegendContentProps): import("react/jsx-runtime").JSX.Element | null;
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle, type ChartContainerProps, type ChartTooltipContentProps, type ChartLegendContentProps, };
//# sourceMappingURL=chart.d.ts.map