import { Namespace, SubjectSet, Context
}

class Resource implements Namespace {
  related: {
    admins: SubjectSet<Role, 'member'>[],
    supervisors: SubjectSet<Role, 'member'>[],
    annotators: SubjectSet<Role, 'member'>[],
    medicalAner: Role[]
  }
}

rse((role) => rolontext
}

class Resource implements Namespace {
  related: {
    admins: SubjectSet<Role, 'member'>[],
    supervisors: SubjectSet<Role, 'member'>[],
    annotators: SubjectSet<Role, 'member'>[],
    medicalAner: Role[]
  }
}

rse((role) => role.related.member.in.related.mspbjectnnotators.traverse((role) => role.related.member.includes(ctx.subject)) ||
      this.related.supervipace, SubjectSet, Context
}

class Resource implements Namespace {
  related: {
    admins: SubjectSet<Role, 'member'>[],
    supervisors: SubjectSet<Role, 'member'>[],
    annotators: SubjectSet<Role, 'member'>[],
    medicalAner: Role[]
  }
}

rse((role) => rolontext
}

class Resource implements Namespace {
  related: {
    admins: SubjectSet<Role, 'member'>[],
    supervisors: SubjectSet<Role, 'member'>[],
    annotators: SubjectSet<Role, 'member'>[],
    medicalAner: Role[]
  }
}

rse((role) => role.related.member.in.related.mspbjectnnotators.tra ||
      this.relatedsors.traverse((role) => role..r