import * as React from 'react';
import type { LegendPayload } from 'recharts';
import * as RechartsPrimitive from 'recharts';
import type { VerticalAlignmentType } from 'recharts/types/component/DefaultLegendContent';
declare const THEMES: {
    readonly light: "";
    readonly dark: ".dark";
};
export type ChartConfig = {
    [k in string]: {
        label?: React.ReactNode;
        icon?: React.ComponentType;
    } & ({
        color?: string;
        theme?: never;
    } | {
        color?: never;
        theme: Record<keyof typeof THEMES, string>;
    });
};
declare function ChartContainer({ id, className, children, config, ...props }: React.ComponentProps<'div'> & {
    config: ChartConfig;
    children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];
}): import("react/jsx-runtime").JSX.Element;
declare namespace ChartContainer {
    var displayName: string;
}
declare const ChartStyle: ({ id, config }: {
    id: string;
    config: ChartConfig;
}) => import("react/jsx-runtime").JSX.Element | null;
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }: React.ComponentProps<'div'> & {
    active?: boolean;
    payload?: ReadonlyArray<{
        value?: string | number;
        name?: string;
        dataKey?: string | number;
        type?: string;
        color?: string;
        payload?: Record<string, unknown>;
        fill?: string;
    }>;
    label?: string | number;
    labelFormatter?: (label: React.ReactNode, payload: ReadonlyArray<unknown>) => React.ReactNode;
    labelClassName?: string;
    formatter?: (value: string | number, name: string, item: unknown, index: number, payload: unknown) => React.ReactNode;
    color?: string;
    hideLabel?: boolean;
    hideIndicator?: boolean;
    indicator?: 'line' | 'dot' | 'dashed';
    nameKey?: string;
    labelKey?: string;
}): import("react/jsx-runtime").JSX.Element | null;
declare namespace ChartTooltipContent {
    var displayName: string;
}
declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: React.ComponentProps<'div'> & {
    payload?: ReadonlyArray<LegendPayload>;
    verticalAlign?: VerticalAlignmentType;
    hideIcon?: boolean;
    nameKey?: string;
}): import("react/jsx-runtime").JSX.Element | null;
declare namespace ChartLegendContent {
    var displayName: string;
}
export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, };
