1declare global {
2  // Add IE-specific interface to Window
3  interface Window {
4    attachEvent(event: string, listener: EventListener): boolean;
5  }
6}
7
8// Used for delegating node actions when browser APIs aren't available
9// like in SSR websites.
10export const isDOMAvailable = typeof window !== 'undefined' && !!window.document?.createElement;
11export const canUseEventListeners =
12  isDOMAvailable && !!(window.addEventListener || window.attachEvent);
13export const canUseViewport = isDOMAvailable && !!window.screen;
14export const isAsyncDebugging = false;
15