import * as Babel from '@babel/core'; import { ParserOptions, ParserPluginName } from '@codemod/parser'; export declare class Plugin { readonly rawPlugin: (babel: typeof Babel) => Babel.PluginObj; readonly inferredName: string; readonly source?: string | undefined; readonly resolvedPath?: string | undefined; readonly declaredName?: string; constructor(rawPlugin: (babel: typeof Babel) => Babel.PluginObj, inferredName: string, source?: string | undefined, resolvedPath?: string | undefined); } export declare class Config { readonly sourcePaths: Array; readonly localPlugins: Array; readonly remotePlugins: Array; readonly pluginOptions: Map; readonly parserPlugins: Set; readonly extensions: Set; readonly sourceType: ParserOptions['sourceType']; readonly requires: Array; readonly transpilePlugins: boolean; readonly stdio: boolean; readonly dry: boolean; constructor(sourcePaths?: Array, localPlugins?: Array, remotePlugins?: Array, pluginOptions?: Map, parserPlugins?: Set, extensions?: Set, sourceType?: ParserOptions['sourceType'], requires?: Array, transpilePlugins?: boolean, stdio?: boolean, dry?: boolean); private pluginLoader; private remotePluginLoader; private _pluginCache?; getPlugins(): Promise>; loadRequires(): void; loadBabelTranspile(): Promise; getPlugin(name: string): Promise; getBabelPlugins(): Promise>; getBabelPlugin(name: string): Promise; } export declare class ConfigBuilder { private _sourcePaths?; private _localPlugins?; private _remotePlugins?; private _pluginOptions?; private _parserPluginNames; private _extensions; private _sourceType; private _requires?; private _transpilePlugins?; private _stdio?; private _dry?; sourcePaths(value: Array): this; addSourcePath(value: string): this; addSourcePaths(...values: Array): this; localPlugins(value: Array): this; addLocalPlugin(value: string): this; remotePlugins(value: Array): this; addRemotePlugin(value: string): this; pluginOptions(value: Map): this; setOptionsForPlugin(options: object, plugin: string): this; addParserPlugin(name: ParserPluginName): this; extensions(value: Set): this; addExtension(value: string): this; sourceType(value: ParserOptions['sourceType']): this; requires(value: Array): this; addRequire(value: string): this; transpilePlugins(value: boolean): this; stdio(value: boolean): this; dry(value: boolean): this; build(): Config; }