interface ChartConfig { id: string; type: 'line' | 'bar' | 'pie'; title: string; position: { x: number; y: number; }; size: { width: number; height: number; }; gridArea?: string; chartOptions: { title: { show: boolean; position: string; top: string; }; legend: { show: boolean; position: string; orient: string; }; grid: { show: boolean; containLabel: boolean; }; yAxis: { markLines: Array<{ name: string; value: number; lineStyle: { type: string; color: string; }; }>; }; }; data: { source: 'static' | 'api'; static: any[]; api?: string; apiData?: any; mapping: { xAxis: string; series: Array<{ name: string; field: string; }>; }; }; apiFields?: string[]; }