import type { RBACOptions, RBACUser } from './types'; /** * Initialize the RBAC system with configuration * @param options - RBAC configuration options */ export declare const initializeRBAC:
(options: RBACOptions
) => void; /** * Check if a user has a specific permission * @param user - The user object to check permissions for * @param permission - The permission to check * @returns boolean indicating if the user has the permission */ export declare const hasPermission:
(user: U | null, permission: P) => boolean; /** * Check if a user has any of the specified permissions * @param user - The user object to check permissions for * @param permissions - Array of permissions to check * @returns boolean indicating if the user has any of the permissions */ export declare const hasAnyPermission:
(user: U | null, permissions: P[]) => boolean; /** * Check if a user has all of the specified permissions * @param user - The user object to check permissions for * @param permissions - Array of permissions to check * @returns boolean indicating if the user has all of the permissions */ export declare const hasAllPermissions:
(user: U | null, permissions: P[]) => boolean; /** * Get all permissions for a user (union of all roles' permissions) * @param user - The user object to get permissions for * @returns Array of permissions the user has */ export declare const getUserPermissions:
(user: U | null) => P[]; /** * Check if a user has a specific role (matches any of their roles) * @param user - The user object to check role for * @param roleName - The role name to check against * @returns boolean indicating if the user has the specified role */ export declare const hasRole: (user: U | null, roleName: string) => boolean; /** * Check if a user has access to IQ Retail */ export declare const hasIQRetailAccess:
(user: U | null) => boolean;