import { ILowCodePluginManager } from '@alilc/lowcode-designer';
import { IPublicApiPlugins, IPublicModelPluginInstance, IPublicTypePlugin, IPublicTypePluginRegisterOptions, IPublicTypePreferenceValueType } from '@alilc/lowcode-types';
import { PluginInstance as ShellPluginInstance } from '../model';
import { pluginsSymbol } from '../symbols';
declare const innerPluginsSymbol: unique symbol;
export declare class Plugins implements IPublicApiPlugins {
    workspaceMode: boolean;
    private readonly [innerPluginsSymbol];
    get [pluginsSymbol](): ILowCodePluginManager;
    constructor(plugins: ILowCodePluginManager, workspaceMode?: boolean);
    register(pluginModel: IPublicTypePlugin, options?: any, registerOptions?: IPublicTypePluginRegisterOptions): Promise<void>;
    init(registerOptions: any): Promise<void>;
    getPluginPreference(pluginName: string): Record<string, IPublicTypePreferenceValueType> | null | undefined;
    get(pluginName: string): IPublicModelPluginInstance | null;
    getAll(): ShellPluginInstance[];
    has(pluginName: string): boolean;
    delete(pluginName: string): Promise<any>;
    toProxy(): this;
}
export {};
