export type { IAuditLog } from "./audit-log.interface";
export type { AuditEntry, AuditAction, AuditFrom } from "@repo/core-shared/audit";
export { NoopAuditLog } from "./noop-audit-log";
export { StdoutJsonAuditLog } from "./stdout-json-audit-log";
export { PayloadAuditLog } from "./payload-audit-log";
export { MultiSinkAuditLog } from "./multi-sink-audit-log";
export { auditLogsCollection } from "./audit-logs-collection";
export { bindAudit, type BindAuditOpts } from "./di/bind-audit";
export { TraceIdEnrichingAuditLog } from "./trace-id-enriching-audit-log";
export { AUDIT_SYMBOLS } from "./di/symbols";
// Phase 3 — GDPR erasure
export { pseudonymize } from "./pseudonymize";
export {
  createAuditErasureHook,
  type AuditErasureHookOpts,
} from "./hooks/audit-erasure-hook";
// Phase 5 — VIEW capture
export {
  createAuditAfterReadHook,
  type AuditAfterReadHookOpts,
} from "./hooks";
export {
  createAuditRouter,
  auditRouter,
  type AuditRouter,
} from "./integrations/api/router";
export {
  auditProcedure,
  type AdminTrpcUser,
} from "./integrations/api/procedures";
export { withAudit, type Audited } from "./with-audit";
