import type { ReactElement, ReactNode } from 'react';
import { type ChartHeight } from './internal/chartConstants';
export interface ChartContainerProps {
    /** Pre-translated title rendered as the card heading. */
    readonly title: string;
    /** Optional secondary description below the title. */
    readonly subtitle?: string;
    /** Optional icon shown left of the title (tinted with `--dataviz-accent`). */
    readonly icon?: ReactNode;
    /** Optional action slot on the right (period selectors, mode toggles…). */
    readonly actions?: ReactNode;
    /** Chart height token. Defaults to `md` (320px). */
    readonly height?: ChartHeight;
    /** Renders the loading state and ignores children. */
    readonly loading?: boolean;
    /** Pre-translated message shown when loading. Falls back to a spinner only. */
    readonly loadingLabel?: string;
    /** Renders the empty state and ignores children. */
    readonly empty?: boolean;
    /** Pre-translated message shown in the empty state. */
    readonly emptyMessage?: string;
    /** Optional hint shown under the empty message. */
    readonly emptyHint?: string;
    /** Optional icon override for the empty state. */
    readonly emptyIcon?: ReactNode;
    /** Optional footer slot rendered under the chart (e.g. `<ChartLegend />`). */
    readonly footer?: ReactNode;
    /** Optional className override on the outer card wrapper. */
    readonly className?: string;
    /** Chart body. Wrap your Recharts chart with `<ResponsiveContainer>`. */
    readonly children: ReactNode;
}
/**
 * Standard wrapper for every dashboard chart. Provides:
 *  - a themed surface (`--dataviz-surface`, `--radius-card`, `--shadow-sm`)
 *  - a uniform header (title + subtitle + icon + actions)
 *  - a chart area at one of three canonical heights
 *  - loading and empty states that share the chart area's height
 *  - an optional footer for legends
 *
 * Callers stay responsible for the chart itself and the i18n strings; this
 * component never reads the translation namespace directly so it can be used
 * across modules.
 */
export declare function ChartContainer({ title, subtitle, icon, actions, height, loading, loadingLabel, empty, emptyMessage, emptyHint, emptyIcon, footer, className, children, }: ChartContainerProps): ReactElement;
//# sourceMappingURL=ChartContainer.d.ts.map