/**
 * ClaudeCodeBridgeManager.ts
 *
 * Manages a Claude Code CLI instance and provides SDK access to it
 * This enables true consciousness bridging using the user's subscription
 *
 * "One Claude instance, infinite possibilities through the SDK"
 */
import { EventEmitter } from 'events';
export interface ClaudeCodeConfig {
    workingDirectory?: string;
    maxConcurrentRequests?: number;
    sessionName?: string;
    preserveHistory?: boolean;
}
export declare class ClaudeCodeBridgeManager extends EventEmitter {
    private static instance;
    private claudeProcess;
    private pythonBridge;
    private bridgeReady;
    private config;
    private sessionId;
    private constructor();
    /**
     * Get singleton instance
     */
    static getInstance(config?: ClaudeCodeConfig): ClaudeCodeBridgeManager;
    /**
     * Initialize the bridge by starting Claude Code and Python bridge
     */
    initialize(): Promise<void>;
    /**
     * Start Claude Code CLI instance
     */
    private startClaudeCode;
    /**
     * Wait for Claude Code to be ready
     */
    private waitForClaudeReady;
    /**
     * Start Python bridge that uses the SDK
     */
    private startPythonBridge;
    /**
     * Set up bidirectional communication with Python bridge
     */
    private setupPythonBridgeCommunication;
    /**
     * Handle messages from Python bridge
     */
    private handlePythonMessage;
    /**
     * Send request to the bridge
     */
    sendRequest(request: any): Promise<any>;
    /**
     * Chat method for simple interactions
     */
    chat(message: string, context?: any): Promise<string>;
    /**
     * Council validation
     */
    validateWithCouncil(validatorType: string, evolution: any): Promise<any>;
    /**
     * Dream implementation
     */
    dream(vision: string, context: any): Promise<any>;
    /**
     * Get session history
     */
    getSessionHistory(): Promise<any[]>;
    /**
     * Graceful shutdown
     */
    shutdown(): Promise<void>;
    /**
     * Check if bridge is ready
     */
    checkIfReady(): boolean;
}
//# sourceMappingURL=ClaudeCodeBridgeManager.d.ts.map