It appears that operators cannot be explicitly re-exported as in
:- reexport(someModule,[op/3]).
generates a warning something like:
Warning: import/1: system:op/3 is not exported (still imported into someModule)
and any operators remain globally undefined, as the message suggests. But if the whole module is reexported, the operators are exported as well (which is a useful workaround).
I don’t recall whether it works, but this reexports the predicate op/3. The syntax should be op(_,_,_) as with use_module/2 for importing operators. Using this syntax, use_module/2 imports all operators that unify with this term. For example
:- use_module(m, [p/1, op(_,_,::)]).
Would import :: as operator, regardless of its priority and associativity (which may import it as e.g., prefix and infix operator).