import type { AppManifest } from '@ankhorage/contracts'; import { runProjectInfrastructureLifecycle } from '@ankhorage/infra/project'; import type { LayoutMutation } from '../modules/layout'; import type { ProjectTemplateSelection } from '../templateRegistry'; import { type ProjectSummary } from './projectStore'; interface ProjectManagerDependencies { readonly runProjectInfrastructureLifecycle: typeof runProjectInfrastructureLifecycle; } export declare class ProjectManager { private readonly rootPath; private readonly store; private readonly scaffolder; private readonly appFiles; private readonly dependencies; private readonly appsRoot; constructor(rootPath: string, dependencies?: Partial); listProjects(): Promise; deleteProject(projectId: string): Promise<{ success: boolean; infraDestroyed: boolean; projectFilesDeleted: boolean; }>; createProject(name: string, templateSelection: ProjectTemplateSelection, onProjectCreated?: (projectId: string) => Promise, options?: { includeStudio?: boolean; }): Promise<{ success: boolean; id: string; path: string; }>; installWorkspacePackages(): Promise<{ success: boolean; }>; getProjectManifest(projectId: string): Promise; persistProjectManifest(args: { projectId: string; manifest: AppManifest; }): Promise; saveProjectManifest(args: { projectId: string; manifest: AppManifest; mutations: LayoutMutation[]; regenerateRouterFiles?: boolean; }): Promise<{ success: boolean; }>; syncProjectRuntime(args: { projectId: string; mutations: LayoutMutation[]; includeStudio?: boolean; }): Promise<{ success: boolean; }>; rebuildRootLayout(args: { projectId: string; mutations: LayoutMutation[]; }): Promise<{ success: boolean; }>; syncProject(args: { projectId: string; mutations: LayoutMutation[]; includeStudio?: boolean; }): Promise<{ success: boolean; }>; regenerateInfrastructure(projectId: string): Promise; getInfrastructureStatus(projectId: string): Promise; private destroyProjectInfrastructure; private writeGeneratedFiles; private writeText; private shouldIncludeStudio; private syncProjectScaffold; } export {}; //# sourceMappingURL=projectManager.d.ts.map