revit-cli
Version:
A scalable CLI tool for Revit communication and data manipulation
65 lines • 1.55 kB
TypeScript
import { Plugin, Tool } from '../types';
/**
* Manages plugin discovery, loading, and tool registration
*/
export declare class PluginManager {
private plugins;
private tools;
private logger;
private pluginDirectories;
private disabledPlugins;
constructor();
/**
* Initialize the plugin manager
*/
initialize(): Promise<void>;
/**
* Discover and load all plugins from configured directories
*/
private discoverAndLoadPlugins;
/**
* Discover plugins in a specific directory
*/
private discoverPluginsInDirectory;
/**
* Validate a plugin at the given path
*/
private validatePlugin;
/**
* Load a plugin from the specified path
*/
private loadPlugin;
/**
* Get all registered tools
*/
getRegisteredTools(): Tool[];
/**
* Get a specific tool by name
*/
getTool(name: string): Tool | undefined;
/**
* List available tools with optional filtering
*/
listTools(typeFilter?: string): Promise<Array<{
name: string;
description: string;
category?: string;
}>>;
/**
* Get all loaded plugins
*/
getLoadedPlugins(): Plugin[];
/**
* Reload all plugins
*/
reloadPlugins(): Promise<void>;
/**
* Set plugin directories
*/
setPluginDirectories(directories: string[]): void;
/**
* Set disabled plugins
*/
setDisabledPlugins(plugins: string[]): void;
}
//# sourceMappingURL=plugin-manager.d.ts.map