22declare(strict_types=1);
 
   29trait PermissibleDelegateTrait{
 
   34    public function setBasePermission(Permission|
string $name, 
bool $grant) : void{
 
   35        $this->perm->setBasePermission($name, $grant);
 
   38    public function unsetBasePermission(Permission|
string $name) : void{
 
   39        $this->perm->unsetBasePermission($name);
 
   42    public function isPermissionSet(Permission|
string $name) : bool{
 
   43        return $this->perm->isPermissionSet($name);
 
   46    public function hasPermission(Permission|
string $name) : bool{
 
   47        return $this->perm->hasPermission($name);
 
   50    public function addAttachment(Plugin $plugin, ?
string $name = 
null, ?
bool $value = 
null) : PermissionAttachment{
 
   51        return $this->perm->addAttachment($plugin, $name, $value);
 
   54    public function removeAttachment(PermissionAttachment $attachment) : void{
 
   55        $this->perm->removeAttachment($attachment);
 
   58    public function recalculatePermissions() : array{
 
   59        return $this->perm->recalculatePermissions();
 
getPermissionRecalculationCallbacks()
 
getEffectivePermissions()