import { Compiler, ExternalsElement, Loader, Plugin } from 'webpack'; import { BabelTarget } from './babel-target'; import { BabelMultiTargetLoader } from './babel.multi.target.loader'; /** * @internalapi */ export declare class TargetingPlugin implements Plugin { private targets; private exclude; private readonly externals; private babelLoaderPath; private babelLoaders; private remainingTargets; private readonly doNotTarget; constructor(targets: BabelTarget[], exclude: RegExp[], doNotTarget: RegExp[], externals: ExternalsElement | ExternalsElement[]); apply(compiler: Compiler): void; private getBlindTarget; targetLazyModules(resolveContext: any): Promise; wrapResolveDependencies(resolveContext: any): Promise; targetModule(module: any): void; private targetDependency; targetDependencies(babelTarget: BabelTarget, context: any): void; afterResolve(resolveContext: any): Promise; checkResolveTarget(resolveContext: any, hasLoader: boolean): void; private targetChunkNames; replaceLoaders(resolveContext: any, loaders: BabelMultiTargetLoader[]): void; isTargetedRequest(context: any, request: string): boolean; private isExternalRequest; isTranspiledRequest(resolveContext: any): boolean; getTargetFromContext(context: any): BabelTarget; private getTargetedBabelLoader; static loader(loader?: Loader): Loader; }