/**
 * ═══════════════════════════════════════════════════════════════════════════
 * Audit Trail — Gestion du consentement (art. 8.1-8.2)
 * ═══════════════════════════════════════════════════════════════════════════
 *
 * Trois actions :
 *   - `grant`   : enregistre un nouveau consentement dans consent_records
 *   - `revoke`  : marque withdrawn_at = now() sur le consentement actif
 *   - `check`   : vérifie la validité d'un consentement pour une finalité
 *
 * Le consentement doit être libre, éclairé, spécifique à une finalité (art. 8.1)
 * et peut être révoqué à tout moment (art. 8.2). Une preuve (evidence) peut être
 * attachée pour audit (hash du message Discord, log, etc.).
 */
import { z } from 'zod';
export declare const auditConsentSchema: z.ZodObject<{
    action: z.ZodEnum<{
        check: "check";
        grant: "grant";
        revoke: "revoke";
    }>;
    data_subject_id: z.ZodString;
    purpose: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    legal_basis: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
        consent: "consent";
        contract: "contract";
        legitimate_interest: "legitimate_interest";
        legal_obligation: "legal_obligation";
    }>>>;
    expires_in_days: z.ZodOptional<z.ZodNumber>;
    evidence: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare function auditConsent(args: z.infer<typeof auditConsentSchema>): Promise<{
    content: {
        type: "text";
        text: string;
    }[];
    isError?: undefined;
} | {
    content: {
        type: "text";
        text: string;
    }[];
    isError: boolean;
}>;
//# sourceMappingURL=audit_consent.d.ts.map