/**
 * Server-side Plugin Initialization
 *
 * This module provides utilities for loading and registering plugins
 * for the test executor. Plugins can be:
 * 1. Registered manually via registerServerPlugin()
 * 2. Discovered automatically from a plugins folder via discoverPlugins()
 */
import { Plugin } from '../core';
/**
 * Set the plugins directory path
 */
export declare function setPluginsDirectory(dir: string): void;
/**
 * Get the current plugins directory
 */
export declare function getPluginsDirectory(): string;
/**
 * Register a plugin for server-side use
 * This registers the plugin's blocks with the core block registry
 */
export declare function registerServerPlugin(plugin: Plugin): void;
/**
 * Register multiple plugins at once
 */
export declare function registerServerPlugins(plugins: Plugin[]): void;
/**
 * Discover and list available plugins from the plugins directory
 * Returns plugin file names (without extension)
 */
export declare function discoverPlugins(): string[];
/**
 * Load a specific plugin by name from the plugins directory
 */
export declare function loadPlugin(pluginName: string): Promise<Plugin | null>;
/**
 * Load plugins specified in a test file
 */
export declare function loadTestFilePlugins(pluginNames: string[]): Promise<void>;
/**
 * Load all discovered plugins from the plugins directory
 */
export declare function loadAllPlugins(): Promise<void>;
/**
 * Initialize server plugins (call after all plugins are registered)
 */
export declare function initializeServerPlugins(): void;
/**
 * Get all registered server plugins
 */
export declare function getServerPlugins(): Plugin[];
/**
 * Check if a plugin is registered
 */
export declare function isPluginLoaded(pluginName: string): boolean;
