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

import { ClientSDK } from "../lib/sdks.js";
import { Auth } from "./auth.js";
import { ConnectedFields } from "./connectedfields.js";
import { Maestro } from "./maestro.js";
import { Navigator } from "./navigator.js";

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

  private _maestro?: Maestro;
  get maestro(): Maestro {
    return (this._maestro ??= new Maestro(this._options));
  }

  private _navigator?: Navigator;
  get navigator(): Navigator {
    return (this._navigator ??= new Navigator(this._options));
  }

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