import type { RsbuildPlugin, ToolsConfig } from '@rsbuild/core'; export interface LowcodeAssetPackage { package: string; version?: string; library?: string; urls?: string | string[]; editUrls?: string | string[]; advancedUrls?: Record; [key: string]: unknown; } export interface LowcodeAssets { packages?: LowcodeAssetPackage[]; components?: unknown[]; componentList?: unknown[]; [key: string]: unknown; } export interface LowcodeAltOptions { enabled?: boolean; port?: number; openBrowser?: boolean; openUrl?: string; usePrivateIp?: boolean; } export interface LowcodePluginOptions { library?: string; engineScope?: '@ali' | '@alilc'; entryPath?: string; externals?: Record; components?: string[]; categories?: string[]; groups?: string[]; builtinAssets?: Array; extraAssets?: Array; staticResources?: Record; tools?: Pick; lowcodeDir?: string; buildTarget?: string; platforms?: string[]; metaTypes?: string[]; fullbackMeta?: string | false; /** Preferred spelling; `fullbackMeta` remains supported for compatibility. */ fallbackMeta?: string | false; package?: string; baseUrl?: Partial>; umdUrls?: string[]; renderUrls?: string[]; editUrls?: string[]; ignoreComponents?: Record; npmInfo?: Record; basicLibraryVersion?: Record; singleComponent?: boolean; setterMap?: Record; setterName?: string; presetConfig?: Record; customPlugins?: unknown[]; type?: 'component' | 'setter' | string; alt?: LowcodeAltOptions; } export function pluginLowcode(options?: LowcodePluginOptions): RsbuildPlugin; export function defineConfig(config: T): T;