import { default as React } from 'react';
import { ValueType, NameType } from 'recharts/types/component/DefaultTooltipContent';
import { LegendPayload, VerticalAlignmentType } from 'recharts/types/component/DefaultLegendContent';
import * as RechartsPrimitive from 'recharts';
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 const ChartContainer: React.FC<React.ComponentProps<'div'> & {
    config: ChartConfig;
    children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];
} & React.RefAttributes<HTMLDivElement>>;
declare const ChartStyle: ({ id, config }: {
    id: string;
    config: ChartConfig;
}) => import("react/jsx-runtime").JSX.Element | null;
declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
type TooltipPayloadItem = {
    name?: NameType;
    value?: ValueType;
    dataKey?: string | number | ((obj: unknown) => unknown);
    color?: string;
    fill?: string;
    fillOpacity?: number;
    payload: Record<string, unknown>;
};
type IChartTooltipContentProps = React.ComponentProps<'div'> & React.RefAttributes<HTMLDivElement> & {
    active?: boolean;
    payload?: ReadonlyArray<TooltipPayloadItem>;
    label?: React.ReactNode;
    labelFormatter?: (label: React.ReactNode, payload: ReadonlyArray<TooltipPayloadItem>) => React.ReactNode;
    labelClassName?: string;
    formatter?: (value: ValueType | undefined, name: NameType | undefined, item: TooltipPayloadItem, index: number, payload: ReadonlyArray<TooltipPayloadItem>) => React.ReactNode;
    color?: string;
    hideLabel?: boolean;
    hideIndicator?: boolean;
    indicator?: 'line' | 'dot' | 'dashed';
    nameKey?: string;
    labelKey?: string;
};
declare const ChartTooltipContent: React.FC<IChartTooltipContentProps>;
declare const ChartLegend: React.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
declare const ChartLegendContent: React.FC<React.ComponentProps<'div'> & React.RefAttributes<HTMLDivElement> & {
    payload?: ReadonlyArray<LegendPayload>;
    verticalAlign?: VerticalAlignmentType;
    hideIcon?: boolean;
    nameKey?: string;
}>;
export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, ChartStyle };
export type { IChartTooltipContentProps };
