/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import { ClientSDK } from "../lib/sdks.js";
import { AgreementManager } from "./agreementmanager.js";
import { Auth } from "./auth.js";
import { ConnectedFields } from "./connectedfields.js";
import { WorkflowBuilder } from "./workflowbuilder.js";
import { Workspaces1 } from "./workspaces1.js";

export class IamClient extends ClientSDK {
  private _auth?: Auth;
  get auth(): Auth {
    return (this._auth ??= new Auth(this._options));
  }

  private _workflowBuilder?: WorkflowBuilder;
  get workflowBuilder(): WorkflowBuilder {
    return (this._workflowBuilder ??= new WorkflowBuilder(this._options));
  }

  private _agreementManager?: AgreementManager;
  get agreementManager(): AgreementManager {
    return (this._agreementManager ??= new AgreementManager(this._options));
  }

  private _connectedFields?: ConnectedFields;
  get connectedFields(): ConnectedFields {
    return (this._connectedFields ??= new ConnectedFields(this._options));
  }

  private _workspaces?: Workspaces1;
  get workspaces(): Workspaces1 {
    return (this._workspaces ??= new Workspaces1(this._options));
  }
}
