Write a design proposal for the basic interfaces of a Smithy service client.
This design document should cover:
- How the service client is configured
- How operation inputs are constructed and provided to operation functions
- How the client middleware stack is exposed and configured
- How operations are defined and exposed on the client