/** * CSV Generator Utility * * Provides CSV formatting and generation for vault data export. * Handles proper escaping, quoting, and formatting for CSV compliance. */ /** * Escape CSV field value * Handles quotes, commas, newlines according to RFC 4180, and neutralizes * spreadsheet formula prefixes (=, +, -, @, \t, \r) by prepending a single * quote so Excel/Google Sheets treat the value as text rather than evaluating * it as a formula. Defends against CSV injection from upstream string fields. */ export declare function escapeCSVField(value: unknown): string; /** * Generate CSV header row from column names */ export declare function generateCSVHeader(columns: string[]): string; /** * Generate CSV row from data object */ export declare function generateCSVRow(data: Record, columns: string[]): string; /** * Generate complete CSV from array of objects */ export declare function generateCSV(data: Record[], columns: string[]): string; /** * Format vault data for CSV export */ export interface VaultCSVData extends Record { address: string; name: string; symbol: string; chainId: number; tvl: number; apr: number; pricePerShare: number; totalAssets: string; totalShares: string; assetSymbol: string; assetAddress: string; } /** * Generate CSV for vault data */ export declare function generateVaultCSV(vaults: VaultCSVData[]): string; /** * Format transaction data for CSV export */ export interface TransactionCSVData extends Record { id: string; type: string; timestamp: string; blockNumber: string; vaultAddress: string; userAddress?: string; amount?: string; shares?: string; assets?: string; } /** * Generate CSV for transaction data */ export declare function generateTransactionCSV(transactions: TransactionCSVData[]): string; /** * Format price history data for CSV export */ export interface PriceHistoryCSVData extends Record { date: string; open: number; high: number; low: number; close: number; volume: number; } /** * Generate CSV for price history data */ export declare function generatePriceHistoryCSV(priceData: PriceHistoryCSVData[]): string; /** * Format performance metrics for CSV export */ export interface PerformanceCSVData extends Record { timestamp: string; totalAssetsUsd: number; blockNumber: string; } /** * Generate CSV for performance metrics */ export declare function generatePerformanceCSV(metrics: PerformanceCSVData[]): string; //# sourceMappingURL=csv-generator.d.ts.map