/**
 * AI Tool Discovery System - Make tools completely discoverable by AI models
 *
 * This system ensures AI models can discover, understand, and use all debugging tools
 * without requiring explicit user instructions about tool capabilities.
 */
export interface AIToolMetadata {
    name: string;
    category: string;
    purpose: string;
    aiDescription: string;
    useWhenUser: string[];
    autoTriggerSignals: string[];
    requiredParameters: Array<{
        name: string;
        type: string;
        description: string;
        aiHint: string;
        examples: string[];
    }>;
    optionalParameters: Array<{
        name: string;
        type: string;
        description: string;
        aiHint: string;
        defaultValue: any;
    }>;
    commonWorkflows: Array<{
        scenario: string;
        steps: string[];
        expectedOutcome: string;
    }>;
    aiUsageExamples: Array<{
        userRequest: string;
        reasoning: string;
        toolCall: any;
        expectedResult: string;
    }>;
    troubleshooting: Array<{
        issue: string;
        solution: string;
        preventiveMeasures: string[];
    }>;
    integrationTips: {
        worksBestWith: string[];
        shouldNotUseWith: string[];
        sequenceRecommendations: string[];
    };
}
export declare class AIToolDiscovery {
    private toolMetadata;
    private categoryIndex;
    private signalIndex;
    private initialized;
    private hierarchicalMode;
    constructor(hierarchicalMode?: boolean);
    private initializeToolMetadata;
    private registerOrchestratorTools;
    private registerTool;
    private buildIndexes;
    /**
     * Get comprehensive tool information for AI models
     */
    getToolMetadata(toolName: string): AIToolMetadata | null;
    /**
     * Get all tools with AI-friendly descriptions
     */
    getAllToolsForAI(): Array<{
        name: string;
        metadata: AIToolMetadata;
    }>;
    /**
     * Suggest tools based on user input or context
     */
    suggestToolsForInput(userInput: string): Array<{
        toolName: string;
        confidence: number;
        reasoning: string;
        suggestedParameters: any;
    }>;
    private generateParameterSuggestions;
    /**
     * Generate AI-friendly tool documentation
     */
    generateAIDocumentation(): string;
    private formatToolForAI;
    /**
     * Determine if sub-agent delegation should be automatic
     */
    shouldAutoDelegate(userInput: string): {
        delegate: boolean;
        agentType?: string;
        reasoning?: string;
    };
    /**
     * Get workflow suggestions for complex scenarios
     */
    suggestWorkflow(scenario: string): Array<{
        toolSequence: string[];
        reasoning: string;
        expectedOutcome: string;
        autoDelegate?: {
            shouldDelegate: boolean;
            agentType?: string;
            reasoning?: string;
        };
    }>;
}
//# sourceMappingURL=ai-tool-discovery.d.ts.map