/**
 * 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<void>;
    flush(): Promise<void>;
}
export interface LokiConfig {
    type: 'loki';
    url: string;
    labels?: Record<string, string>;
    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<string, string>;
    filter?: LogLevel[];
}
export type ExporterConfig = LokiConfig | ElkConfig | DatadogConfig | WebhookConfig;
export declare function initializeExporters(configs: ExporterConfig[]): void;
export declare function exportLog(entry: LogEntry): Promise<void>;
export declare function flushExporters(): Promise<void>;
export declare function getExporters(): LogExporter[];
