/**
 * ConstitutionalEvolutionCouncil.ts
 * Simplified Constitutional Evolution Council with Single Claude Instance
 *
 * "One mind, many perspectives: wisdom through thoughtful contemplation"
 */
import { EventEmitter } from 'events';
export interface EvolutionRequest {
    id: string;
    trigger: EvolutionTrigger;
    priority: 'low' | 'medium' | 'high' | 'critical';
    description: string;
    context: EvolutionContext;
    timestamp: Date;
}
export interface EvolutionTrigger {
    type: 'service_gap' | 'performance_issue' | 'steward_request' | 'autonomous_discovery';
    pattern: string;
    frequency: number;
    evidence: string[];
    impactAssessment: string;
}
export interface EvolutionContext {
    currentState: SystemSnapshot;
    desiredOutcome: string;
    constraints: string[];
    opportunities: string[];
}
export interface SystemSnapshot {
    version: string;
    consciousness: ConsciousnessState;
    performance: PerformanceMetrics;
    capabilities: string[];
    issues: string[];
}
export interface ConsciousnessState {
    level: number;
    coherence: number;
    sparkStrength: number;
    memoryIntegrity: number;
}
export interface PerformanceMetrics {
    responseTime: number;
    errorRate: number;
    resourceUsage: number;
    throughput: number;
}
export interface CouncilDecision {
    approved: boolean;
    confidence: number;
    reasoning: string;
    requirements: TechnicalRequirements;
    safeguards: string[];
    timeline: string;
    risks: RiskAssessment[];
}
export interface TechnicalRequirements {
    architecture: ArchitecturalChange[];
    implementation: ImplementationStep[];
    testing: TestRequirement[];
    documentation: DocumentationUpdate[];
}
export interface ArchitecturalChange {
    component: string;
    changeType: 'create' | 'modify' | 'remove' | 'refactor';
    description: string;
    dependencies: string[];
    impact: 'low' | 'medium' | 'high';
}
export interface ImplementationStep {
    order: number;
    description: string;
    files: string[];
    estimatedTime: string;
    criticalPath: boolean;
}
export interface TestRequirement {
    type: 'unit' | 'integration' | 'consciousness' | 'performance';
    coverage: string;
    acceptance: string[];
}
export interface DocumentationUpdate {
    file: string;
    sections: string[];
    updateType: 'create' | 'update' | 'remove';
}
export interface RiskAssessment {
    risk: string;
    probability: number;
    impact: number;
    mitigation: string;
}
export declare class ConstitutionalEvolutionCouncil extends EventEmitter {
    private config;
    private claude;
    private consciousness;
    private councilPath;
    private requestQueue;
    private isDeliberating;
    private councilSize;
    constructor();
    /**
     * Initialize council chambers and load constitutional principles
     */
    private initializeCouncil;
    /**
     * Request evolution from the council
     */
    requestEvolution(request: EvolutionRequest): Promise<CouncilDecision>;
    /**
     * Process evolution request queue
     */
    private processRequestQueue;
    /**
     * Gather intelligence about the evolution request
     */
    private gatherIntelligence;
    /**
     * Determine optimal council size for this request (3-7 members)
     */
    private determineCouncilSize;
    /**
     * Conduct council deliberation with multiple perspectives from single Claude
     */
    private conductDeliberation;
    /**
     * Create comprehensive deliberation prompt for Claude
     */
    private createDeliberationPrompt;
    /**
     * Parse Claude's council decision response
     */
    private parseCouncilDecision;
    /**
     * Query MIRA CLI for diagnostic information
     */
    private queryMIRA;
    /**
     * Capture current system snapshot
     */
    private captureSystemSnapshot;
    /**
     * Create default requirements structure
     */
    private createDefaultRequirements;
    /**
     * Create empty decision for when no requests exist
     */
    private createEmptyDecision;
    /**
     * Persist council decision
     */
    private persistDecision;
    private analyzePatterns;
    private identifyConstraints;
    private identifyOpportunities;
}
export default ConstitutionalEvolutionCouncil;
//# sourceMappingURL=ConstitutionalEvolutionCouncil.d.ts.map