import { EmbraceSessionBatchedSpanProcessorArgs } from "./types.cjs";
import { ReadableSpan, SpanProcessor } from "@opentelemetry/sdk-trace-web";

//#region src/processors/EmbraceSessionBatchedSpanProcessor/EmbraceSessionBatchedSpanProcessor.d.ts
declare class EmbraceSessionBatchedSpanProcessor implements SpanProcessor {
  private readonly _shutdownOnce;
  private _pendingSpans;
  private readonly _exporter;
  private readonly _limitManager;
  private readonly _spanStorage;
  private readonly _spanSessionManager;
  private readonly _diag;
  constructor({
    resource,
    exporter,
    limitManager,
    spanSessionManager,
    storage,
    storedSpansExpireTimeoutMS,
    diag: diagParam
  }: EmbraceSessionBatchedSpanProcessorArgs);
  forceFlush(): Promise<void>;
  onEnd(span: ReadableSpan): void;
  private _exportSpans;
  onStart(): void;
  getPendingSpansCount(): number;
  storePendingSpans(sessionId: string, sessionSpan: ReadableSpan): void;
  clearStoredSpans(sessionId: string): void;
  shutdown(): Promise<void>;
  private readonly _shutdown;
}
//#endregion
export { EmbraceSessionBatchedSpanProcessor };
//# sourceMappingURL=EmbraceSessionBatchedSpanProcessor.d.cts.map