import type { Config } from '../config/schema.js'; import type { ExtensionLoader } from '../extensions/index.js'; import type { ProjectService } from '../projects/index.js'; import { LocalAppStore } from './store.js'; import type { CreateLocalAppInput, LocalApp, LocalAppAcceptanceRun, LocalAppDetail, LocalAppPreviewTarget, LocalAppValidationResult, LocalAppUiGrant, RecordLocalAppAcceptanceInput } from './types.js'; export interface LocalAppServiceOptions { projects: ProjectService; workspaceRoot: string; getConfig: () => Config; saveConfig: (config: Config) => Promise<{ saved: boolean; error?: string; }>; getExtensionLoader: () => ExtensionLoader | null; emit: (type: string, payload: unknown) => void; } export declare class LocalAppService { private readonly options; private readonly store; constructor(options: LocalAppServiceOptions, store?: LocalAppStore); list(): LocalApp[]; get(id: string): LocalAppDetail | null; getUiGrant(extensionId: string): LocalAppUiGrant; grantUiPermissions(extensionId: string): LocalAppUiGrant; create(input: CreateLocalAppInput): LocalAppDetail; resolvePreview(previewToken: string): LocalAppPreviewTarget | null; validate(id: string): LocalAppValidationResult; recordAcceptance(id: string, input: RecordLocalAppAcceptanceInput): LocalAppAcceptanceRun; private releaseRoot; private refreshExtensions; private assertInstalledRuntime; private activateArtifact; install(id: string): Promise; rollback(id: string, releaseId: string): Promise; setEnabled(id: string, enabled: boolean): Promise; uninstall(id: string): Promise; }