import { ToolsConfig } from './toolConfig';
/**
 * Manager for tool (MCP server) configurations
 * Handles CRUD operations for tool configurations stored in the tools directory
 */
export declare class ToolManager {
    private toolsDir;
    constructor();
    /**
     * List all available tool configurations
     * @returns Array of tool configuration names
     */
    listTools(): Promise<string[]>;
    /**
     * Get a specific tool configuration
     * @param name Tool configuration name
     * @returns Tool configuration object
     * @throws Error if tool configuration not found or invalid
     */
    getTool(name: string): Promise<ToolsConfig>;
    /**
     * Create a new tool configuration
     * @param name Tool configuration name
     * @param config Tool configuration object
     * @throws Error if tool configuration already exists or is invalid
     */
    createTool(name: string, config: ToolsConfig): Promise<void>;
    /**
     * Update an existing tool configuration
     * @param name Tool configuration name
     * @param config Tool configuration object
     * @throws Error if tool configuration not found or is invalid
     */
    updateTool(name: string, config: ToolsConfig): Promise<void>;
    /**
     * Delete a tool configuration
     * @param name Tool configuration name
     * @throws Error if tool configuration not found
     */
    deleteTool(name: string): Promise<void>;
    /**
     * Enable a specific tool or capability
     * @param name Tool configuration name
     * @param toolName Optional specific tool/capability name to enable
     * @throws Error if tool configuration not found
     */
    enableTool(name: string, toolName?: string): Promise<void>;
    /**
     * Disable a specific tool or capability
     * @param name Tool configuration name
     * @param toolName Optional specific tool/capability name to disable
     * @throws Error if tool configuration not found
     */
    disableTool(name: string, toolName?: string): Promise<void>;
    /**
     * Initialize default tool configurations
     * Creates default tool configurations if they don't exist
     */
    initializeDefaults(): Promise<void>;
    /**
     * Get tool configuration with environment variables interpolated
     * @param name Tool configuration name
     * @returns Tool configuration with environment variables resolved
     * @throws Error if tool configuration not found
     */
    getResolvedToolConfig(name: string): Promise<ToolsConfig>;
}
