Sure you can use shading to move everything you don't want in your public API into some other package, or you can use something like ProGuard to obfuscate everything but your intentional public API. However those things will still be public.
The only way to not have those things visible for the user of your library is to only use one package in your implementation.
The only way to not have those things visible for the user of your library is to only use one package in your implementation.