/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 9c0e070af33d
 */

import { ClientSDK } from "../lib/sdks.js";
import { Campaigns } from "./campaigns.js";
import { ChatCompletionEvents } from "./chatcompletionevents.js";
import { Datasets } from "./datasets.js";
import { Judges } from "./judges.js";

export class Observability extends ClientSDK {
  private _chatCompletionEvents?: ChatCompletionEvents;
  get chatCompletionEvents(): ChatCompletionEvents {
    return (this._chatCompletionEvents ??= new ChatCompletionEvents(
      this._options,
    ));
  }

  private _judges?: Judges;
  get judges(): Judges {
    return (this._judges ??= new Judges(this._options));
  }

  private _campaigns?: Campaigns;
  get campaigns(): Campaigns {
    return (this._campaigns ??= new Campaigns(this._options));
  }

  private _datasets?: Datasets;
  get datasets(): Datasets {
    return (this._datasets ??= new Datasets(this._options));
  }
}
