removeAwarenessStates = (awareness, clients, origin) => {
  const removed = [];

  for (let i = 0; i < clients.length; i++) {
    const clientID = clients[i];

    if (awareness.states.has(clientID)) {
      awareness.states.delete(clientID);

      if (clientID === awareness.clientID) {
        const curMeta =
        /** @type {MetaClientState} */
        awareness.meta.get(clientID);
        awareness.meta.set(clientID, {
          clock: curMeta.clock + 1,
          lastUpdated: time.getUnixTime()
        });
      }

      removed.push(clientID);
    }
  }

  if (removed.length > 0) {
    awareness.emit('change', [{
      added: [],
      updated: [],
      removed
    }, origin]);
    awareness.emit('update', [{
      added: [],
      updated: [],
      removed
    }, origin]);
  }
}
Mark (remote) clients as inactive and remove them from the list of active peers.
This change will be propagated to remote clients.

@param {Awareness} awareness
@param {Array<number>} clients
@param {any} origin