/**
 * ═══════════════════════════════════════════════════════════════════════════
 * Audit Trail — Hook pour les runners LLM
 * ═══════════════════════════════════════════════════════════════════════════
 *
 * Point d'entrée unique pour appliquer le guard d'audit avant chaque exécution LLM.
 * Évite de modifier les 8 fichiers *Runner.ts individuellement.
 *
 * Appelé par run_agent.ts (dispatcher central).
 */
import type { AuditContext } from './types.js';
export interface RunnerHookResult {
    /** Le runner peut continuer */
    allowed: boolean;
    /** Raison du refus si allowed = false */
    reason?: string;
    /** Contexte audit à propager au storeRun */
    context: AuditContext;
    /** Prompt possiblement sanitizé (si PII filter activé) */
    sanitizedPrompt?: string;
    /** Timestamp d'expiration de rétention pour storeRun */
    retentionExpiresAt: number;
}
/**
 * Applique le guard d'audit avant l'exécution d'un runner LLM.
 *
 * Si OVERMIND_AUDIT_ENABLED=false → pass-through (comportement v3.8).
 * Si true → détecte les RP, valide le consentement, log le transfert.
 *
 * @param runner Nom du runner (claude, gemini, hermes, etc.)
 * @param prompt Prompt envoyé au runner
 * @param agentName Nom de l'agent (optionnel)
 * @returns RunnerHookResult — allowed=false si bloqué par le guard
 */
export declare function auditRunnerHook(runner: string, prompt: string, agentName?: string): Promise<RunnerHookResult>;
/**
 * Enrichit les paramètres de storeRun avec les champs d'audit.
 * À appeler après l'exécution du runner pour persiste le contexte audit.
 */
export declare function enrichStoreRunParams(hookResult: RunnerHookResult): {
    dataSubjectId?: string;
    legalBasis?: string;
    consentRef?: string;
    retentionExpiresAt?: number;
    purpose?: string;
};
//# sourceMappingURL=runner_hook.d.ts.map