import { AmplitudeAI } from "../client.js";

//#region src/integrations/opentelemetry.d.ts

interface ExporterOptions {
  amplitudeAI: AmplitudeAI;
  defaultUserId?: string;
}
interface OTELSpan {
  name: string;
  kind?: number;
  attributes?: Record<string, unknown>;
  startTimeUnixNano?: bigint | number;
  endTimeUnixNano?: bigint | number;
  status?: {
    code?: number;
    message?: string;
  };
  parentSpanId?: string;
  spanContext?: () => {
    traceId: string;
    spanId: string;
  };
}
declare class AmplitudeAgentExporter {
  private _ai;
  private _defaultUserId;
  constructor(options: ExporterOptions);
  export(spans: OTELSpan[], resultCallback: (result: {
    code: number;
  }) => void): void;
  shutdown(): Promise<void>;
  forceFlush(): Promise<void>;
  private _processSpan;
}
declare const AmplitudeGenAIExporter: typeof AmplitudeAgentExporter;
declare const AmplitudeSpanExporter: typeof AmplitudeAgentExporter;
//#endregion
export { AmplitudeAgentExporter, AmplitudeGenAIExporter, AmplitudeSpanExporter, ExporterOptions };
//# sourceMappingURL=opentelemetry.d.ts.map