///
import PluginBase from '@electron-forge/plugin-base';
import { ForgeConfig } from '@electron-forge/shared-types';
import Logger from '@electron-forge/web-multi-logger';
import { ChildProcess } from 'child_process';
import webpack from 'webpack';
import { WebpackPluginConfig, WebpackPluginEntryPoint, WebpackPreloadEntryPoint } from './Config';
export default class WebpackPlugin extends PluginBase {
name: string;
private isProd;
private projectDir;
private baseDir;
private watchers;
private servers;
private loggers;
private port;
private loggerPort;
constructor(c: WebpackPluginConfig);
private isValidPort;
private resolveConfig;
private exitHandler;
private runWebpack;
init: (dir: string) => void;
private loggedOutputUrl;
getHook(name: string): ((_: any, child: ChildProcess) => Promise) | ((forgeConfig: ForgeConfig) => Promise) | ((_: any, buildPath: string) => Promise) | null;
resolveForgeConfig: (forgeConfig: ForgeConfig) => Promise;
packageAfterCopy: (_: any, buildPath: string) => Promise;
rendererEntryPoint: (entryPoint: WebpackPluginEntryPoint, inRendererDir: boolean, basename: string) => string;
toEnvironmentVariable: (entryPoint: WebpackPluginEntryPoint, preload?: boolean) => string;
getPreloadDefine: (entryPoint: WebpackPluginEntryPoint) => string;
getDefines: (inRendererDir?: boolean) => {
[key: string]: string;
};
getMainConfig: () => Promise;
getPreloadRendererConfig: (parentPoint: WebpackPluginEntryPoint, entryPoint: WebpackPreloadEntryPoint) => Promise;
getRendererConfig: (entryPoints: WebpackPluginEntryPoint[]) => Promise;
compileMain: (watch?: boolean, logger?: Logger | undefined) => Promise;
compileRenderers: (watch?: boolean) => Promise;
launchDevServers: (logger: Logger) => Promise;
private alreadyStarted;
startLogic(): Promise;
}