Can I python a custom sculpting brush?

I mean create a new tool, not just modify the parameters of an existing one.
Here is my desire:
I am sculpting landscapes. Drawing things like ramps, curving roads, etc are very difficult with the existing brushes, which seem to be almost exclusively used to make heads and animals.
I can picture what I want, I just can’t make it happen.
I have a little blender python experience.

For example, a ‘road’ brush would follow a curve, or a ‘rake’ like mode, with displacement along the front/back direction using some average across the domain height, but lateral displacement always constant Z. An adjustable level of averaging etc would control things like the road’s grade (steepness).
This would require full access to the mesh and enough speed to allow work on fairly high poly meshes. Access to the existing brush system might make things simpler because I could borrow one of the existing brushes and tweak it in real-time, or something like that, no need to made a whole new sub-panel.