import type { MigrationProjectState } from './migration-types.js'; export declare function hasSnapshotForVersion(state: MigrationProjectState, block: MigrationProjectState['blocks'][number], version: string): boolean; export declare function listConfiguredLegacyVersions(state: MigrationProjectState): string[]; export declare function listPreviewableLegacyVersions(state: MigrationProjectState): string[]; export declare function resolveLegacyVersions(state: MigrationProjectState, { all, availableVersions, fromMigrationVersion }: { all?: boolean; availableVersions?: string[]; fromMigrationVersion?: string; }): string[]; export declare function isSnapshotOptionalForBlockVersion(state: MigrationProjectState, block: MigrationProjectState['blocks'][number], version: string): boolean; export declare function isLegacySingleBlockProject(state: MigrationProjectState): boolean; export declare function getSelectedEntriesByBlock(state: MigrationProjectState, targetVersions: string[], command: 'fuzz' | 'verify'): Record; export declare function assertDistinctMigrationEdge(command: 'diff' | 'plan' | 'scaffold', fromVersion: string, toVersion: string): void; export declare function createMigrationPlanNextSteps(fromVersion: string, targetVersion: string, currentVersion: string): string[]; export declare function formatEdgeCommand(command: 'fixtures' | 'scaffold', fromVersion: string, targetVersion: string, currentVersion: string): string; export declare function createMissingProjectSnapshotMessage(state: MigrationProjectState, fromVersion: string): string; export declare function formatScaffoldCommand(versions: string[]): string; export declare function collectFixtureTargets(state: MigrationProjectState, targetVersions: string[], targetVersion: string): { block: import("./migration-types.js").ResolvedMigrationBlockTarget; fixturePath: string; scopedLabel: string; version: string; }[];