/**
 * ╔══════════════════════════════════════════════════════════════════════╗
 * ║   OVERMIND BRIDGE — OverBridgeService (Base Client SDK Wrapper)      ║
 * ║                                                                      ║
 * ║   [SCRIPT DE BASE - CLIENT SDK WRAPPER]                              ║
 * ║   API haut niveau pour interagir avec les agents, la mémoire, les    ║
 * ║   runs, et les sessions. Wrappe BridgeProxy pour offrir une          ║
 * ║   interface client simple et robuste (SDK).                          ║
 * ║                                                                      ║
 * ║   ARCHITECTURE                                                       ║
 * ║   ─────────────                                                      ║
 * ║   App/Client SDK → OverBridgeService → BridgeProxy → Overmind MCP    ║
 * ╚══════════════════════════════════════════════════════════════════════╝
 */
import type { AgentResult, RunAgentOptions, AgentControlOptions, MemorySearchOptions, MemoryStoreOptions, MemoryRunsOptions, UpdateAgentConfigOptions, CreatePromptOptions, EditPromptOptions, BridgeConfig, SessionState, RunnerType, HealthStatus } from './types.js';
import { BridgeProxy } from './BridgeProxy.js';
import { type BridgeLogger } from './utils.js';
export declare class OverBridgeService {
    private readonly proxy;
    private session;
    private heartbeatInterval;
    constructor(config?: Partial<BridgeConfig>, logger?: BridgeLogger, initialSessionId?: string);
    get proxyAccess(): BridgeProxy;
    get sessionId(): string | undefined;
    get sessionInfo(): SessionState;
    /**
     * Initialise la connexion au serveur MCP, vérifie la santé initiale
     * et configure éventuellement un heartbeat périodique.
     */
    connect(healthCheckIntervalMs?: number): Promise<HealthStatus>;
    /**
     * Ferme proprement le service en annulant le heartbeat actif.
     */
    disconnect(): void;
    /** Force un reset de session — le prochain appel démarre une nouvelle session */
    resetSession(): void;
    /** Force un sessionId spécifique (ex: reçu d'un env var) */
    setSession(id: string): void;
    private updateSession;
    /**
     * Exécute un agent via `run_agent`.
     * Gère automatiquement la session continuity.
     */
    runAgent(options: RunAgentOptions): Promise<AgentResult>;
    /**
     * Raccourci : run agent avec contexte Discord auto-formaté.
     */
    runAgentForDiscord(agentName: string, runner: RunnerType, message: string, discordContext: {
        channelId?: string;
        userId?: string;
        username?: string;
    }): Promise<AgentResult>;
    private _processAgentResponse;
    /** Status d'un agent en cours */
    agentStatus(options: AgentControlOptions): Promise<AgentResult>;
    /** Kill un agent */
    killAgent(agentName: string, runner?: RunnerType): Promise<AgentResult>;
    /** Recherche sémantique dans la mémoire Overmind */
    memorySearch(options: MemorySearchOptions): Promise<AgentResult>;
    /** Stocke une connaissance dans la mémoire Overmind */
    memoryStore(options: MemoryStoreOptions): Promise<AgentResult>;
    /** Historique et statistiques des runs en mémoire */
    memoryRuns(options?: MemoryRunsOptions): Promise<AgentResult>;
    /** Liste tous les agents disponibles */
    listAgents(details?: boolean): Promise<AgentResult>;
    /** Crée un nouvel agent */
    createAgent(name: string, runner: RunnerType, prompt: string, model?: string, copyEnvFrom?: string, mode?: string, cliPath?: string): Promise<AgentResult>;
    /** Supprime un agent */
    deleteAgent(name: string): Promise<AgentResult>;
    /** Récupère la configuration détaillée d'un agent */
    getAgentConfigs(name: string): Promise<AgentResult>;
    /** Met à jour la configuration d'un agent */
    updateAgentConfig(options: UpdateAgentConfigOptions): Promise<AgentResult>;
    /** Crée ou écrase un fichier prompt */
    createPrompt(options: CreatePromptOptions): Promise<AgentResult>;
    /** Modifie un prompt par recherche-remplacement */
    editPrompt(options: EditPromptOptions): Promise<AgentResult>;
    /** Lance plusieurs agents en parallèle via run_agents_parallel */
    runParallel(agents: Array<{
        taskId?: string;
        runner: RunnerType;
        prompt: string;
        agentName: string;
        path?: string;
        model?: string;
        mode?: string;
    }>, waitAll?: boolean): Promise<AgentResult>;
    /** Recherche séquentielle groupée en mémoire */
    batchSearch(queries: string[], agentName?: string, limit?: number): Promise<AgentResult[]>;
    /** Stockage séquentiel groupé en mémoire */
    batchStore(texts: Array<{
        text: string;
        source?: 'user' | 'agent' | 'pattern' | 'error' | 'decision';
    }>, agentName?: string): Promise<AgentResult[]>;
    /** Appel MCP raw — pour les tools non wrappés */
    rawCall(toolName: string, args: Record<string, unknown>, timeoutMs?: number): Promise<AgentResult>;
}
//# sourceMappingURL=OverBridgeService.d.ts.map