/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import type { DevDynamicImport } from '../Application';
import type { PluginClass } from '../PluginManager';
import type { PluginData } from '../PluginManager';
import type { RequireJS } from './requirejs';
type RemotePluginModule = PluginClass<any> | ({
    default?: PluginClass<any>;
} & Record<string, unknown>);
/**
 * @internal
 */
export declare function defineDevPlugins(plugins: Record<string, RemotePluginModule>): void;
/**
 * @internal
 */
export declare function definePluginClient(packageName: string): void;
/**
 * @internal
 */
export declare function configRequirejs(requirejs: any, pluginData: PluginData[]): void;
/**
 * @internal
 */
export declare function processRemotePlugins(pluginData: PluginData[], resolve: (plugins: [string, PluginClass<any>][]) => void): (...pluginModules: (PluginClass<any> & {
    default?: PluginClass<any>;
})[]) => void;
/**
 * @internal
 */
export declare function getRemotePlugins(requirejs: any, pluginData?: PluginData[]): Promise<Array<[string, PluginClass<any>]>>;
interface GetPluginsOption {
    requirejs: RequireJS;
    pluginData: PluginData[];
    devDynamicImport?: DevDynamicImport;
}
/**
 * @internal
 */
export declare function getPlugins(options: GetPluginsOption): Promise<Array<[string, PluginClass<any>]>>;
export {};
