/** The code is defining an abstract class called `InteractingEntryGenerator` with a generic type `T`. This class is responsible for generating an `InteractingEntry` object based on the provided options. */
export class InteractingEntryGenerator {
  /**
   * The function generates an InteractingEntry object based on the provided options.
   *
   * @param {unknown} options - The `options` parameter is a generic type `T` that represents the options or configuration for the `generate` function. It can be any type that you define when calling the `generate` function.
   * @returns {InteractingEntry} An object of type InteractingEntry is being returned.
   */
  generate(options) {
    return {
      eventType: this.eventType,
      shouldHandle: this.createShouldHandle(options),
      handle: this.createHandle(options),
    };
  }
}
