import type { AppAssociation, DaemonDefinition, DaemonStatus, InstalledPackageInfo, InstalledPackageManifest, UserProfile, UserRole, WallpaperConfig, WallpaperPreset } from "@edenapp/types"; export type EdenUnsubscribe = () => void; export type EdenLifecycleState = "created" | "starting" | "ready" | "failed" | "stopping" | "stopped"; export interface EdenPackageListOptions { showHidden?: boolean; showRestricted?: boolean; kind?: "app" | "dlc"; hostAppId?: string; } export type EdenPackageChange = { type: "upserted"; manifest: InstalledPackageManifest; } | { type: "uninstalled"; kind: "app"; packageId: string; } | { type: "uninstalled"; kind: "dlc"; packageId: string; hostAppId: string; }; export interface EdenPackageInfo { success: boolean; manifest?: import("@edenapp/types").PackageManifest; preview?: import("@edenapp/types").PackageOperationPreview; error?: string; } export interface EdenPackagesApi { list(options?: EdenPackageListOptions): InstalledPackageManifest[]; get(packageId: string): InstalledPackageInfo | undefined; getIcon(packageId: string): Promise; getSize(packageId: string): Promise; inspect(sourcePath: string): Promise; install(sourcePath: string, options?: { replace?: boolean; }): Promise; uninstall(packageId: string): Promise; reload(packageId: string): Promise; isHotReloadEnabled(packageId: string): Promise; toggleHotReload(packageId: string): Promise; onChanged(listener: (change: EdenPackageChange) => void): EdenUnsubscribe; } export interface EdenDaemonsApi { list(): Promise; updateDefinition(definition: DaemonDefinition): Promise; setEnabled(appId: string, enabled: boolean): Promise; start(appId: string): Promise; stop(appId: string): Promise; restart(appId: string): Promise; onChanged(listener: (status: DaemonStatus) => void): EdenUnsubscribe; } export interface EdenCreateUserInput { username?: string; name: string; role?: UserRole; password: string; grants?: string[]; homeDirectory?: string; } export interface EdenUpdateUserInput { username: string; name?: string; role?: UserRole; grants?: string[]; homeDirectory?: string | null; } export interface EdenUsersApi { list(): Promise; get(username: string): Promise; create(input: EdenCreateUserInput): Promise; update(input: EdenUpdateUserInput): Promise; delete(username: string): Promise; setPassword(username: string, password: string): Promise; getDefaultUsername(): string | null; setDefaultUsername(username: string | null): Promise; } export interface EdenSessionChange { currentUser: UserProfile | null; previousUsername: string | null; reason: "login" | "logout" | "system"; } export interface EdenSessionsApi { current(): UserProfile | null; login(username: string, password: string): Promise; logout(): Promise; onChanged(listener: (change: EdenSessionChange) => void): EdenUnsubscribe; } export interface EdenWallpaperPresets { solid: WallpaperPreset[]; gradients: WallpaperPreset[]; } export interface EdenAppearanceApi { getWallpaper(): Promise; getPresets(): EdenWallpaperPresets; setWallpaper(config: WallpaperConfig): Promise; onChanged(listener: (wallpaper: WallpaperPreset) => void): EdenUnsubscribe; } export interface EdenAssociationListOptions { kindPrefix?: string; } export interface EdenAssociationsApi { get(key: string): AppAssociation | undefined; list(options?: EdenAssociationListOptions): Record; set(key: string, association: AppAssociation): Promise; remove(key: string): Promise; } //# sourceMappingURL=ControlPlaneApi.d.ts.map