/**
 * Log Exporter
 *
 * Exports log query results to various formats.
 *
 * @module core/logs/log-exporter
 */
import { AuditLogEntry } from '../sync/sync-audit-logger.js';
import { LogQueryResult } from './log-aggregator.js';
import { Logger } from '../../utils/logger.js';
/**
 * Export format options
 */
export type ExportFormat = 'json' | 'jsonl' | 'csv';
/**
 * Export options
 */
export interface ExportOptions {
    /**
     * Output format
     * @default 'json'
     */
    format?: ExportFormat;
    /**
     * Pretty print JSON
     * @default true
     */
    pretty?: boolean;
    /**
     * Include query metadata in export
     * @default true
     */
    includeMetadata?: boolean;
}
/**
 * Log exporter options
 */
export interface LogExporterOptions {
    logger?: Logger;
}
/**
 * LogExporter - Export log entries to files
 *
 * Supports:
 * - JSON (single object with entries array)
 * - JSONL (one entry per line)
 * - CSV (for spreadsheet import)
 */
export declare class LogExporter {
    private readonly logger;
    constructor(options?: LogExporterOptions);
    /**
     * Export query results to a file
     */
    export(result: LogQueryResult, outputPath: string, options?: ExportOptions): Promise<void>;
    /**
     * Export entries to a string
     */
    exportToString(entries: AuditLogEntry[], format: ExportFormat, options?: ExportOptions): string;
    /**
     * Format content based on format type
     */
    private formatContent;
    /**
     * Format as JSON
     */
    private formatJson;
    /**
     * Format as JSONL (one JSON object per line)
     */
    private formatJsonl;
    /**
     * Format as CSV
     */
    private formatCsv;
    /**
     * Detect format from file extension
     */
    private detectFormat;
}
//# sourceMappingURL=log-exporter.d.ts.map