import type { AppTools, Bundler } from '@modern-js/app-tools'; type AppToolsUserConfig = AppTools['userConfig']['tools']; type ExcludeUndefined = T extends undefined ? never : T; type ExtractObjectType = T extends (...args: any[]) => any ? never : T; type OmitArrayConfiguration = T extends Array ? (T extends (infer U)[] ? U : T) : ExtractObjectType; type WebpackConfigs = ExcludeUndefined> extends { webpack?: infer U } ? U : never; type ObjectWebpack = ExtractObjectType>; type RspackConfigs = ExcludeUndefined> extends { rspack?: infer U } ? U : never; type ObjectRspack = ExtractObjectType>; export type BundlerConfig = T extends 'rspack' ? ObjectRspack : ObjectWebpack;