brickcharts
Version:
A comprehensive library for managing Billboard and Last.FM charts with visualizations and data management
87 lines (86 loc) • 2.14 kB
TypeScript
import { ChartData, TrendData, ChartAnalytics } from '../types';
export type ExportFormat = 'csv' | 'json' | 'xlsx' | 'png' | 'svg' | 'pdf';
export interface ExportOptions {
format: ExportFormat;
filename?: string;
includeMetadata?: boolean;
dateFormat?: string;
compression?: boolean;
imageOptions?: {
width?: number;
height?: number;
quality?: number;
backgroundColor?: string;
};
}
export interface ExportResult {
success: boolean;
data?: any;
blob?: Blob;
url?: string;
filename: string;
size?: number;
error?: string;
}
export declare class ExportManager {
/**
* Export chart data in specified format
*/
exportChartData(data: ChartData | ChartData[], options: ExportOptions): Promise<ExportResult>;
/**
* Export trends data
*/
exportTrends(trends: TrendData[], options: ExportOptions): Promise<ExportResult>;
/**
* Export analytics data
*/
exportAnalytics(analytics: ChartAnalytics, options: ExportOptions): Promise<ExportResult>;
/**
* Generate automatic filename
*/
private generateFilename;
/**
* Export to CSV format
*/
private exportToCsv;
/**
* Export to JSON format
*/
private exportToJson;
/**
* Export to Excel format (placeholder)
*/
private exportToExcel;
/**
* Export to image format (PNG/SVG)
*/
private exportToImage;
/**
* Export to PDF format (placeholder)
*/
private exportToPdf;
/**
* Generate a simple SVG chart representation
*/
private generateSvgChart;
/**
* Escape CSV values
*/
private escapeCsvValue;
/**
* Download helper for browser environments
*/
static downloadBlob(blob: Blob, filename: string): void;
/**
* Get supported formats
*/
static getSupportedFormats(): ExportFormat[];
/**
* Validate export options
*/
static validateOptions(options: ExportOptions): {
valid: boolean;
errors: string[];
};
}
//# sourceMappingURL=ExportManager.d.ts.map