///
///
import * as webpack from 'webpack';
import * as minimist from 'minimist';
import { AngularCompilerPlugin, AngularCompilerPluginOptions } from '@ngtools/webpack';
import { NgcWebpackPlugin } from '../plugin';
import { ParsedDiagnostics } from './util';
export declare function findPluginIndex(plugins: any[], type: any): number;
export declare function getPluginMeta(plugins: any[]): {
idx: number;
instance: AngularCompilerPlugin | NgcWebpackPlugin;
options: AngularCompilerPluginOptions;
};
/**
* Run `ngc-webpack` in library mode. (i.e. run `ngc`)
* In Library mode compilation and output is done per module and no bundling is done.
* Webpack is used for resource compilation through it's loader chain but does not bundle anything.
* The webpack configuration, excluding loaders, has no effect.
* The webpack configuration must include a plugin instance (either NgcWebpackPlugin / AngularCompilerPlugin).
*
* Library mode configuration is done mainly from the `tsconfig` json file.
*
* `tsconfig` json path is taken from the options of NgcWebpackPlugin / AngularCompilerPlugin
*
* @param webpackConfig Webpack configuration module, object or string
*/
export declare function runCli(webpackConfig: string | webpack.Configuration): Promise;
/**
* Run `ngc-webpack` in library mode. (i.e. run `ngc`)
* In Library mode compilation and output is done per module and no bundling is done.
* Webpack is used for resource compilation through it's loader chain but does not bundle anything.
* The webpack configuration, excluding loaders, has no effect.
* The webpack configuration must include a plugin instance (either NgcWebpackPlugin / AngularCompilerPlugin).
*
* Library mode configuration is done mainly from the `tsconfig` json file.
*
* `tsconfig` json path is taken from cli parameters (-p or --project) or, if not exists the options of
* NgcWebpackPlugin / AngularCompilerPlugin
*
* @param webpackConfig Webpack configuration module, object or string,
* @param cliParams cli Parameters, parsedArgs is not mandatory
*/
export declare function runCli(webpackConfig: string | webpack.Configuration, cliParams: {
args: string[];
parsedArgs?: minimist.ParsedArgs;
}): Promise;
/**
* Run `ngc-webpack` in library mode. (i.e. run `ngc`)
* In Library mode compilation and output is done per module and no bundling is done.
* Webpack is used for resource compilation through it's loader chain but does not bundle anything.
* The webpack configuration, excluding loaders, has no effect.
* The webpack configuration must include a plugin instance (either NgcWebpackPlugin / AngularCompilerPlugin).
*
* Library mode configuration is done mainly from the `tsconfig` json file.
*
* `tsconfig` json path is taken from the supplied tsConfigPath parameter.
*
* @param webpackConfig Webpack configuration module, object or string,
* @param tsConfigPath path to the tsconfig file, relative to process.cwd()
* @param cliParams cli Parameters, parsedArgs is not mandatory
*/
export declare function runCli(webpackConfig: string | webpack.Configuration, tsConfigPath: string, cliParams?: {
args: string[];
parsedArgs?: minimist.ParsedArgs;
}): Promise;