How to pass a preconditioner to NLopt?

I found very scarce documentation about this.

https://nlopt.readthedocs.io/en/stable/NLopt_Reference/#preconditioning-with-approximate-hessians

This only describes the C interface, and it seems to only support the method LD_CCSAQ.

So how can I pass a preconditioner in Julia? Is it possible to pass a preconditioner to other methods (in particular LBFGS)? Can I pass a sparse Hessian approximation (e.g., a diagonal matrix)?

I also opened a Github issue as a feature request: How to pass preconditioner? · Issue #122 · JuliaOpt/NLopt.jl · GitHub.