import { ChartMode, DataRepresentation, EnergySourceName, MultiDatasetFormat } from './DataTypes'; import { ChartEventListeners } from './EventTypes'; /** * Chart dimensions configuration */ export interface ChartDimensions { /** Total chart width */ width: number; /** Total chart height */ height: number; /** Chart margins */ margin: { top: number; right: number; bottom: number; left: number; }; } /** * Tooltip configuration */ export interface TooltipConfig { /** Background color */ background: string; /** Text color */ color: string; /** Border color */ borderColor: string; /** Border width in pixels */ borderWidth: number; /** Number format string */ format: string; /** Offset from cursor */ offset: { x: number; y: number; }; } /** * Animation configuration */ export interface AnimationConfig { /** Animation duration in milliseconds */ duration: number; /** Easing function name */ easing: string; /** Enable/disable animations */ enabled: boolean; } /** * Complete chart configuration */ export interface ChartConfig { /** Chart dimensions and layout */ dimensions: ChartDimensions; /** Current chart mode */ mode: ChartMode; /** Current data representation */ representation: DataRepresentation; /** Tooltip configuration */ tooltip: TooltipConfig; /** Animation settings */ animations: AnimationConfig; /** Color mapping for energy sources */ colors: Record; /** CSS class prefix for styling */ cssPrefix: string; /** Enable/disable interactions */ interactive: boolean; /** Multi-dataset containing all 6 data variants (optional - can be provided via data() method) */ data?: MultiDatasetFormat; /** * Event listeners registered at construction time (optional) * * The explicit `| undefined` matters under exactOptionalPropertyTypes: * without it a host cannot pass a possibly-undefined value, e.g. * `new StackedAreaChart(id, {events: props.handlers})`. */ events?: ChartEventListeners | undefined; } /** * Partial chart configuration for user customization */ export type PartialChartConfig = Partial & { dimensions?: Partial & { margin?: Partial; }; tooltip?: Partial & { offset?: Partial; }; animations?: Partial; colors?: Partial>; }; /** * Default chart configuration */ export declare const DEFAULT_CONFIG: ChartConfig; //# sourceMappingURL=ChartConfig.d.ts.map