/**
 * Specialized Language/Framework Agents (Item 102)
 * Agents optimized for specific languages and frameworks
 */
import { EventEmitter } from 'events';
export type Language = 'typescript' | 'javascript' | 'python' | 'rust' | 'go' | 'java' | 'csharp';
export type Framework = 'react' | 'vue' | 'angular' | 'nextjs' | 'express' | 'fastapi' | 'django';
export interface AgentCapability {
    languages: Language[];
    frameworks: Framework[];
    specialties: string[];
}
export interface SpecializedAgent {
    id: string;
    name: string;
    description: string;
    capabilities: AgentCapability;
    systemPrompt: string;
    examples: Array<{
        input: string;
        output: string;
    }>;
}
export declare class SpecializedAgentManager extends EventEmitter {
    private agents;
    private currentAgent;
    constructor();
    getAgents(): SpecializedAgent[];
    getAgent(id: string): SpecializedAgent | undefined;
    selectAgentForLanguage(language: Language): SpecializedAgent | undefined;
    selectAgentForFramework(framework: Framework): SpecializedAgent | undefined;
    autoSelectAgent(context: {
        language?: Language;
        framework?: Framework;
    }): SpecializedAgent | undefined;
    setCurrentAgent(id: string): boolean;
    getCurrentAgent(): SpecializedAgent | null;
    registerAgent(agent: SpecializedAgent): void;
}
export declare function getSpecializedAgentManager(): SpecializedAgentManager;
export default SpecializedAgentManager;
