Swiftkey has all the features you need bedsides being privacy respecting. Perhaps after setting it up you can use a VPN service to block its internet access. It's a shame you're not on Android, it has much privacy respecting options and in this case you could use Heliboard (with the swipe typing add-on), which has all the features you need.