import { ParserOptions } from '@babel/parser'; import { BabelPlugin, RawBabelPlugin } from './BabelPluginTypes'; import { PathPredicate } from './iterateSources'; export declare class Plugin { readonly rawPlugin: RawBabelPlugin; readonly inferredName: string; readonly source?: string | undefined; readonly resolvedPath?: string | undefined; readonly declaredName?: string; constructor(rawPlugin: RawBabelPlugin, inferredName: string, source?: string | undefined, resolvedPath?: string | undefined); } export declare enum Printer { Recast = "recast", Prettier = "prettier", Babel = "babel" } export default class Config { readonly sourcePaths: Array; readonly localPlugins: Array; readonly remotePlugins: Array; readonly pluginOptions: Map; readonly printer: Printer; readonly extensions: Set; readonly sourceType: ParserOptions['sourceType']; readonly requires: Array; readonly transpilePlugins: boolean; readonly findBabelConfig: boolean; readonly ignore: PathPredicate; readonly stdio: boolean; readonly dry: boolean; constructor(sourcePaths?: Array, localPlugins?: Array, remotePlugins?: Array, pluginOptions?: Map, printer?: Printer, extensions?: Set, sourceType?: ParserOptions['sourceType'], requires?: Array, transpilePlugins?: boolean, findBabelConfig?: boolean, ignore?: PathPredicate, stdio?: boolean, dry?: boolean); private pluginLoader; private remotePluginLoader; private _pluginCache?; getPlugins(): Promise>; loadRequires(): void; loadBabelTranspile(): void; unloadBabelTranspile(): void; getPlugin(name: string): Promise; getBabelPlugins(): Promise>; getBabelPlugin(name: string): Promise; } export declare class ConfigBuilder { private _sourcePaths?; private _localPlugins?; private _remotePlugins?; private _pluginOptions?; private _printer?; private _extensions; private _sourceType; private _requires?; private _transpilePlugins?; private _findBabelConfig?; private _ignore?; 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; printer(value: Printer): 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; findBabelConfig(value: boolean): this; ignore(value: PathPredicate): this; stdio(value: boolean): this; dry(value: boolean): this; build(): Config; }