/**
 * User Role Enums
 *
 * Predefined user roles for EMR system
 */
/**
 * System User Roles
 *
 * Core roles for EMR system functionality
 */
export declare enum UserRole {
    SYSTEM_ADMIN = "system_admin",
    TENANT_ADMIN = "tenant_admin",
    SUPER_ADMIN = "super_admin",
    DOCTOR = "doctor",
    NURSE = "nurse",
    SPECIALIST = "specialist",
    RESIDENT = "resident",
    INTERN = "intern",
    RECEPTIONIST = "receptionist",
    MEDICAL_ASSISTANT = "medical_assistant",
    LAB_TECHNICIAN = "lab_technician",
    PHARMACIST = "pharmacist",
    ADMINISTRATOR = "administrator",
    BILLING_SPECIALIST = "billing_specialist",
    IT_SUPPORT = "it_support",
    HR_MANAGER = "hr_manager",
    PATIENT = "patient",
    GUARDIAN = "guardian",
    FAMILY_MEMBER = "family_member",
    CONSULTANT = "consultant",
    VENDOR = "vendor",
    INSURANCE_PROVIDER = "insurance_provider"
}
/**
 * User Role Categories
 */
export declare enum UserRoleCategory {
    SYSTEM = "system",
    MEDICAL = "medical",
    SUPPORT = "support",
    ADMINISTRATIVE = "administrative",
    PATIENT = "patient",
    EXTERNAL = "external"
}
/**
 * User Role Priority Levels
 */
export declare enum UserRolePriority {
    CRITICAL = "critical",
    HIGH = "high",
    MEDIUM = "medium",
    LOW = "low",
    MINIMAL = "minimal"
}
/**
 * User Role Permissions
 */
export declare enum UserPermission {
    SYSTEM_ACCESS = "system_access",
    TENANT_MANAGEMENT = "tenant_management",
    USER_MANAGEMENT = "user_management",
    ROLE_MANAGEMENT = "role_management",
    PATIENT_READ = "patient_read",
    PATIENT_CREATE = "patient_create",
    PATIENT_UPDATE = "patient_update",
    PATIENT_DELETE = "patient_delete",
    PATIENT_SEARCH = "patient_search",
    MEDICAL_RECORD_READ = "medical_record_read",
    MEDICAL_RECORD_CREATE = "medical_record_create",
    MEDICAL_RECORD_UPDATE = "medical_record_update",
    MEDICAL_RECORD_DELETE = "medical_record_delete",
    APPOINTMENT_READ = "appointment_read",
    APPOINTMENT_CREATE = "appointment_create",
    APPOINTMENT_UPDATE = "appointment_update",
    APPOINTMENT_DELETE = "appointment_delete",
    APPOINTMENT_SCHEDULE = "appointment_schedule",
    BILLING_READ = "billing_read",
    BILLING_CREATE = "billing_create",
    BILLING_UPDATE = "billing_update",
    BILLING_DELETE = "billing_delete",
    REPORT_READ = "report_read",
    REPORT_CREATE = "report_create",
    REPORT_EXPORT = "report_export",
    SETTINGS_READ = "settings_read",
    SETTINGS_UPDATE = "settings_update",
    AUDIT_READ = "audit_read",
    AUDIT_EXPORT = "audit_export"
}
/**
 * User Role Utilities
 */
export declare const UserRoleUtils: {
    /**
     * Get role category
     */
    getCategory(role: UserRole): UserRoleCategory;
    /**
     * Get role priority
     */
    getPriority(role: UserRole): UserRolePriority;
    /**
     * Get default permissions for role
     */
    getDefaultPermissions(role: UserRole): UserPermission[];
    /**
     * Check if role is system role
     */
    isSystemRole(role: UserRole): boolean;
    /**
     * Check if role is medical role
     */
    isMedicalRole(role: UserRole): boolean;
    /**
     * Check if role is administrative role
     */
    isAdministrativeRole(role: UserRole): boolean;
    /**
     * Check if role is patient role
     */
    isPatientRole(role: UserRole): boolean;
    /**
     * Check if role has high priority
     */
    isHighPriority(role: UserRole): boolean;
    /**
     * Get role display name
     */
    getDisplayName(role: UserRole): string;
    /**
     * Get role description
     */
    getDescription(role: UserRole): string;
};
//# sourceMappingURL=UserRole.d.ts.map