import type { DownloadMissingAlbumWorkflowInput, WishlistAlbumWorkflowInput, } from '@/platform/workflows/album-workflows'; import type { IssueDomainBridge } from '@/routes/issues/-issues.types'; import type { ShellProfileContext, ShellRouteDefinition, ShellPageId } from './bridge'; declare global { interface Window { showToast?: (message: string, type?: string, durationOrContext?: number | string) => void; SoulSyncIssueDomain?: IssueDomainBridge; SoulSyncWorkflowActions?: { openDownloadMissingAlbum: (input: DownloadMissingAlbumWorkflowInput) => void | Promise; openAddToWishlistAlbum: (input: WishlistAlbumWorkflowInput) => void | Promise; notify?: (message: string, type?: string) => void; }; SoulSyncWebRouter?: { routeManifest: ShellRouteDefinition[]; getCurrentPageId: () => ShellPageId | null; getCurrentPath: () => string; resolvePageId: (pathname: string) => ShellPageId | null; navigateToPage: ( pageId: ShellPageId, options?: { replace?: boolean; }, ) => Promise; }; SoulSyncWebShellBridge?: { getCurrentPageId: () => ShellPageId; getCurrentProfileContext: () => ShellProfileContext | null; isPageAllowed: (pageId: ShellPageId) => boolean; getProfileHomePage: () => ShellPageId; resolveLegacyPath: (pathname: string) => ShellPageId | null; setActivePageChrome: (pageId: ShellPageId) => void; activateLegacyPath: (pathname: string) => void; showReactHost: (pageId: ShellPageId) => void; }; } } export {};