You need to implement a custom rule using onEventMoving event handler - in the ASP.NET version it's accessible using EventMovingJavaScript property.
See also:
https://doc.daypilot.org/scheduler/event-moving-customization/
You can get a list of events for a given row using DayPilot.Row.events.all() method:
https://api.daypilot.org/daypilot-row-events-all/
There is also a helper method that will check an overlap of two date ranges - DayPilot.Util.overlaps():
function eventMoving(args) {
var customCondition = args.row.id === "A"; // checking overlaps for row with id === "A" only
if (!customCondition) {
return;
}
var overlaps = args.row.events.all().some(function(e) {
if (e.id() === args.e.id()) { // the target can overlap with the source event
return false;
}
return DayPilot.Util.overlaps(args.e.start(), args.e.end(), e.start(), e.end());
};
if (overlaps) {
args.allowed = false;
}
}