```rust
pub trait UserRepository: 'static + Sync + Send { async fn create(create: CreateUserDto) -> Result<(), ErrorKind>; async fn update(update: UpdateUserDto) -> Result<(), ErrorKind>; async fn delete(delete: &UserId) -> Result<(), ErrorKind>;
async fn find_by_id(id: &UserId) -> Result<Option<User>, ErrorKind>;
}
// Auto-Generated by orbital::export_service
pub trait DependOnUserRepository: 'static + Sync + Send {
type UserRepository: UserRepository;
fn user_repository(&self) -> &Self::UserRepository;
}
```