docs: function Twilio(username, password, opts) {
    opts = opts || {};
    var env = opts.env || process.env;
  
    this.username = username || env.TWILIO_ACCOUNT_SID;
    this.password = password || env.TWILIO_AUTH_TOKEN;
    this.accountSid = opts.accountSid || this.username;
    this.httpClient = opts.httpClient || new RequestClient();
    this.region = opts.region;
  
    if (!this.username) {
      throw new Error('username is required');
    }
  
    if (!this.password) {
      throw new Error('password is required');
    }
  
    if (!_.startsWith(this.accountSid, 'AC')) {
      throw new Error('accountSid must start with AC');
    }
  
    // Domains
    this._accounts = undefined;
    this._api = undefined;
    this._authy = undefined;
    this._autopilot = undefined;
    this._chat = undefined;
    this._fax = undefined;
    this._flexApi = undefined;
    this._insights = undefined;
    this._ipMessaging = undefined;
    this._lookups = undefined;
    this._messaging = undefined;
    this._monitor = undefined;
    this._notify = undefined;
    this._preview = undefined;
    this._pricing = undefined;
    this._proxy = undefined;
    this._serverless = undefined;
    this._studio = undefined;
    this._sync = undefined;
    this._taskrouter = undefined;
    this._trunking = undefined;
    this._verify = undefined;
    this._video = undefined;
    this._voice = undefined;
    this._wireless = undefined;
  }