Use an internal struct of an extension `ABExt` in another extension `ABCExt`

For context, the full example I am working on are the two extensions

But I’ll try to narrow that down to an MWE.

If we assume we write an extension to package A when B is loaded. It requires some internal struct like

module ABExt
struct MyStuff{T}
    field::T
end
end

where the MyStuff is mainly an internal boilerplate-wrapper (maybe even <: SomeAbstractTypeFromB) to wrap something from A to be used within B. It provides some basic extension stuff that is nice to have.

Now assume that we can extend this even further as soon as C is loaded. We can surely just do a second extension to A to be

module ABCExt
# [ ... ] where I would like to use `MyStuff` as well
end

C basically has new nice types for T that enables further extension of the functionality to these types. So for best of cases, I would like to use MyStuff{T} for that as well, it would spare me some default functions I already defined in ABExt.
Suce I could do a MyStuff2{T} struct and copy those over to this types as well. But I know that the other one is loaded, since ABExt will be loaded (at some point) when ABCExt.

So is there any way to make MyStuff being known within ABCExt ?

That would be awesome, no only because it would reduce (not much but a bit) of code duplication – but it would also semantically be super nice!

edit: In practice MyStuff is a subtype of some B.Type and has a field with a type from A. For that reason it can not be a struct in the main package A.