type Subscription: 
  | {
  "tag": string;
  "type":   | "close"
     | "debug"
     | "error"
     | "finalized"
     | "network"
     | "safe";
  "zone": Zone;
 }
  | {
  "tag": string;
  "type": "block" | "pending";
  "zone": Zone;
 }
  | {
  "hash": string;
  "tag": string;
  "type": "transaction";
  "zone": Zone;
 }
  | {
  "filter": AccessesFilter;
  "tag": string;
  "type": "accesses";
  "zone": Zone;
 }
  | {
  "hash": string;
  "tag": string;
  "type": "qiTransaction";
  "zone": Zone;
 }
  | {
  "filter": EventFilter;
  "tag": string;
  "type": "event";
  "zone": Zone;
 }
  | {
  "filter": OrphanFilter;
  "tag": string;
  "type": "orphan";
  "zone": Zone;
};

The value passed to the AbstractProvider._getSubscriber | AbstractProvider._getSubscriber method.

Only developers sub-classing AbstractProvider will care about this, if they are modifying a low-level feature of how subscriptions operate.

Source

providers/abstract-provider.ts:153