import { IRepo } from '../adapters/base.js'; import { IMigrationContext } from '../migration-context.js'; /** * Handles the checkout process for a given repository. * * @param context - The migration context containing the adapter and logger. * @param repo - The repository to be checked out. * @param checkedOutRepos - An array to store successfully checked out repositories. * @param discardedRepos - An array to store repositories that were discarded during the process. * @param repoLogs - An array to store log messages related to the checkout process. * * @returns A promise that resolves when the checkout process is complete. * * @throws Will log an error and skip the repository if the checkout process fails. * * The function performs the following steps: * 1. Attempts to check out the repository using the adapter. * 2. Creates necessary directories for the repository. * 3. Runs the 'should_migrate' steps and discards the repository if they fail. * 4. Runs the 'post_checkout' steps and discards the repository if they fail. * 5. Adds the repository to the checkedOutRepos array if all steps succeed. */ export declare const handleRepoCheckout: (context: IMigrationContext, repo: IRepo, checkedOutRepos: IRepo[], discardedRepos: IRepo[], repoLogs: string[]) => Promise; /** * The purpose of the checkout function in the checkout.ts file is to manage the process * of checking out repositories within a migration context. It handles the extraction * of necessary dependencies, manages rate limits, loads and updates repositories, * and tracks the status of each repository throughout the checkout process. * This function ensures that the repositories are correctly checked out and mapped, * updating the migration context accordingly. * * @param context - The migration context containing necessary dependencies and state. * @returns A promise that resolves when the checkout process is complete. */ declare const _default: (context: IMigrationContext) => Promise; export default _default;