You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.0 KiB

  1. /**
  2. * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
  3. * SPDX-License-Identifier: AGPL-3.0-or-later
  4. */
  5. import type Tab from './apps/files/src/models/Tab.js'
  6. import type RouterService from './apps/files/src/services/RouterService.ts'
  7. import type Settings from './apps/files/src/services/Settings.js'
  8. import type Sidebar from './apps/files/src/services/Sidebar.js'
  9. type SidebarAPI = Sidebar & {
  10. open: (path: string) => Promise<void>
  11. close: () => void
  12. setFullScreenMode: (fullScreen: boolean) => void
  13. setShowTagsDefault: (showTagsDefault: boolean) => void
  14. Tab: typeof Tab
  15. }
  16. declare global {
  17. interface Window {
  18. OC: Nextcloud.v29.OC
  19. // Private Files namespace
  20. OCA: {
  21. Files: {
  22. Settings: Settings
  23. Sidebar: SidebarAPI
  24. }
  25. } & Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
  26. // Public Files namespace
  27. OCP: {
  28. Files: {
  29. Router: RouterService
  30. }
  31. } & Nextcloud.v29.OCP
  32. // Private global files pinia store
  33. _nc_files_pinia: Pinia
  34. }
  35. }