As stated in the other answer, this is not possible unless you search for every item and compare their ID's one by one. Depending on the number of itens in your box, this may take longer or may not matter at all.
One example of this unoptimized way would be:
deleteItem(int id) {
final box = Hive.box<Delivery>("deliveries");
final Map<dynamic, Delivery> deliveriesMap = box.toMap();
dynamic desiredKey;
deliveriesMap.forEach((key, value){
if (value.id == id)
desiredKey = key;
});
box.delete(desiredKey);
}
What this code does is to turn the Box class into a Map, using the toMap() method. With a map in hands, we iterate through every entry on it, checking which one has the specific ID and keep record of that. After that we just delete the found key using the delete() method. You can read more about iterating through Maps here..
Keep in mind that this is only an example. If you try to use this you probably will need to check if there is really an item with the ID you are searching for. If it's the case, you also need to check for multiple values with the same ID in your Box.