import type { RequestBaseConfig } from "../utils/request.js"; import { type PreparedMigrationValidator } from "./migration-validation.js"; export type MigrateFrom = "file" | "space"; export interface PreparedMigrationConfig { migrationConfigName: string; migrationConfigPath: string; migrationConfigFileContent: Record; componentsToMigrate: string[]; validator: PreparedMigrationValidator | null; } export interface MigrationStepValidationReport { validatorId: string; validatorName: string; issueCount: number; sourcePath: string; } export interface MigrationStepReport { migrationConfig: string; touchedItems: number; totalComponentReplacements: number; replacementsByComponent: Record; maxDepth: number; validation: MigrationStepValidationReport | null; } export interface MigrationPipelineResult { changedItems: any[]; finalItems: any[]; stepReports: MigrationStepReport[]; totalItems: number; } interface MigrateItems { itemType: "story" | "preset"; from: string; to: string; migrateFrom: MigrateFrom; migrationConfig: string | string[]; componentsToMigrate?: string[]; filters?: { withSlug?: string[]; startsWith?: string; }; dryRun?: boolean; fromFilePath?: string; fileName?: string; preparedMigrationConfigs?: PreparedMigrationConfig[]; } export type MapperDefinition = (data: any) => any; export declare const normalizeMigrationConfigNames: (migrationConfig: string | string[]) => string[]; export declare const prepareStoriesFromLocalFile: ({ from, fromFilePath, }: { from?: string; fromFilePath?: string; }) => any; export declare const prepareMigrationConfigs: ({ migrationConfig, componentsToMigrate, }: { migrationConfig: string | string[]; componentsToMigrate?: string[]; }) => PreparedMigrationConfig[]; export declare const prepareMigrationConfig: ({ migrationConfig, }: { migrationConfig: string; }) => Record; export declare const runMigrationPipelineInMemory: ({ itemType, itemsToMigrate, preparedMigrationConfigs, }: { itemType: "story" | "preset"; itemsToMigrate: any[]; preparedMigrationConfigs: PreparedMigrationConfig[]; }) => MigrationPipelineResult; export declare const migrateAllComponentsDataInStories: ({ itemType, migrationConfig, migrateFrom, from, to, filters, dryRun, fromFilePath, fileName, }: Omit, config: RequestBaseConfig) => Promise; export declare const doTheMigration: ({ itemType, from, itemsToMigrate, migrationConfig, migrationConfigs, to, dryRun, migrateFrom, fromFilePath, fileName, }: { itemType?: "story" | "preset"; from: string; itemsToMigrate: any[]; migrationConfig?: string | string[]; migrationConfigs?: PreparedMigrationConfig[]; to: string; dryRun?: boolean; migrateFrom: MigrateFrom; fromFilePath?: string; fileName?: string; }, config: RequestBaseConfig) => Promise; export declare const migrateProvidedComponentsDataInStories: ({ itemType, migrationConfig, migrateFrom, from, to, componentsToMigrate, filters, dryRun, fromFilePath, fileName, preparedMigrationConfigs, }: MigrateItems, config: RequestBaseConfig) => Promise; export {};