pub mod audit;
pub mod composite;
pub mod config;
pub mod error;
pub mod extension;
pub mod hook;
pub mod ingestion;
pub mod registry;
pub mod repository;
pub mod resolver;
pub mod rule_based;
pub mod runtime;
pub mod types;
pub use audit::{
AUDIT_WRITE_FAILED_TOTAL, AuthzAuditSink, AuthzSource, DbAuditSink, GovernanceDecisionRecord,
GovernanceDecisionRepository, NullAuditSink, insert_governance_decision,
};
pub use composite::CompositeAuthzHook;
pub use config::{AccessControlConfig, RuleEntry};
pub use error::{AuthzBootstrapError, AuthzError, AuthzResult};
pub use extension::AuthzExtension;
pub use hook::{AllowAllHook, AuthzDecisionHook, DenyAllHook, SharedAuthzHook, WebhookHook};
pub use ingestion::{AccessControlIngestionService, IngestOptions, IngestReport};
pub use registry::{AuthzHookContext, AuthzHookRegistration, discover_authz_hook};
pub use repository::{AccessControlRepository, UpsertRuleParams};
pub use resolver::{ResolveInput, resolve};
pub use rule_based::RuleBasedHook;
pub use runtime::build_authz_hook;
pub use types::{
Access, AccessRule, AuthzContext, AuthzDecision, AuthzRequest, Decision, DecisionTag,
DenyReason, EntityKind, EntityRef, EntityRow, MatchedBy, RuleType,
};