agentjs-core
Version:
A comprehensive agent-based modeling framework with built-in p5.js visualization
68 lines • 2.23 kB
TypeScript
import { DataCollector } from './DataCollector';
import { Visualizer } from '../visualization/Visualizer';
export interface ExportOptions {
includeHeaders?: boolean;
dateFormat?: 'timestamp' | 'iso' | 'locale';
precision?: number;
filterStartTime?: number;
filterEndTime?: number;
includeMetadata?: boolean;
customSeparator?: string;
}
export interface ExportResult {
success: boolean;
data?: string;
filename?: string;
error?: string;
size?: number;
}
export interface ChartExportOptions {
width?: number;
height?: number;
backgroundColor?: string;
quality?: number;
format?: 'png' | 'jpeg' | 'webp';
}
/**
* Export simulation data to various formats (CSV, JSON, Excel-compatible)
* Also handles image and visualization exports
*/
export declare class ExportManager {
private dataCollector;
private visualizer;
constructor(dataCollector: DataCollector, visualizer?: Visualizer);
/**
* Export time series data to CSV format
*/
exportTimeSeriesCSV(seriesNames: string[], options?: ExportOptions): ExportResult;
/**
* Export simulation metrics to CSV format
*/
exportSimulationMetricsCSV(options?: ExportOptions): ExportResult;
/**
* Export agent trajectory data to CSV format
*/
exportAgentTrajectoriesCSV(agentIds?: string[], options?: ExportOptions): ExportResult;
/**
* Export data to JSON format
*/
exportToJSON(dataType: 'timeseries' | 'simulation' | 'agents' | 'all', options?: ExportOptions): ExportResult;
/**
* Export data in Excel-compatible format (tab-separated values)
*/
exportToExcel(dataType: 'timeseries' | 'simulation' | 'agents', seriesNames?: string[], options?: ExportOptions): ExportResult;
/**
* Export visualization screenshot
*/
exportScreenshot(options?: ChartExportOptions): ExportResult;
/**
* Save export result to file (browser download)
*/
saveToFile(exportResult: ExportResult): void;
private formatTimestamp;
private generateFilename;
private collectTimeSeriesData;
private collectSimulationData;
private collectAgentData;
}
//# sourceMappingURL=ExportManager.d.ts.map