/**
 * ╔══════════════════════════════════════════════════════════════════════╗
 * ║   OVERMIND BRIDGE — BridgeHttpClient (JSON-RPC 2.0 HTTP Caller)     ║
 * ║                                                                      ║
 * ║   Client HTTP minimaliste pour parler à un OverBridgeServer.         ║
 * ║   Utilisé par le CLI pour les commandes 'call', 'scenario', etc.     ║
 * ║   Supporte :                                                          ║
 * ║     - Single + batch JSON-RPC 2.0                                    ║
 * ║     - Auth Bearer token                                              ║
 * ║     - Timeout configurable                                            ║
 * ║     - Mode "auto" : démarre un bridge local si pas de serveur       ║
 * ╚══════════════════════════════════════════════════════════════════════╝
 */
export interface JsonRpcCallRequest {
    jsonrpc: '2.0';
    id: number | string;
    method: string;
    params?: Record<string, unknown>;
}
export interface JsonRpcCallResponse {
    jsonrpc: '2.0';
    id: number | string | null;
    result?: unknown;
    error?: {
        code: number;
        message: string;
        data?: unknown;
    };
}
export interface BridgeHttpClientConfig {
    /** URL complète du serveur (ex: http://127.0.0.1:3100) */
    baseUrl: string;
    /** Bearer token (si configuré côté serveur) */
    authToken?: string;
    /** Timeout par défaut en ms (default: 60_000) */
    timeoutMs?: number;
}
export declare class BridgeHttpClient {
    private readonly config;
    private rpcId;
    constructor(config: BridgeHttpClientConfig);
    get baseUrl(): string;
    /**
     * Appelle une méthode JSON-RPC et retourne le résultat (ou throw).
     * Retry automatique sur erreurs transitoires (ECONNRESET, ETIMEDOUT, 5xx).
     */
    call<T = unknown>(method: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<T>;
    /**
     * Batch JSON-RPC (plusieurs calls en un round-trip).
     */
    callBatch<T = unknown>(calls: Array<{
        method: string;
        params?: Record<string, unknown>;
    }>): Promise<T[]>;
    /**
     * GET /health (pas JSON-RPC, endpoint séparé).
     */
    health(): Promise<unknown>;
    private _post;
    private _get;
}
//# sourceMappingURL=BridgeHttpClient.d.ts.map