import * as react0 from "react";
import * as react_jsx_runtime53 from "react/jsx-runtime";
import * as RechartsPrimitive from "recharts";
import * as recharts_types_util_types0 from "recharts/types/util/types";
import * as recharts_types_component_Tooltip0 from "recharts/types/component/Tooltip";
import * as recharts_types_component_DefaultTooltipContent0 from "recharts/types/component/DefaultTooltipContent";
import * as recharts_types_util_payload_getUniqPayload0 from "recharts/types/util/payload/getUniqPayload";

//#region src/react/ui/chart.d.ts
declare const THEMES: {
  readonly light: "";
  readonly dark: ".dark";
};
type ChartConfig = { [k in string]: {
  label?: react0.ReactNode;
  icon?: react0.ComponentType;
} & ({
  color?: string;
  theme?: never;
} | {
  color?: never;
  theme: Record<keyof typeof THEMES, string>;
}) };
/** Container for rendering data visualizations using Recharts */
declare function ChartContainer({
  id,
  className,
  children,
  config,
  ...props
}: react0.ComponentProps<"div"> & {
  config: ChartConfig;
  children: react0.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
}): react_jsx_runtime53.JSX.Element;
declare const ChartStyle: ({
  id,
  config
}: {
  id: string;
  config: ChartConfig;
}) => react_jsx_runtime53.JSX.Element | null;
/**
 * A wrapper component for Recharts Tooltip with proper typing and documentation support.
 * It is needed to ensure the correct name is displayed in the docs.
 * @see https://recharts.org/en-US/api/Tooltip
 */
declare const ChartTooltip: react0.ForwardRefExoticComponent<RechartsPrimitive.DefaultTooltipContentProps<any, any> & {
  accessibilityLayer?: boolean;
  active?: boolean | undefined;
  includeHidden?: boolean | undefined;
  allowEscapeViewBox?: recharts_types_util_types0.AllowInDimension;
  animationDuration?: recharts_types_util_types0.AnimationDuration;
  animationEasing?: recharts_types_util_types0.AnimationTiming;
  content?: recharts_types_component_Tooltip0.ContentType<any, any> | undefined;
  coordinate?: Partial<recharts_types_util_types0.Coordinate>;
  cursor?: boolean | react0.ReactElement | react0.SVGProps<SVGElement>;
  filterNull?: boolean;
  defaultIndex?: number;
  isAnimationActive?: boolean;
  offset?: number;
  payloadUniqBy?: recharts_types_util_payload_getUniqPayload0.UniqueOption<recharts_types_component_DefaultTooltipContent0.Payload<any, any>> | undefined;
  position?: Partial<recharts_types_util_types0.Coordinate>;
  reverseDirection?: recharts_types_util_types0.AllowInDimension;
  shared?: boolean;
  trigger?: "hover" | "click";
  useTranslate3d?: boolean;
  viewBox?: recharts_types_util_types0.CartesianViewBox;
  wrapperStyle?: react0.CSSProperties;
} & react0.RefAttributes<HTMLDivElement>>;
declare function ChartTooltipContent({
  active,
  payload,
  className,
  indicator,
  hideLabel,
  hideIndicator,
  label,
  labelFormatter,
  labelClassName,
  formatter,
  color,
  nameKey,
  labelKey
}: react0.ComponentProps<"div"> & {
  active?: boolean;
  payload?: any[];
  label?: string;
  labelFormatter?: (value: any, payload: any[]) => react0.ReactNode;
  formatter?: (value: any, name: any, item: any, index: number, payload: any) => react0.ReactNode;
  color?: string;
  hideLabel?: boolean;
  hideIndicator?: boolean;
  indicator?: "line" | "dot" | "dashed";
  labelClassName?: string;
  nameKey?: string;
  labelKey?: string;
}): react_jsx_runtime53.JSX.Element | null;
/**
 * A wrapper component for Recharts Legend with proper typing and documentation support.
 * It is needed to ensure the correct name is displayed in the docs.
 * @see https://recharts.org/en-US/api/Legend
 */
declare const ChartLegend: react0.ForwardRefExoticComponent<Omit<RechartsPrimitive.LegendProps, "ref"> & react0.RefAttributes<HTMLDivElement>>;
declare function ChartLegendContent({
  className,
  hideIcon,
  payload,
  verticalAlign,
  nameKey
}: react0.ComponentProps<"div"> & Pick<RechartsPrimitive.LegendProps, "verticalAlign"> & {
  payload?: any[];
  hideIcon?: boolean;
  nameKey?: string;
}): react_jsx_runtime53.JSX.Element | null;
//#endregion
export { ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
//# sourceMappingURL=chart.d.ts.map