import { Plugin } from '../../types'; type InferOptions

= P extends Plugin ? O : never; export default class MigrateConfig { plugins: { plugin: Plugin; options: unknown }[] = []; addPlugin

>(plugin: P, options: InferOptions

) { this.plugins.push({ plugin, options }); return this; } }