/**
 * entanglement.ts
 *
 * Functions for managing quantum entanglement groups in the Quantum Swarm Orchestrator.
 * Provides utilities for creating, monitoring, and optimizing agent entanglement.
 */
import QuantumSwarmClient, { SwarmAgent, EntanglementGroup, WorkflowInsight } from './index.js';
/**
 * Interface for entanglement compatibility between agents
 */
export interface AgentCompatibility {
    agentPair: [string, string];
    compatibilityScore: number;
    complementaryFactor: number;
    historicalSuccessRate: number;
    entanglementHistory: number;
    specialtyAlignment: number;
}
/**
 * Interface for entanglement optimization options
 */
export interface EntanglementOptimizationOptions {
    minCompatibilityScore?: number;
    preferComplementaryAgents?: boolean;
    maxGroupSize?: number;
    enforceCrossInstanceDiversity?: boolean;
    prioritizeSpecializations?: string[];
}
/**
 * Class providing enhanced entanglement management capabilities
 */
export declare class EntanglementManager {
    private client;
    /**
     * Creates a new EntanglementManager
     * @param client The quantum swarm client
     */
    constructor(client: QuantumSwarmClient);
    /**
     * Calculates compatibility between two agents
     * @param agent1 The first agent
     * @param agent2 The second agent
     * @returns Compatibility score and factors
     */
    calculateAgentCompatibility(agent1: SwarmAgent, agent2: SwarmAgent): AgentCompatibility;
    /**
     * Creates optimal entanglement groups from a set of agents
     * @param agents The agents to create entanglement groups from
     * @param options Options for optimizing entanglement groups
     * @returns Array of optimized entanglement groups
     */
    createOptimalEntanglementGroups(agents: SwarmAgent[], options?: EntanglementOptimizationOptions): EntanglementGroup[];
    /**
     * Calculates coherence metrics for an entanglement group
     * @param group The entanglement group
     * @param insights Insights shared within the group
     * @returns Updated coherence metrics
     */
    calculateCoherenceMetrics(group: EntanglementGroup, insights?: WorkflowInsight[]): EntanglementGroup['coherenceMetrics'];
    /**
     * Updates an entanglement group with a new insight
     * @param group The entanglement group to update
     * @param insight The new insight to add
     * @returns Updated entanglement group
     */
    updateGroupWithInsight(group: EntanglementGroup, insight: WorkflowInsight): EntanglementGroup;
    /**
     * Optimizes existing entanglement groups based on performance
     * @param groups Current entanglement groups
     * @param agents All available agents
     * @param insights Insights generated by these groups
     * @returns Optimized entanglement groups
     */
    optimizeEntanglementGroups(groups: EntanglementGroup[], agents: SwarmAgent[], insights: WorkflowInsight[]): EntanglementGroup[];
}
export default EntanglementManager;
//# sourceMappingURL=entanglement.d.ts.map