export interface CustomTool {
    id: string;
    name: string;
    description: string;
    version: string;
    author: string;
    category: 'api' | 'ui' | 'database' | 'file' | 'custom';
    template: string;
    dependencies: string[];
    config: Record<string, any>;
    enabled: boolean;
    path: string;
}
export interface ToolTemplate {
    name: string;
    description: string;
    category: string;
    template: string;
    dependencies: string[];
    configSchema: Record<string, any>;
}
export declare class CustomToolsManager {
    private configManager;
    private toolsDir;
    private templatesDir;
    constructor();
    /**
     * Initialize custom tools system
     */
    initialize(): Promise<void>;
    /**
     * Create a new custom tool
     */
    createTool(toolId: string, options?: {
        template?: string;
        name?: string;
        description?: string;
        category?: string;
        author?: string;
    }): Promise<CustomTool>;
    /**
     * List all custom tools
     */
    listTools(verbose?: boolean): Promise<CustomTool[]>;
    /**
     * Validate all custom tools
     */
    validateTools(): Promise<{
        valid: CustomTool[];
        invalid: string[];
    }>;
    /**
     * Validate a single tool
     */
    validateTool(tool: CustomTool): Promise<void>;
    /**
     * Enable/disable a tool
     */
    toggleTool(toolId: string, enabled: boolean): Promise<void>;
    /**
     * Delete a tool
     */
    deleteTool(toolId: string): Promise<void>;
    /**
     * Get available templates
     */
    getTemplates(): Promise<ToolTemplate[]>;
    /**
     * Create default templates
     */
    private createDefaultTemplates;
    /**
     * Create template files
     */
    private createTemplateFiles;
    /**
     * Create basic template files
     */
    private createBasicTemplate;
    /**
     * Create API template files
     */
    private createApiTemplate;
    /**
     * Create UI template files
     */
    private createUiTemplate;
    /**
     * Create database template files
     */
    private createDatabaseTemplate;
    /**
     * Copy template files to tool directory
     */
    private copyTemplateFiles;
    /**
     * Create tool configuration
     */
    private createToolConfig;
    /**
     * Create tool implementation
     */
    private createToolImplementation;
}
//# sourceMappingURL=CustomToolsManager.d.ts.map