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