import { type ResolvedVoyantDeploymentGraph, type ResolvedVoyantGraphUnit, type VoyantGraphPackageMetadata } from "./deployment-graph.js"; import { type ProjectConventionDiscovery } from "./project-conventions.js"; export declare const VOYANT_MIGRATION_PLAN_SCHEMA_VERSION: "voyant.migration-plan.v1"; export declare const VOYANT_PROJECT_RUNTIME_ENTRY: "runtime/project-runtime.generated.ts"; export declare const VOYANT_PROJECT_MIGRATION_RUNNER: "runtime/project-migrations.generated.mjs"; export interface ResolveProjectInput { project: unknown; projectRoot: string; configPath: string; } export interface FrameworkGeneratedProjectFile { path: string; contents: string; } export interface VoyantProjectSchemaMigration { id: string; migrationKind: "schema"; order: number; idempotencyKey: string; owner: string; packageName?: string; source: { kind: "package"; packageName: string; path: string; } | { kind: "deployment"; path: string; }; } export interface VoyantProjectSetupMigration { id: string; migrationKind: "setup"; order: number; idempotencyKey: string; owner: string; packageName: string; source: string; runtime: { entry: string; export: string; }; dependsOn: readonly string[]; } export type VoyantProjectMigration = VoyantProjectSchemaMigration | VoyantProjectSetupMigration; export interface VoyantProjectMigrationPlan { schemaVersion: typeof VOYANT_MIGRATION_PLAN_SCHEMA_VERSION; contentHash: string; migrations: readonly VoyantProjectMigration[]; } export interface ResolvedProjectArtifacts { runtimeEntry: string; migrationRunner: string; files: readonly FrameworkGeneratedProjectFile[]; migrationPlan: VoyantProjectMigrationPlan; } export type ResolvedVoyantProjectGraph = Omit & { deployment: Omit & { target?: never; }; }; export interface ResolvedVoyantProject { graph: ResolvedVoyantProjectGraph; runtime: import("./runtime-lowering.js").VoyantGraphRuntime; artifacts: ResolvedProjectArtifacts; conventions: ProjectConventionDiscovery; } /** Resolve a config-authored project through admitted package-owned manifests. */ export declare function resolveProject(input: ResolveProjectInput): Promise; /** Return the external package closure used by generated runtime facet importers. */ export declare function runtimeReferencePackageNames(units: readonly ResolvedVoyantGraphUnit[]): string[]; /** Metadata inferred after a package export is proven loadable by the Node resolver. */ export declare function inferredNodeRuntimePackageMetadata(): VoyantGraphPackageMetadata; export declare function buildMigrationPlan(graph: ResolvedVoyantDeploymentGraph): VoyantProjectMigrationPlan; export declare function buildProjectMigrationRunnerModule(input: { migrationPlan: VoyantProjectMigrationPlan; runtimeEntryOverrides?: Readonly>; }): string;