import type { Octokit } from '@octokit/rest'; import type { MCPToolDefinition, ToolResult } from './types.js'; /** * Preset configurations for different use cases * Each preset stays under ~100 tools for Claude Desktop compatibility */ export declare const PRESETS: Record; /** * Default preset for Claude Desktop compatibility */ export declare const DEFAULT_PRESET = "core"; /** * Tool generator that manages tool loading and execution */ export declare class ToolGenerator { private handlers; private definitions; private loadedCategories; /** * Load specified categories (or defaults if none specified) * @param categoryNames - Array of category names to load */ loadCategories(categoryNames?: string[]): void; /** * Get all tool definitions for MCP ListTools response */ getTools(): MCPToolDefinition[]; /** * Execute a tool by name * @param octokit - Authenticated Octokit instance * @param name - Tool name * @param args - Tool arguments */ executeTool(octokit: Octokit, name: string, args: Record): Promise; /** * Get list of available category names */ static getAvailableCategories(): string[]; /** * Get list of available preset names */ static getAvailablePresets(): string[]; /** * Get categories for a preset */ static getPresetCategories(preset: string): string[] | undefined; /** * Get preset descriptions for help text */ static getPresetDescriptions(): string; /** * Get count of loaded tools */ getToolCount(): number; } /** * Create and initialize a tool generator * @param categories - Optional array of category names to load */ export declare function createToolGenerator(categories?: string[]): ToolGenerator;