import { default as React } from 'react'; import { FileSystemMode } from '../context/FileSystemContext'; import { WallpaperItem } from '../data/wallpapers'; import { FileNode, AppRegistryEntry } from '../types'; import { CulturePackage } from '../data/culture'; import { ContentPack } from '../content/types'; import { ClockConfig } from '../context/ClockContext'; import { PowerSequence } from '../context/PowerTransitionContext'; import { XPHandle } from './XPBridge'; import { Scenario } from '../scenario/types'; import { Lesson } from '../lesson/types'; import { MarkdownOptions } from '../apps/MarkdownViewer/config'; import { DeepLinkRoutes } from '../utils/deepLink'; import { OSTheme } from '../themes/contract'; import { OSPackage } from '../os/contract'; import { XPEventListener } from '../events'; import { PersistenceMode } from '../utils/storage'; import { BootBranding, LoginBranding } from '../branding'; import { ViewportPolicy } from '../hooks/useViewportScale'; import { XPProviders } from '../providers/types'; export interface AppProvidersProps { /** Subscribe to desktop events (#76). */ onEvent?: XPEventListener; /** Imperative handle for driving the desktop programmatically (#76). */ handleRef?: React.Ref; username?: string; password?: string; language?: string; customFileSystem?: Record; /** 'merge' (default) or 'replace' the built-in filesystem (#77). */ fileSystemMode?: FileSystemMode; /** Login/user avatar: an XPIcon id or an image URL (#77). */ avatar?: string; /** Extra wallpapers merged over the built-in list (#77). */ wallpapers?: WallpaperItem[]; /** Initial wallpaper (id or URL) when the user hasn't picked one (#77). */ defaultWallpaper?: string; cultures?: CulturePackage[]; apps?: AppRegistryEntry[]; skipBoot?: boolean; autoLogin?: boolean; storagePrefix?: string; disableContextMenuBlock?: boolean; disableDevToolsBlock?: boolean; disableGlobalShortcuts?: boolean; /** Per-shortcut overrides (#132): map a shortcut id to a new combo, or `null` to disable it. */ keymap?: Record; disableScreenSaver?: boolean; /** Play the classic hourly chime on `time:hour`. Off by default (#130). */ hourlyChime?: boolean; /** Inactivity threshold (ms) before `user:idle` fires. Default 60000 (#130). */ idleThresholdMs?: number; /** Instance-local virtual system clock (#275). */ clock?: ClockConfig; /** Authored power-off presentation and host-controlled completion (#279). */ powerSequence?: PowerSequence; /** Deep-link key path(s) to open once interactive (#136). */ openOnLoad?: string | string[]; /** Pretty URL routes matched against `location` (#136). */ routes?: DeepLinkRoutes; /** Host's current location for `routes` matching (#136). */ location?: string; /** Push/pop history as top-level windows open/close (#136). Default off. */ historyIntegration?: boolean; /** Persistence backend (#138): 'local' (default) | 'session' | 'none'. */ persistence?: PersistenceMode; markdown?: MarkdownOptions; /** Boot-screen branding (#139). */ boot?: BootBranding; /** Login-screen branding (#139). */ login?: LoginBranding; /** Declarative scenario/story script — triggers, flags, gated actions (#84). */ scenario?: Scenario; /** * Content packs (#241): bundles of authorized IE sites, a `customFileSystem` * fragment, an asset manifest, and per-culture string tables. Mounted into the * instance — pack files merge into the filesystem (under an explicit * `customFileSystem`), and authorized sites become available to IE. */ contentPacks?: ContentPack[]; /** Guided lessons (#141) — data-driven tutorials, driven via `startLesson`. */ lessons?: Lesson[]; /** * Mount the Scenario / event DevTools overlay (#209): a dev-time panel showing * the live event stream, current flags, and per-trigger hit/miss with the * `when` predicate tree. Opt-in; off in production. */ devtools?: boolean; /** Small-screen / portrait strategy (#215). */ viewportPolicy?: ViewportPolicy; /** * OS look-and-feel package (#213 B1). Defaults to the built-in Windows XP * (Luna) theme. The selected theme is injected through a styled-components * `ThemeProvider` (readable via `props.theme` / `useOSTheme()`) and supplies * the sound scheme registered at startup. Swapping it is the runtime seam a * future non-XP package plugs into. */ theme?: OSTheme; /** Complete OS package: theme, chrome slots, behavior, conventions and app roles (#213). */ os?: OSPackage; /** Host-supplied backend providers (#148/#149): chat, moderation, web content. */ providers?: XPProviders; } export declare const AppProviders: React.FC; export default AppProviders;