This code compiles but fails to serialize as Record<String, PartialTransition> in the type definition:
#[typeshare::typeshare]
#[typeshare::typeshare(serialized_as = "Record<String, PartialTransition>")]
pub type AttributeTransitions = HashMap<Attribute, PartialTransition>;
I believe this is because typeshare does its own source code parsing and doesn't depend on the rust compiler's representation of objects. If so, it should support its own fully-qualified name as well.