import { BootstrappedPlugin, PluginDefinition, Plugin as PluginType } from '@uxland/harmonix';
import { PrimariaApi } from './api/api';
export type { PluginDefinition, PluginInfo } from '@uxland/harmonix';
export interface PrimariaPlugin extends Plugin {
    startup: (api: PrimariaApi, startupParams: any) => Promise<void>;
}
export interface PrimariaStartupPlugin {
    pluginId: string;
    params: any;
}
interface PrimariaBootstrappedPlugin extends BootstrappedPlugin<PrimariaApi> {
    importedPlugin: PrimariaPlugin;
}
export declare const bootstrapPlugins: (plugins: PluginDefinition[], startup?: PrimariaStartupPlugin) => Promise<void>;
export declare const handleStartupPlugin: (plugins: PrimariaBootstrappedPlugin[], startupPlugin?: PrimariaStartupPlugin) => void;
export declare const disposePlugins: () => Promise<void[]>;
export type Plugin = PluginType<PrimariaApi>;
