import { ArgumentsCamelCase } from 'yargs'; import { LoadedProjectConfig } from '../projects/config.js'; import { MigrationApp, MigratableApp, UnmigratableApp, MigrationFailed, MigrationStatus } from '../../api/migrate.js'; import { AccountArgs, CommonArgs, ConfigArgs, EnvironmentArgs } from '../../types/Yargs.js'; export type MigrateAppArgs = CommonArgs & AccountArgs & EnvironmentArgs & ConfigArgs & { name?: string; dest?: string; appId?: number; platformVersion: string; unstable: boolean; }; export declare function getUnmigratableReason(reasonCode: string, projectName: string | undefined, accountId: number): string; export declare function generateFilterAppsByProjectNameFunction(projectConfig?: LoadedProjectConfig): (app: MigrationApp) => boolean; export declare function buildErrorMessageFromMigrationStatus(error: MigrationFailed): string; export declare function fetchMigrationApps(derivedAccountId: number, platformVersion: string, options: { appId?: MigrateAppArgs['appId']; projectConfig?: LoadedProjectConfig; }): Promise<{ migratableApps: MigratableApp[]; unmigratableApps: UnmigratableApp[]; }>; export declare function validateMigrationApps(appId: MigrateAppArgs['appId'], derivedAccountId: number, { migratableApps, unmigratableApps, }: { migratableApps: MigratableApp[]; unmigratableApps: UnmigratableApp[]; }, projectConfig?: LoadedProjectConfig): Promise; export declare function promptForAppToMigrate(allApps: MigrationApp[], derivedAccountId: number): Promise; export declare function selectAppToMigrate(allApps: MigrationApp[], derivedAccountId: number, appId?: number): Promise<{ proceed: boolean; appIdToMigrate?: number; }>; export declare function handleMigrationSetup(derivedAccountId: number, options: ArgumentsCamelCase, projectConfig?: LoadedProjectConfig): Promise<{ appIdToMigrate?: number | undefined; projectName?: string; projectDest?: string; }>; export declare function beginAppMigration(derivedAccountId: number, appId: number, platformVersion: string): Promise<{ migrationId: number; uidMap: Record; } | undefined>; export declare function pollMigrationStatus(derivedAccountId: number, migrationId: number, successStates?: string[]): Promise; export declare function finalizeAppMigration(derivedAccountId: number, migrationId: number, uidMap: Record, projectName: string): Promise; export declare function downloadProjectFiles(derivedAccountId: number, projectName: string, buildId: number, projectDest: string, projectConfig?: LoadedProjectConfig): Promise; export declare function migrateApp(derivedAccountId: number, options: ArgumentsCamelCase, projectConfig?: LoadedProjectConfig): Promise; export declare function logInvalidAccountError(): void;