export interface PinoLogObject {
    level: number;
    time: number;
    msg: string;
    pid?: number;
    hostname?: string;
    [key: string]: unknown;
}
export interface PinoCloudExporterConfig {
    /** @deprecated Pass `observabilityUrl` with `PinoCloudExporterUrlConfig`. */
    cloudHostname: string;
    roomId: string;
    jobId: string;
    metadata?: Record<string, unknown>;
    loggerName?: string;
    batchSize?: number;
    flushIntervalMs?: number;
}
export interface PinoCloudExporterUrlConfig {
    /** Base URL for LiveKit Cloud observability, without a trailing slash. */
    observabilityUrl: string;
    roomId: string;
    jobId: string;
    metadata?: Record<string, unknown>;
    loggerName?: string;
    batchSize?: number;
    flushIntervalMs?: number;
}
/**
 * Standalone Pino log exporter for LiveKit Cloud.
 *
 * Collects Pino logs, batches them, and sends via raw HTTP JSON.
 * No OTEL SDK dependency
 *
 * @example
 * ```typescript
 * const exporter = new PinoCloudExporter({
 *   observabilityUrl: 'https://cloud.livekit.io',
 *   roomId: 'RM_xxx',
 *   jobId: 'AJ_xxx',
 * });
 *
 * // In Pino formatter hook:
 * exporter.emit(logObj);
 *
 * // On session end:
 * await exporter.flush();
 * ```
 */
export declare class PinoCloudExporter {
    private readonly config;
    private readonly loggerName;
    private readonly batchSize;
    private readonly flushIntervalMs;
    private jwt;
    private pendingLogs;
    private flushTimer;
    private flushChain;
    constructor(config: PinoCloudExporterConfig | PinoCloudExporterUrlConfig);
    emit(logObj: PinoLogObject): void;
    private convertToOtlpRecord;
    flush(): Promise<void>;
    private flushPendingLogs;
    private sendLogs;
    private ensureJwt;
    shutdown(): Promise<void>;
}
export declare function initPinoCloudExporter(config: PinoCloudExporterConfig | PinoCloudExporterUrlConfig): void;
export declare function getPinoCloudExporter(): PinoCloudExporter | null;
export declare function emitToOtel(logObj: PinoLogObject): void;
export declare function flushPinoLogs(): Promise<void>;
//# sourceMappingURL=pino_otel_transport.d.ts.map