import type { PluginRegistration, PluginStateFile } from '../../types/index.js';
/**
 * Reads plugin state from disk.
 */
export declare function readPluginState(dataDir: string): Promise<PluginStateFile>;
/**
 * Writes plugin state to disk.
 */
export declare function writePluginState(dataDir: string, state: PluginStateFile): Promise<void>;
/**
 * Installs a plugin by copying it to the plugins directory.
 */
export declare function installPlugin(sourcePath: string, projectPath: string, dataDir: string): Promise<PluginRegistration>;
/**
 * Activates a plugin: loads module, registers extensions, runs onActivate hook.
 */
export declare function activatePlugin(pluginId: string, projectPath: string, dataDir: string, builtInTools: ReadonlySet<string>): Promise<PluginRegistration>;
/**
 * Deactivates a plugin: unregisters extensions, runs onDeactivate hook.
 */
export declare function deactivatePlugin(pluginId: string, dataDir: string): Promise<PluginRegistration>;
/**
 * Uninstalls a plugin: deactivates if active, removes directory and state.
 */
export declare function uninstallPlugin(pluginId: string, projectPath: string, dataDir: string): Promise<void>;
//# sourceMappingURL=lifecycle.d.ts.map