Description
interface.h currently includes many internal structs and functions, which makes it hard to build clean bindings and causes unnecessary CUDA dependencies.
We should separate public and private headers:
- Keep only the C API declarations in
interface.h
- Separate internal/external structs and functions
This will make the public API cleaner and easier to maintain.