#[cfg(feature = "permission")]
pub mod permission;
pub mod security;
#[cfg(feature = "authentication")]
pub mod authentication;
pub mod injection_engine;
#[cfg(feature = "permission-engine")]
pub mod permission_engine;
#[cfg(feature = "sql-parser")]
pub mod sql_parser;
#[cfg(feature = "data-protection")]
pub mod data_protection;
#[cfg(feature = "data-protection")]
pub mod permission_audit_chain;
#[cfg(all(feature = "permission", feature = "data-protection"))]
pub mod permission_facade;
pub use injection_engine::{InjectionEngine, InjectionRule, RuleCategory};
#[cfg(feature = "sql-parser")]
pub use security::{
AuditingDdlGuard, DdlAuditRecord, DdlGuard, DdlGuardPolicy, DdlValidationResult, DryRunDdlGuard,
};
pub use security::{MaskType, SensitiveError, SensitiveMasker, SensitiveResult};
#[cfg(all(feature = "permission", any(feature = "ladybug", feature = "neo4j")))]
pub use permission::GraphPermissionContext;
#[cfg(feature = "permission")]
pub use permission::{
AdvancedRbacProvider, CacheStats, MemoryPermissionProvider, PermissionAction, PermissionCache,
PermissionCacheConfig, PermissionCheckStats, PermissionCheckStatsSnapshot, PermissionConfig,
PermissionContext, PermissionError, PermissionProvider, PermissionProviderError, RateLimiter,
RbacProvider, RefreshablePermissionProvider, RolePolicy, TablePermission,
YamlPermissionProvider,
};
#[cfg(feature = "authentication")]
pub use authentication::{
AuthCredentials, AuthError, AuthResult, AuthenticationManager, JwtClaims, JwtManager,
PasswordHasher, TokenType, User,
};
#[cfg(all(feature = "sql-parser", not(feature = "permission")))]
pub use sql_parser::PermissionAction;
#[cfg(feature = "sql-parser")]
pub use sql_parser::{SqlOperationType, SqlParser, contains_sql_injection, is_ddl_operation};