import "reflect-metadata"; import type { EdenConfig } from "@edenapp/types"; import { type DependencyContainer, type InjectionToken } from "tsyringe"; import type { EdenAppearanceApi, EdenAssociationsApi, EdenDaemonsApi, EdenLifecycleState, EdenPackagesApi, EdenSessionsApi, EdenSettingsApi, EdenUsersApi } from "../api"; import { type EdenPlatform } from "../platform/ports"; export interface EdenRuntimePaths { appsDirectory: string; userDirectory: string; distPath: string; appPath: string; } export interface EdenRuntimeOptions { config?: EdenConfig; paths: EdenRuntimePaths; platform: EdenPlatform; parentContainer?: DependencyContainer; } /** * Internal composition root for one Eden instance. * * Every mutable service is resolved from this runtime's child container. The * Electron-specific presentation code remains here only until the platform * adapter migration; consumers continue to interact with the public Eden host. */ export declare class EdenRuntime { private readonly container; private readonly ownedServices; private readonly ownedServiceSet; private readonly config; private readonly paths; private mainWindow; private readonly platform; private viewManager; private readonly ipcBridge; private readonly brandingManager; private readonly settingsPanelManager; private managersInitialized; private resourcesDisposed; private lifecycleState; private controlPlaneApis?; private startPromise?; private disposePromise?; private readonly readyPromise; private resolveReady; private rejectReady; private readySettled; private packageManager; private processManager; private fileOpenManager; private appAssociationManager; private autostartManager; private userManager; private sessionManager; private daemonManager; private keyboardManager; readonly settings: EdenSettingsApi; constructor(options: EdenRuntimeOptions); whenReady(): Promise; get state(): EdenLifecycleState; get packages(): EdenPackagesApi; get daemons(): EdenDaemonsApi; get users(): EdenUsersApi; get sessions(): EdenSessionsApi; get appearance(): EdenAppearanceApi; get associations(): EdenAssociationsApi; /** Resolve an internal runtime-owned service for SDK infrastructure. */ resolve(token: InjectionToken): T; private resolveOwned; start(): Promise; dispose(): Promise; /** Recreate the foundation window when the host application is activated. */ activate(): void; private startInternal; private assertStartupActive; private initializeManagers; private requireControlPlaneApis; private ensureDirectory; private createMainWindow; private disposeInternal; private disposeResources; private removeContainerDisposable; } //# sourceMappingURL=EdenRuntime.d.ts.map