interface ImageOps { svgToPng(svg: string): Promise; isAvailable(): boolean; } declare let imageOps: ImageOps; type ConversationMessage = { role: "user" | "assistant"; content: string; chartData?: unknown; vegaSpec?: any; }; type GenerateChartOptions = { data: unknown; prompt: string; fileType?: "svg" | "png"; outputFormat?: "image" | "chartData"; model?: string; apiKey?: string; isSubscribed?: boolean; conversationHistory?: ConversationMessage[]; previousChartContext?: { lastChartData?: unknown; lastChartSpec?: any; }; }; type ChartDataResult = { kind: "chartData"; library: string; data: any; config: any; explanation?: string; }; type GeneratedChartResult = { kind: "image"; fileType: "svg" | "png"; dataUrl: string; vegaSpec?: any; explanation?: string; } | ChartDataResult; declare function generateChart(options: GenerateChartOptions): Promise; export { type ChartDataResult, type ConversationMessage, type GenerateChartOptions, type GeneratedChartResult, generateChart, imageOps };