/**
 * OTLP HTTP JSON Log Exporter for LiveKit Cloud
 *
 * This module provides a custom OTLP log exporter that uses HTTP with JSON format
 * instead of the default protobuf format.
 */
import { SeverityNumber } from '@opentelemetry/api-logs';
export interface SimpleLogRecord {
    /** Log message body */
    body: string;
    /** Timestamp in milliseconds since epoch */
    timestampMs: number;
    /** Log attributes */
    attributes: Record<string, unknown>;
    /** Severity number (default: UNSPECIFIED) */
    severityNumber?: SeverityNumber;
    /** Severity text (default: 'unspecified') */
    severityText?: string;
}
export interface SimpleOTLPHttpLogExporterConfig {
    /** @deprecated Pass `observabilityUrl` with `SimpleOTLPHttpLogExporterUrlConfig`. */
    cloudHostname: string;
    /** Resource attributes (e.g., room_id, job_id) */
    resourceAttributes: Record<string, unknown>;
    /** Scope name for the logger */
    scopeName: string;
    /** Scope attributes */
    scopeAttributes?: Record<string, unknown>;
}
export interface SimpleOTLPHttpLogExporterUrlConfig {
    /** Base URL for LiveKit Cloud observability, without a trailing slash. */
    observabilityUrl: string;
    /** Resource attributes (e.g., room_id, job_id) */
    resourceAttributes: Record<string, unknown>;
    /** Scope name for the logger */
    scopeName: string;
    /** Scope attributes */
    scopeAttributes?: Record<string, unknown>;
}
/**
 * Simple OTLP HTTP Log Exporter for direct log export
 *
 * This is a simplified exporter that doesn't require the full SDK infrastructure.
 * Use this when you need to send logs directly without LoggerProvider.
 *
 * @example
 * ```typescript
 * const exporter = new SimpleOTLPHttpLogExporter({
 *   observabilityUrl: 'https://cloud.livekit.io',
 *   resourceAttributes: { room_id: 'xxx', job_id: 'yyy' },
 *   scopeName: 'chat_history',
 * });
 *
 * await exporter.export([
 *   { body: 'Hello', timestampMs: Date.now(), attributes: { test: true } },
 * ]);
 * ```
 */
export declare class SimpleOTLPHttpLogExporter {
    private readonly config;
    private jwt;
    private static readonly FORCE_DOUBLE_KEYS;
    constructor(config: SimpleOTLPHttpLogExporterConfig | SimpleOTLPHttpLogExporterUrlConfig);
    /**
     * Export simple log records
     */
    export(records: SimpleLogRecord[]): Promise<void>;
    private ensureJwt;
    private buildPayload;
    private convertAttributes;
    private convertValue;
}
//# sourceMappingURL=otel_http_exporter.d.ts.map