window.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'recurly__recurly-js'
  2. import { ScopeValueStore } from './ide/scope-value-store'
  3. import { MetaAttributesCache } from '@/utils/meta'
  4. declare global {
  5. // eslint-disable-next-line no-unused-vars
  6. interface Window {
  7. metaAttributesCache: MetaAttributesCache
  8. _ide: Record<string, unknown> & {
  9. $scope: Record<string, unknown> & {
  10. pdf?: {
  11. logEntryAnnotations: Record<string, unknown>
  12. }
  13. }
  14. socket: {
  15. on: (event: string, listener: any) => void
  16. removeListener: (event: string, listener: any) => void
  17. }
  18. }
  19. _reportCM6Perf: () => void
  20. MathJax: Record<string, any>
  21. crypto: {
  22. randomUUID: () => string
  23. }
  24. // For react-google-recaptcha
  25. recaptchaOptions?: {
  26. enterprise?: boolean
  27. useRecaptchaNet?: boolean
  28. }
  29. expectingLinkedFileRefreshedSocketFor?: string | null
  30. writefull?: {
  31. type: 'extension' | 'integration'
  32. }
  33. WritefullStub?: any
  34. io?: any
  35. overleaf: {
  36. unstable: {
  37. store: ScopeValueStore
  38. }
  39. }
  40. ga?: (...args: any) => void
  41. gtag?: (...args: any) => void
  42. }
  43. }