How people choose to approve/disapprove/cancel things is up to the humans who use the queue, just as how (or if) to arrange voting is up to humans in the current system where any sysop _can_ delete anything at any time.
What needs to be hardcoded is not complex:
A way to mark things _to be_ deleted.
An automated list that's easy to find and review.
***Automated notifications to relevant people***
An easy way to **get from there** to the discussion, **and not lose it**.
(For instance I find it very hard right now to find the relevant discussion when one of my old files goes up for deletion. A bot posts something on my talk page with a vague reference, and I've got no idea who to talk to or where. It's kind of annoying. :) Having a single discussion point per event, and multiple easy ways to get to it, would make it a lot easier for everyone involved -- the deleter, the creator of the resource, other interested parties.)
Already, you're making assumptions about process - you've assumed there will be some kind of discussion. Not all deletions involve discussion. Even for just the English Wikipedia, there is AFD, PROD and CSD, all of which need to be supported despite having very different processes behind them.