UNPKG

@hivetechs/hive-ai

Version:

Real-time streaming AI consensus platform with HTTP+SSE MCP integration for Claude Code, VS Code, Cursor, and Windsurf - powered by OpenRouter's unified API

170 lines 4.5 kB
/** * Data Export Service - Comprehensive data export capabilities * * Provides professional-grade data export functionality with support for * multiple formats, custom templates, and automated report generation. */ export interface ExportTemplate { id: string; name: string; description: string; format: ExportFormat; sections: ExportSection[]; styling?: ExportStyling; metadata: { version: string; createdAt: string; updatedAt: string; author: string; }; } export interface ExportSection { id: string; title: string; type: 'summary' | 'metrics' | 'charts' | 'recommendations' | 'raw_data' | 'custom'; enabled: boolean; config: Record<string, any>; filters?: ExportFilter[]; } export interface ExportFilter { field: string; operator: 'equals' | 'contains' | 'greater_than' | 'less_than' | 'between'; value: any; } export interface ExportStyling { theme: 'professional' | 'minimal' | 'corporate' | 'modern'; colors: { primary: string; secondary: string; accent: string; text: string; background: string; }; fonts: { heading: string; body: string; code: string; }; layout: { pageSize: 'A4' | 'Letter' | 'Legal'; orientation: 'portrait' | 'landscape'; margins: { top: number; right: number; bottom: number; left: number; }; }; } export type ExportFormat = 'json' | 'csv' | 'excel' | 'pdf' | 'html' | 'markdown' | 'xml'; export interface ExportJob { id: string; status: 'pending' | 'processing' | 'completed' | 'failed'; progress: number; templateId: string; timeframe: string; filters?: ExportFilter[]; createdAt: string; completedAt?: string; filePath?: string; fileSize?: number; error?: string; } export interface ExportResult { success: boolean; jobId: string; filePath?: string; fileSize?: number; downloadUrl?: string; expiresAt?: string; error?: string; } export declare class DataExportService { private templates; private jobs; private readonly EXPORT_DIR; private readonly JOB_RETENTION_HOURS; constructor(); /** * Initialize default export templates */ private initializeDefaultTemplates; /** * Create export job */ createExportJob(templateId: string, timeframe: string, filters?: ExportFilter[]): Promise<ExportResult>; /** * Process export job */ private processExportJob; /** * Generate export content based on template */ private generateExportContent; /** * Generate JSON export */ private generateJSONExport; /** * Generate CSV export */ private generateCSVExport; /** * Generate Excel export (placeholder) */ private generateExcelExport; /** * Generate HTML export */ private generateHTMLExport; /** * Generate PDF export (placeholder) */ private generatePDFExport; /** * Generate Markdown export */ private generateMarkdownExport; /** * Generate XML export */ private generateXMLExport; /** * Helper methods for HTML generation */ private generateHTMLSummarySection; private generateHTMLMetricsSection; private generateHTMLRecommendationsSection; /** * Helper methods for Markdown generation */ private generateMarkdownSummarySection; private generateMarkdownMetricsSection; private generateMarkdownRecommendationsSection; /** * Utility methods */ private extractMetrics; private getNestedValue; private flattenMetricsToRows; private categorizeMetric; private applyFilters; private saveExportFile; private getDefaultStyling; private startCleanupTimer; private cleanupOldJobs; /** * Public API methods */ getJobStatus(jobId: string): ExportJob | undefined; getAvailableTemplates(): ExportTemplate[]; createCustomTemplate(template: Omit<ExportTemplate, 'id'>): string; updateTemplate(id: string, updates: Partial<ExportTemplate>): boolean; deleteTemplate(id: string): boolean; getExportHistory(): ExportJob[]; } /** * Global data export service instance */ export declare const globalDataExportService: DataExportService; //# sourceMappingURL=data-export-service.d.ts.map