declare module 'onebuild-plugin-webpack/index' { import { IPluginConfiguration, IPlugin, IPluginManagerExtends } from 'onebuild/index'; import * as webpack from 'webpack'; import { PluginContext } from 'onebuild'; import { Guid, Manifest } from 'onesystem-shareds/models'; export interface OneBuildWebpackCompiler extends webpack.Compiler { onebuildContext?: { manifests: Manifest[]; }; } export interface OneBuildWebpackConfiguration extends webpack.Configuration { ssrConfig?: SSRConfiguration; } interface SSRConfiguration extends webpack.Configuration { runInMode?: "development" | "production" | "both"; } interface IWebpackPluginOptions { /** * Enable to run in Serve mode. default is build. */ runInMode?: 'build' | 'serve' | 'both'; includeManifestIds?: Guid[]; excludeManifestIds?: Guid[]; } interface IWebpackPluginConfiguration extends IPluginConfiguration { addOptions: (options: IWebpackPluginOptions) => IWebpackPluginConfiguration; mergeConfig: (mergeFunc: (source: webpack.Configuration) => webpack.Configuration) => IWebpackPluginConfiguration; } export class OneBuildPluginWebpack implements IPlugin { name: string; private configuration; private pluginManager; configure(instance: IPluginManagerExtends): IWebpackPluginConfiguration; execute(ctx: PluginContext, next: () => Promise): Promise; private runWebpack; } export {}; } declare module 'onebuild-plugin-webpack' { export * from 'onebuild-plugin-webpack/index'; } declare module 'onebuild-plugin-webpack-manifest/index' { import * as webpack from 'webpack'; import { OneBuildWebpackCompiler, OneBuildWebpackConfiguration } from 'onebuild-plugin-webpack'; export class AsyncModuleBundlerWebpackPlugin { apply(compiler: OneBuildWebpackCompiler): void; } export function createWebpackManifestConfiguration(customConfig?: OneBuildWebpackConfiguration): webpack.Configuration; } declare module 'onebuild-plugin-webpack-manifest' { export * from 'onebuild-plugin-webpack-manifest/index'; }