import { DynamicModule, Type } from '@nestjs/common'; import { PluginLifecycleMethods } from '@xpert-ai/plugin-sdk'; /** * Get plugin entities classes from an array of plugins. * @param plugins An array of plugins containing entity metadata. * @returns An array of entity classes obtained from the provided plugins. */ export declare function getEntitiesFromPlugins(plugins?: Array | DynamicModule>): Array>; /** * Get subscribers from an array of plugins. * @param plugins An array of plugins containing subscriber metadata. * @returns An array of subscriber classes obtained from the provided plugins. */ export declare function getSubscribersFromPlugins(plugins?: Array | DynamicModule>): Array>; /** * Get plugin modules from an array of plugins. * @param plugins An array of plugins. * @returns An array of modules obtained from the provided plugins. */ export declare function getPluginModules(plugins: Array | DynamicModule>): Array>; /** * Checks if a plugin has a specific lifecycle method. * @param plugin The plugin instance to check. * @param lifecycleMethod The lifecycle method to check for. * @returns True if the plugin has the specified lifecycle method, false otherwise. */ export declare function hasLifecycleMethod(plugin: any, lifecycleMethod: M): plugin is { [key in M]: PluginLifecycleMethods[M]; }; /** * Checks if a given type is a DynamicModule. * @param type The type to check. * @returns True if the type is a DynamicModule, false otherwise. */ export declare function isDynamicModule(type: Type | DynamicModule): type is DynamicModule; /** * Reflects metadata from a dynamic module, extracting information about controllers, providers, * imports, and exports. * @param module The dynamic module to reflect metadata from. * @returns An object containing metadata information about controllers, providers, imports, and exports. */ export declare function reflectDynamicModuleMetadata(module: Type): { controllers: any; providers: any; imports: any; exports: any; }; /** * Retrieves dynamic plugin modules based on the configuration. * @returns An array of DynamicModule instances extracted from the configuration. */ export declare function getDynamicPluginsModules(): DynamicModule[];