import { SpanSessionManagerInternal } from "../../managers/EmbraceSpanSessionManager/types.js"; import { DiagLogger } from "@opentelemetry/api"; import { Resource } from "@opentelemetry/resources"; import { ReadableSpan } from "@opentelemetry/sdk-trace-web"; //#region src/utils/EmbraceSpanStorage/EmbraceSpanStorage.d.ts interface SpanStorageOptions { spanSessionManager: SpanSessionManagerInternal; resource?: Resource; storage?: Storage; diag?: DiagLogger; storedSpansExpireTimeoutMS?: number; onExpiredSpansExport?: (spans: ReadableSpan[]) => void; } declare class EmbraceSpanStorage { private readonly _noExportTracer; private readonly _storage; private readonly _diag; private readonly _onExpiredSpansExport?; private readonly _storedSpansExpireTimeoutMS; private readonly _spanSessionManager; private _checkExpiredSpansInterval?; constructor({ resource, storage, diag: diagParam, storedSpansExpireTimeoutMS, // 1 hour onExpiredSpansExport, spanSessionManager }: SpanStorageOptions); storePendingSpans(sessionId: string, sessionSpan: ReadableSpan, pendingSpans: ReadableSpan[]): void; clearStoredSpans(sessionId: string): void; startExpiredSpansCheck(): void; stopExpiredSpansCheck(): void; checkAndExportExpiredSpans(): void; _getPendingSpansKeys(): string[]; destroy(): void; } //#endregion export { EmbraceSpanStorage, SpanStorageOptions }; //# sourceMappingURL=EmbraceSpanStorage.d.ts.map