import type { logging } from '@angular-devkit/core';
import { type Rule } from '@angular-devkit/schematics';
/** Create the migration  */
interface MigrateRuleRunnerOptions {
    /** The original version from which to execute the rules */
    from: string;
    /**
     * The last version for which to execute the rule.
     * If not specified, all the versions from the "from" parameter will be considered.
     */
    to?: string;
}
/** Mapping of rules to apply to its specific range */
export interface MigrationRulesMap {
    /** Rules to apply to a specific semver range */
    [range: string]: Rule | Rule[];
}
/**
 * Option for migration rule runner factory
 */
interface MigrationRuleRunnerOptions {
    /** Logger */
    logger?: logging.LoggerApi;
}
/**
 * Generate the Migration Rule Schematic runner to execute rules according to the range
 * @param rulesMapping Mapping of rules to execute based on its semver range
 * @param options Additional options
 */
export declare function getMigrationRuleRunner(rulesMapping: MigrationRulesMap, options?: MigrationRuleRunnerOptions): (config: MigrateRuleRunnerOptions) => Rule;
export {};
//# sourceMappingURL=migration.d.ts.map