Create a REST API endpoint for user management with the following operations:
- GET /users - List all users
- GET /users/:id - Get user by ID
- POST /users - Create new user
- PUT /users/:id - Update user
- DELETE /users/:id - Delete user
Requirements:
- Use Express.js
- Include input validation
- Add error handling
- Return appropriate HTTP status codes
- Use TypeScript