import { ExtendedSpan } from "../../../api-traces/api/TraceAPI/types.cjs";
import { PropertyOptions, ReasonSessionEnded, SpanSessionManager, StartSessionOptions } from "../types.cjs";
import { HrTime } from "@opentelemetry/api";
import { ReadableSpan } from "@opentelemetry/sdk-trace-web";

//#region src/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.d.ts
declare class ProxySpanSessionManager implements SpanSessionManager {
  private _delegate?;
  getDelegate(): SpanSessionManager;
  setDelegate(delegate: SpanSessionManager): void;
  addBreadcrumb(name: string): void;
  addProperty(key: string, value: string, options?: PropertyOptions): void;
  removeProperty(key: string): void;
  endSessionSpan(): void;
  endSessionSpanInternal(reason: ReasonSessionEnded): void;
  currentSessionAsReadableSpan(reason: ReasonSessionEnded): ReadableSpan | null;
  getSessionId(): string | null;
  getPreviousSessionId(): string | null;
  getSessionSpan(): ExtendedSpan | null;
  getSessionStartTime(): HrTime | null;
  startSessionSpan(options?: StartSessionOptions): void;
  addSessionStartedListener(listener: () => void): () => void;
  addSessionEndedListener(listener: () => void): () => void;
}
//#endregion
export { ProxySpanSessionManager };
//# sourceMappingURL=ProxySpanSessionManager.d.cts.map