#[cfg(feature = "permission")]
pub mod permission;
pub mod security;
#[cfg(feature = "authentication")]
pub mod authentication;
#[cfg(feature = "permission-engine")]
pub mod permission_engine;
#[cfg(feature = "sql-parser")]
pub mod sql_parser;
#[cfg(feature = "sql-parser")]
pub use security::{DdlGuard, DdlValidationResult};
pub use security::{MaskType, SensitiveError, SensitiveMasker, SensitiveResult};
#[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};