window.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { ExposedSettings } from './exposed-settings'
  2. import { OAuthProviders } from './oauth-providers'
  3. import { OverallThemeMeta } from './project-settings'
  4. import { User } from './user'
  5. import 'recurly__recurly-js'
  6. declare global {
  7. // eslint-disable-next-line no-unused-vars
  8. interface Window {
  9. csrfToken: string
  10. sl_console: {
  11. log: (message: string) => void
  12. }
  13. sl_debugging: boolean
  14. user: User
  15. user_id?: string
  16. oauthProviders: OAuthProviders
  17. thirdPartyIds: Record<string, string>
  18. metaAttributesCache: Map<string, any>
  19. i18n: {
  20. currentLangCode: string
  21. }
  22. ExposedSettings: ExposedSettings
  23. project_id: string
  24. gitBridgePublicBaseUrl: string
  25. _ide: Record<string, unknown> & {
  26. $scope: Record<string, unknown> & {
  27. pdf?: {
  28. logEntryAnnotations: Record<string, unknown>
  29. }
  30. }
  31. }
  32. isRestrictedTokenMember: boolean
  33. _reportCM6Perf: () => void
  34. _reportAcePerf: () => void
  35. MathJax: Record<string, any>
  36. overallThemes: OverallThemeMeta[]
  37. crypto: {
  38. randomUUID: () => string
  39. }
  40. // For react-google-recaptcha
  41. recaptchaOptions?: {
  42. enterprise?: boolean
  43. useRecaptchaNet?: boolean
  44. }
  45. }
  46. }