export class ScrollableWindow implements EventTarget {
  get scrollTop() {
    return window.scrollY;
  }
  get clientHeight() {
    return document.body.clientHeight;
  }
  get scrollHeight() {
    return document.body.scrollHeight;
  }

  addEventListener(
    type: string,
    listener: EventListener | EventListenerObject,
    options?: boolean | AddEventListenerOptions,
  ): void {
    window.addEventListener(type, listener, options);
  }

  dispatchEvent(event: Event): boolean {
    return window.dispatchEvent(event);
  }

  removeEventListener(
    type: string,
    callback: EventListener | EventListenerObject,
    options?: EventListenerOptions | boolean,
  ): void {
    window.removeEventListener(type, callback, options);
  }

  getBoundingClientRect() {
    return { top: 0 };
  }
}
