/** * Log Exporters * * Support for external log aggregation platforms: * - Loki (Grafana) * - ELK Stack (Elasticsearch) * - Datadog * - Custom HTTP endpoints */ import type { LogEntry, LogLevel } from './types.js'; export interface LogExporter { name: string; enabled: boolean; export(entry: LogEntry): Promise; flush(): Promise; } export interface LokiConfig { type: 'loki'; url: string; labels?: Record; batchSize?: number; batchTimeoutMs?: number; } export interface ElkConfig { type: 'elk'; url: string; index?: string; apiKey?: string; batchSize?: number; } export interface DatadogConfig { type: 'datadog'; apiKey: string; site?: string; service?: string; batchSize?: number; } export interface WebhookConfig { type: 'webhook'; url: string; headers?: Record; filter?: LogLevel[]; } export type ExporterConfig = LokiConfig | ElkConfig | DatadogConfig | WebhookConfig; export declare function initializeExporters(configs: ExporterConfig[]): void; export declare function exportLog(entry: LogEntry): Promise; export declare function flushExporters(): Promise; export declare function getExporters(): LogExporter[];