import { Plugin } from '../common/types.js'; import { PluginContext } from './types.js'; export interface PluginLoader { load(plugin: string, ctx: PluginContext, settings?: Record): Plugin | Promise; } declare type PluginLoadFn = (ctx: PluginContext, settings?: Record) => Plugin | Promise; export declare class DefaultPluginLoader implements PluginLoader { private _registry; constructor(); protected registerCorePlugins(): void; register(plugin: string, callback: PluginLoadFn): void; unregister(plugin: string): void; load(plugin: string, ctx: PluginContext, settings?: Record): Promise; } export declare class RemotePluginLoader extends DefaultPluginLoader { private bundleLoader; constructor(bundleLoader?: import("./types.js").CustomPluginLoader); load(plugin: string, ctx: PluginContext, settings?: Record): Promise; private loadRemote; } export {};