StrictEventEmitter type

type StrictEventEmitter<
  TEmitterType,
  TEventRecord,
  TEmitRecord,
  UnneededMethods,
  NeededMethods
> = TypeRecord<TEmitterType, TEventRecord, TEmitRecord> &
  Pick<TEmitterType, Exclude<keyof TEmitterType, OverriddenKeys>> &
  Pick<
    OverriddenMethods<TEmitterType, TEventRecord, TEmitRecord>,
    NeededMethods
  >