/**
 * Quantum Swarm Orchestrator Client
 *
 * A JavaScript client library for interacting with the Quantum Swarm Orchestrator API.
 * This library provides methods for registering agents, creating workflows,
 * contributing insights, building consensus, and more.
 */
export interface SwarmAgent {
    id: string;
    name: string;
    drupalInstanceId?: string;
    capabilities: string[];
    quantumAffinity: number;
    entanglementCapacity: number;
    currentEntanglements: string[];
    specializationScores: Record<string, number>;
    quantumState: {
        superposition: number;
        coherence: number;
        entanglement: number;
    };
}
export interface CognitiveWorkflow {
    id: string;
    name: string;
    description: string;
    status: 'initializing' | 'in_progress' | 'completed' | 'failed';
    createdAt: Date;
    updatedAt: Date;
    completedAt?: Date;
    agentIds: string[];
    phases: WorkflowPhase[];
    insights: WorkflowInsight[];
    metrics: {
        coherenceLevel: number;
        consensusRate: number;
        emergenceIntensity: number;
        quantumAdvantage: number;
    };
}
export interface WorkflowPhase {
    id: string;
    name: string;
    status: 'pending' | 'in_progress' | 'completed' | 'failed';
    startedAt?: Date;
    completedAt?: Date;
    assignedAgents: string[];
    entanglementGroups: string[][];
    contributionScores: Record<string, number>;
    phaseResults: any;
}
export interface WorkflowInsight {
    id: string;
    type: 'convergence' | 'divergence' | 'emergence' | 'quantum_leap' | 'consensus';
    description: string;
    contributingAgents: string[];
    confidenceScore: number;
    timestamp: Date;
    content: any;
    relatedPatterns: string[];
    verificationStatus: 'unverified' | 'partially_verified' | 'verified';
}
export interface EntanglementGroup {
    id: string;
    agentIds: string[];
    entanglementStrength: number;
    entanglementType: 'direct' | 'workflow' | 'insight' | 'emergent';
    createdAt: Date;
    lastInteractionAt: Date;
    interactionCount: number;
    sharedInsights: string[];
    coherenceMetrics: {
        phaseAlignment: number;
        informationTransfer: number;
        correlationStrength: number;
    };
}
export interface ConsensusConfiguration {
    minAgents: number;
    threshold: number;
    maxRounds: number;
    weightByQuantumAffinity: boolean;
    weightBySpecialization: boolean;
    timeoutMs: number;
}
export interface QuantumSwarmClientConfig {
    drupalBaseUrl?: string;
    apiBasePath?: string;
    headers?: Record<string, string>;
    timeout?: number;
}
/**
 * Client for interacting with the Quantum Swarm Orchestrator API
 */
export declare class QuantumSwarmClient {
    private config;
    /**
     * Creates a new QuantumSwarmClient
     * @param config Configuration options for the client
     */
    constructor(config?: QuantumSwarmClientConfig);
    /**
     * Registers a new agent with the quantum swarm orchestrator
     * @param agent The agent to register
     */
    registerAgent(agent: Omit<SwarmAgent, 'quantumState' | 'currentEntanglements'>): Promise<SwarmAgent>;
    /**
     * Creates a new cognitive workflow that orchestrates multiple quantum thought processes
     * @param name Name of the workflow
     * @param description Description of the workflow
     * @param agentIds Specific agent IDs to include, or leave empty for automatic selection
     * @param specializationAreas Areas of specialization needed for this workflow
     */
    createCognitiveWorkflow(name: string, description: string, agentIds?: string[], specializationAreas?: string[]): Promise<CognitiveWorkflow>;
    /**
     * Contributes an insight from an agent to a cognitive workflow
     * @param workflowId The ID of the workflow
     * @param agentId The ID of the contributing agent
     * @param insightType The type of insight
     * @param insightContent The content of the insight
     * @param confidence The confidence level for this insight (0-1)
     */
    contributeInsight(workflowId: string, agentId: string, insightType: WorkflowInsight['type'], insightContent: any, confidence?: number): Promise<WorkflowInsight>;
    /**
     * Initiates a consensus-building process within a cognitive workflow
     * @param workflowId The ID of the workflow
     * @param topic The topic to reach consensus on
     * @param options Consensus configuration options
     */
    initiateConsensus(workflowId: string, topic: string, options?: Partial<ConsensusConfiguration>): Promise<any>;
    /**
     * Specializes an agent for specific types of quantum thought processes
     * @param agentId The ID of the agent to specialize
     * @param specializations Specialization areas and scores (0-1)
     */
    specializeAgent(agentId: string, specializations: Record<string, number>): Promise<SwarmAgent>;
    /**
     * Gets the status of a cognitive workflow
     * @param workflowId The ID of the workflow
     */
    getWorkflowStatus(workflowId: string): Promise<CognitiveWorkflow | null>;
    /**
     * Gets all insights from a cognitive workflow
     * @param workflowId The ID of the workflow
     */
    getWorkflowInsights(workflowId: string): Promise<WorkflowInsight[]>;
    /**
     * Gets entanglement metrics for the quantum swarm
     */
    getEntanglementMetrics(): Promise<any>;
    /**
     * Helper method to parse API responses
     */
    private parseResponse;
    /**
     * Helper method to parse date strings in the response
     */
    private parseDates;
    /**
     * Helper method to handle errors
     */
    private handleError;
}
export default QuantumSwarmClient;
//# sourceMappingURL=index.d.ts.map