import { ExportResultCode } from "@opentelemetry/core"; import type { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base"; import type { AttributeParams, TraceFormatSpans } from "../../core/type.js"; export interface HttpExporterInterface extends SpanExporter { export(spans: ReadableSpan[], resultCallback: (result: { code: ExportResultCode; }) => void): Promise; shutdown(): Promise; } declare class HttpExporter implements HttpExporterInterface { private dbPath?; _db?: any; private upsert; private _update; private updateQueue; getDb(): Promise> | undefined>; constructor({ dbPath, exportFn, updateFn, }: { dbPath?: string; exportFn?: (spans: TraceFormatSpans[]) => Promise; updateFn?: (id: string, data: AttributeParams) => Promise; }); private updateWorker; update: (id: string, data: AttributeParams) => Promise; _upsertWithSQLite(validatedData: TraceFormatSpans[]): Promise; _updateWithSQLite(id: string, data: AttributeParams): Promise; export(spans: ReadableSpan[], resultCallback: (result: { code: ExportResultCode; }) => void): Promise; shutdown(contextIds?: string[]): Promise; } export default HttpExporter;