/**
 *
 */
export declare abstract class MigrationContextBase {
    packageJson: Record<string, any>;
    ioPackageJson: Record<string, any>;
    abstract joinPath(...parts: string[]): string;
    abstract readTextFile(fileName: string): Promise<string>;
    abstract readJsonFile(fileName: string): Promise<Record<string, any>>;
    abstract directoryExists(dirName: string): Promise<boolean>;
    abstract fileExists(dirName: string): Promise<boolean>;
    abstract hasFilesWithExtension(dirName: string, extension: string, filter?: (fileName: string) => boolean): Promise<boolean>;
    /**
     *
     * @param packageName
     */
    hasDevDependency(packageName: string): boolean;
    /**
     *
     */
    getMainFileContent(): Promise<string>;
    /**
     *
     * @param either
     * @param or
     */
    analyzeCode(either: string, or: string): Promise<boolean>;
}
