import type minimist from 'minimist'; import WebpackChain from 'webpack-chain'; import type ChainableWebpackConfig from 'webpack-chain'; import type { PackageJsonType } from '@planjs/react-cli-shared-utils'; import type { Configuration as WebpackOptions } from 'webpack'; import type { Configuration as WebpackDevServerOptions } from 'webpack-dev-server'; import type { ServicePlugin, UserConfig } from '../types.js'; declare type PluginItem = { id: string; apply: ServicePlugin; }; export declare type CommandItem = { description?: string; usage?: string; options?: Record; details?: string; fn(args: minimist.ParsedArgs, rawArgv: string[]): void | any | Promise; }; declare class Service { initialized: boolean; context: string; modes: Record; packageJson: PackageJsonType & { react?: UserConfig; jest?: object; proxy?: WebpackDevServerOptions['proxy']; }; userOptions: UserConfig; plugins: Array; webpackChainFns: Array<(config: ChainableWebpackConfig) => void>; devServerConfigFns: Array; webpackRawConfigFns: Array WebpackOptions | void)>; commands: Record; constructor(context: string); run(name: string, args: minimist.ParsedArgs, rawArgv?: string[]): Promise; init(mode?: string): Promise; resolveChainableWebpackConfig(): WebpackChain; resolveWebpackConfig(chainableConfig?: WebpackChain): WebpackOptions; loadEnv(mode?: string): void; resolvePlugins(): Promise; loadUserOptions(): Promise; } export default Service;