/**
 * Enhanced Swarm Coordinator
 * Implements hierarchical model strategy with intelligent task decomposition
 */
import { EventEmitter } from "events";
import { AgentType, SwarmStrategy } from "./types.js";
export interface HierarchicalModelConfig {
    primary: string;
    apply: string;
    review: string;
    threshold: number;
}
export interface ContextWindow {
    files: string[];
    maxTokens: number;
    priority: "immediate" | "extended" | "project" | "semantic";
    chunks: ContextChunk[];
}
export interface ContextChunk {
    content: string;
    type: "function" | "class" | "module" | "test" | "config";
    priority: number;
    tokens: number;
}
export interface TaskComplexityAnalysis {
    complexity: "simple" | "medium" | "complex";
    estimatedTokens: number;
    requiredContext: string[];
    suggestedModel: string;
    agentType: AgentType;
}
export interface ExtendedTaskMetadata {
    complexity?: "simple" | "medium" | "complex";
    suggestedModel?: string;
    estimatedTokens?: number;
    requiredContext?: string[];
}
export declare class EnhancedSwarmCoordinator extends EventEmitter {
    private agents;
    private taskQueue;
    private activeTasksMap;
    private modelConfig;
    private contextCache;
    private strategy;
    constructor(config: {
        modelConfig: HierarchicalModelConfig;
        strategy: SwarmStrategy;
        maxAgents?: number;
    });
    private initializeAgents;
    addObjective(objective: string): Promise<string>;
    private decomposeObjective;
    private analyzeTaskComplexity;
    private extractContextFiles;
    private determineChunkType;
    private processTasks;
    private getNextTask;
    private findBestAgent;
    private prepareContextWindow;
    private determineContextPriority;
    private createContextChunks;
    private calculateChunkPriority;
    private handleAgentTaskCompleted;
    private handleAgentTaskError;
    getStatus(): any;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=cursor-enhanced-coordinator.d.ts.map