/**
 * Shared chart type definitions
 * @countermeasure/web-components/charts/types
 */
export interface ChartPadding {
    top: number;
    right: number;
    bottom: number;
    left: number;
}
export interface PlotArea {
    x: number;
    y: number;
    width: number;
    height: number;
}
export interface DataPoint {
    x: number | string;
    y: number;
    label?: string;
}
export interface ChartSeries {
    name: string;
    data: DataPoint[];
    color?: string;
}
export interface AxisConfig {
    label?: string;
    min?: number;
    max?: number;
    tickCount?: number;
    format?: (value: number) => string;
    gridLines?: boolean;
}
export interface LegendItem {
    label: string;
    color: string;
    active?: boolean;
}
export interface LegendConfig {
    position?: 'top' | 'bottom' | 'left' | 'right';
    visible?: boolean;
}
export interface TooltipConfig {
    enabled?: boolean;
    format?: (value: number, label: string, series: string) => string;
}
export interface BaseChartConfig {
    container: HTMLElement | string;
    width?: number;
    height?: number;
    padding?: Partial<ChartPadding>;
    responsive?: boolean;
    animate?: boolean;
    className?: string;
}
export interface InteractiveChartConfig extends BaseChartConfig {
    tooltip?: TooltipConfig;
    legend?: LegendConfig;
}
export interface SeriesChartConfig extends InteractiveChartConfig {
    series: ChartSeries[];
    xAxis?: AxisConfig;
    yAxis?: AxisConfig;
}
export interface ResolvedSeries {
    name: string;
    data: DataPoint[];
    color: string;
}
//# sourceMappingURL=types.d.ts.map