constructor(
    client,
    scope$1,
    isolationScope,
      _version = API_VERSION,
  ) {this._version = _version;
    let assignedScope;
    if (!scope$1) {
      assignedScope = new scope.Scope();
      assignedScope.setClient(client);
    } else {
      assignedScope = scope$1;
    }

    let assignedIsolationScope;
    if (!isolationScope) {
      assignedIsolationScope = new scope.Scope();
      assignedIsolationScope.setClient(client);
    } else {
      assignedIsolationScope = isolationScope;
    }

    this._stack = [{ scope: assignedScope }];

    if (client) {
      // eslint-disable-next-line deprecation/deprecation
      this.bindClient(client);
    }

    this._isolationScope = assignedIsolationScope;
  }
Creates a new instance of the hub, will push one {@link Layer} into the
internal stack on creation.

@param client bound to the hub.
@param scope bound to the hub.
@param version number, higher number means higher priority.

@deprecated Instantiation of Hub objects is deprecated and the constructor will be removed in version 8 of the SDK.

If you are currently using the Hub for multi-client use like so:

```
// OLD
const hub = new Hub();
hub.bindClient(client);
makeMain(hub)
```

instead initialize the client as follows:

```
// NEW
Sentry.withIsolationScope(() => {
   Sentry.setCurrentClient(client);
   client.init();
});
```

If you are using the Hub to capture events like so:

```
// OLD
const client = new Client();
const hub = new Hub(client);
hub.captureException()
```

instead capture isolated events as follows:

```
// NEW
const client = new Client();
const scope = new Scope();
scope.setClient(client);
scope.captureException();
```