google_cloud_discoveryengine_v1/
stub.rs

1// Copyright 2025 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Code generated by sidekick. DO NOT EDIT.
16
17//! Traits to mock the clients in this library.
18//!
19//! Application developers may need to mock the clients in this library to test
20//! how their application works with different (and sometimes hard to trigger)
21//! client and service behavior. Such test can define mocks implementing the
22//! trait(s) defined in this module, initialize the client with an instance of
23//! this mock in their tests, and verify their application responds as expected.
24
25#![allow(rustdoc::broken_intra_doc_links)]
26
27pub(crate) mod dynamic;
28
29/// Defines the trait used to implement [super::client::AssistantService].
30///
31/// Application developers may need to implement this trait to mock
32/// `client::AssistantService`.  In other use-cases, application developers only
33/// use `client::AssistantService` and need not be concerned with this trait or
34/// its implementations.
35///
36/// Services gain new RPCs routinely. Consequently, this trait gains new methods
37/// too. To avoid breaking applications the trait provides a default
38/// implementation of each method. Most of these implementations just return an
39/// error.
40#[cfg(feature = "assistant-service")]
41#[cfg_attr(docsrs, doc(cfg(feature = "assistant-service")))]
42pub trait AssistantService: std::fmt::Debug + Send + Sync {
43    /// Implements [super::client::AssistantService::list_operations].
44    fn list_operations(
45        &self,
46        _req: longrunning::model::ListOperationsRequest,
47        _options: gax::options::RequestOptions,
48    ) -> impl std::future::Future<
49        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
50    > + Send {
51        gaxi::unimplemented::unimplemented_stub()
52    }
53
54    /// Implements [super::client::AssistantService::get_operation].
55    fn get_operation(
56        &self,
57        _req: longrunning::model::GetOperationRequest,
58        _options: gax::options::RequestOptions,
59    ) -> impl std::future::Future<
60        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
61    > + Send {
62        gaxi::unimplemented::unimplemented_stub()
63    }
64
65    /// Implements [super::client::AssistantService::cancel_operation].
66    fn cancel_operation(
67        &self,
68        _req: longrunning::model::CancelOperationRequest,
69        _options: gax::options::RequestOptions,
70    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
71        gaxi::unimplemented::unimplemented_stub()
72    }
73}
74
75/// Defines the trait used to implement [super::client::CmekConfigService].
76///
77/// Application developers may need to implement this trait to mock
78/// `client::CmekConfigService`.  In other use-cases, application developers only
79/// use `client::CmekConfigService` and need not be concerned with this trait or
80/// its implementations.
81///
82/// Services gain new RPCs routinely. Consequently, this trait gains new methods
83/// too. To avoid breaking applications the trait provides a default
84/// implementation of each method. Most of these implementations just return an
85/// error.
86#[cfg(feature = "cmek-config-service")]
87#[cfg_attr(docsrs, doc(cfg(feature = "cmek-config-service")))]
88pub trait CmekConfigService: std::fmt::Debug + Send + Sync {
89    /// Implements [super::client::CmekConfigService::update_cmek_config].
90    fn update_cmek_config(
91        &self,
92        _req: crate::model::UpdateCmekConfigRequest,
93        _options: gax::options::RequestOptions,
94    ) -> impl std::future::Future<
95        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
96    > + Send {
97        gaxi::unimplemented::unimplemented_stub()
98    }
99
100    /// Implements [super::client::CmekConfigService::get_cmek_config].
101    fn get_cmek_config(
102        &self,
103        _req: crate::model::GetCmekConfigRequest,
104        _options: gax::options::RequestOptions,
105    ) -> impl std::future::Future<
106        Output = crate::Result<gax::response::Response<crate::model::CmekConfig>>,
107    > + Send {
108        gaxi::unimplemented::unimplemented_stub()
109    }
110
111    /// Implements [super::client::CmekConfigService::list_cmek_configs].
112    fn list_cmek_configs(
113        &self,
114        _req: crate::model::ListCmekConfigsRequest,
115        _options: gax::options::RequestOptions,
116    ) -> impl std::future::Future<
117        Output = crate::Result<gax::response::Response<crate::model::ListCmekConfigsResponse>>,
118    > + Send {
119        gaxi::unimplemented::unimplemented_stub()
120    }
121
122    /// Implements [super::client::CmekConfigService::delete_cmek_config].
123    fn delete_cmek_config(
124        &self,
125        _req: crate::model::DeleteCmekConfigRequest,
126        _options: gax::options::RequestOptions,
127    ) -> impl std::future::Future<
128        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
129    > + Send {
130        gaxi::unimplemented::unimplemented_stub()
131    }
132
133    /// Implements [super::client::CmekConfigService::list_operations].
134    fn list_operations(
135        &self,
136        _req: longrunning::model::ListOperationsRequest,
137        _options: gax::options::RequestOptions,
138    ) -> impl std::future::Future<
139        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
140    > + Send {
141        gaxi::unimplemented::unimplemented_stub()
142    }
143
144    /// Implements [super::client::CmekConfigService::get_operation].
145    fn get_operation(
146        &self,
147        _req: longrunning::model::GetOperationRequest,
148        _options: gax::options::RequestOptions,
149    ) -> impl std::future::Future<
150        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
151    > + Send {
152        gaxi::unimplemented::unimplemented_stub()
153    }
154
155    /// Implements [super::client::CmekConfigService::cancel_operation].
156    fn cancel_operation(
157        &self,
158        _req: longrunning::model::CancelOperationRequest,
159        _options: gax::options::RequestOptions,
160    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
161        gaxi::unimplemented::unimplemented_stub()
162    }
163
164    /// Returns the polling error policy.
165    ///
166    /// When mocking, this method is typically irrelevant. Do not try to verify
167    /// it is called by your mocks.
168    fn get_polling_error_policy(
169        &self,
170        _options: &gax::options::RequestOptions,
171    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
172        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
173    }
174
175    /// Returns the polling backoff policy.
176    ///
177    /// When mocking, this method is typically irrelevant. Do not try to verify
178    /// it is called by your mocks.
179    fn get_polling_backoff_policy(
180        &self,
181        _options: &gax::options::RequestOptions,
182    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
183        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
184    }
185}
186
187/// Defines the trait used to implement [super::client::CompletionService].
188///
189/// Application developers may need to implement this trait to mock
190/// `client::CompletionService`.  In other use-cases, application developers only
191/// use `client::CompletionService` and need not be concerned with this trait or
192/// its implementations.
193///
194/// Services gain new RPCs routinely. Consequently, this trait gains new methods
195/// too. To avoid breaking applications the trait provides a default
196/// implementation of each method. Most of these implementations just return an
197/// error.
198#[cfg(feature = "completion-service")]
199#[cfg_attr(docsrs, doc(cfg(feature = "completion-service")))]
200pub trait CompletionService: std::fmt::Debug + Send + Sync {
201    /// Implements [super::client::CompletionService::complete_query].
202    fn complete_query(
203        &self,
204        _req: crate::model::CompleteQueryRequest,
205        _options: gax::options::RequestOptions,
206    ) -> impl std::future::Future<
207        Output = crate::Result<gax::response::Response<crate::model::CompleteQueryResponse>>,
208    > + Send {
209        gaxi::unimplemented::unimplemented_stub()
210    }
211
212    /// Implements [super::client::CompletionService::import_suggestion_deny_list_entries].
213    fn import_suggestion_deny_list_entries(
214        &self,
215        _req: crate::model::ImportSuggestionDenyListEntriesRequest,
216        _options: gax::options::RequestOptions,
217    ) -> impl std::future::Future<
218        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
219    > + Send {
220        gaxi::unimplemented::unimplemented_stub()
221    }
222
223    /// Implements [super::client::CompletionService::purge_suggestion_deny_list_entries].
224    fn purge_suggestion_deny_list_entries(
225        &self,
226        _req: crate::model::PurgeSuggestionDenyListEntriesRequest,
227        _options: gax::options::RequestOptions,
228    ) -> impl std::future::Future<
229        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
230    > + Send {
231        gaxi::unimplemented::unimplemented_stub()
232    }
233
234    /// Implements [super::client::CompletionService::import_completion_suggestions].
235    fn import_completion_suggestions(
236        &self,
237        _req: crate::model::ImportCompletionSuggestionsRequest,
238        _options: gax::options::RequestOptions,
239    ) -> impl std::future::Future<
240        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
241    > + Send {
242        gaxi::unimplemented::unimplemented_stub()
243    }
244
245    /// Implements [super::client::CompletionService::purge_completion_suggestions].
246    fn purge_completion_suggestions(
247        &self,
248        _req: crate::model::PurgeCompletionSuggestionsRequest,
249        _options: gax::options::RequestOptions,
250    ) -> impl std::future::Future<
251        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
252    > + Send {
253        gaxi::unimplemented::unimplemented_stub()
254    }
255
256    /// Implements [super::client::CompletionService::list_operations].
257    fn list_operations(
258        &self,
259        _req: longrunning::model::ListOperationsRequest,
260        _options: gax::options::RequestOptions,
261    ) -> impl std::future::Future<
262        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
263    > + Send {
264        gaxi::unimplemented::unimplemented_stub()
265    }
266
267    /// Implements [super::client::CompletionService::get_operation].
268    fn get_operation(
269        &self,
270        _req: longrunning::model::GetOperationRequest,
271        _options: gax::options::RequestOptions,
272    ) -> impl std::future::Future<
273        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
274    > + Send {
275        gaxi::unimplemented::unimplemented_stub()
276    }
277
278    /// Implements [super::client::CompletionService::cancel_operation].
279    fn cancel_operation(
280        &self,
281        _req: longrunning::model::CancelOperationRequest,
282        _options: gax::options::RequestOptions,
283    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
284        gaxi::unimplemented::unimplemented_stub()
285    }
286
287    /// Returns the polling error policy.
288    ///
289    /// When mocking, this method is typically irrelevant. Do not try to verify
290    /// it is called by your mocks.
291    fn get_polling_error_policy(
292        &self,
293        _options: &gax::options::RequestOptions,
294    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
295        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
296    }
297
298    /// Returns the polling backoff policy.
299    ///
300    /// When mocking, this method is typically irrelevant. Do not try to verify
301    /// it is called by your mocks.
302    fn get_polling_backoff_policy(
303        &self,
304        _options: &gax::options::RequestOptions,
305    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
306        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
307    }
308}
309
310/// Defines the trait used to implement [super::client::ControlService].
311///
312/// Application developers may need to implement this trait to mock
313/// `client::ControlService`.  In other use-cases, application developers only
314/// use `client::ControlService` and need not be concerned with this trait or
315/// its implementations.
316///
317/// Services gain new RPCs routinely. Consequently, this trait gains new methods
318/// too. To avoid breaking applications the trait provides a default
319/// implementation of each method. Most of these implementations just return an
320/// error.
321#[cfg(feature = "control-service")]
322#[cfg_attr(docsrs, doc(cfg(feature = "control-service")))]
323pub trait ControlService: std::fmt::Debug + Send + Sync {
324    /// Implements [super::client::ControlService::create_control].
325    fn create_control(
326        &self,
327        _req: crate::model::CreateControlRequest,
328        _options: gax::options::RequestOptions,
329    ) -> impl std::future::Future<
330        Output = crate::Result<gax::response::Response<crate::model::Control>>,
331    > + Send {
332        gaxi::unimplemented::unimplemented_stub()
333    }
334
335    /// Implements [super::client::ControlService::delete_control].
336    fn delete_control(
337        &self,
338        _req: crate::model::DeleteControlRequest,
339        _options: gax::options::RequestOptions,
340    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
341        gaxi::unimplemented::unimplemented_stub()
342    }
343
344    /// Implements [super::client::ControlService::update_control].
345    fn update_control(
346        &self,
347        _req: crate::model::UpdateControlRequest,
348        _options: gax::options::RequestOptions,
349    ) -> impl std::future::Future<
350        Output = crate::Result<gax::response::Response<crate::model::Control>>,
351    > + Send {
352        gaxi::unimplemented::unimplemented_stub()
353    }
354
355    /// Implements [super::client::ControlService::get_control].
356    fn get_control(
357        &self,
358        _req: crate::model::GetControlRequest,
359        _options: gax::options::RequestOptions,
360    ) -> impl std::future::Future<
361        Output = crate::Result<gax::response::Response<crate::model::Control>>,
362    > + Send {
363        gaxi::unimplemented::unimplemented_stub()
364    }
365
366    /// Implements [super::client::ControlService::list_controls].
367    fn list_controls(
368        &self,
369        _req: crate::model::ListControlsRequest,
370        _options: gax::options::RequestOptions,
371    ) -> impl std::future::Future<
372        Output = crate::Result<gax::response::Response<crate::model::ListControlsResponse>>,
373    > + Send {
374        gaxi::unimplemented::unimplemented_stub()
375    }
376
377    /// Implements [super::client::ControlService::list_operations].
378    fn list_operations(
379        &self,
380        _req: longrunning::model::ListOperationsRequest,
381        _options: gax::options::RequestOptions,
382    ) -> impl std::future::Future<
383        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
384    > + Send {
385        gaxi::unimplemented::unimplemented_stub()
386    }
387
388    /// Implements [super::client::ControlService::get_operation].
389    fn get_operation(
390        &self,
391        _req: longrunning::model::GetOperationRequest,
392        _options: gax::options::RequestOptions,
393    ) -> impl std::future::Future<
394        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
395    > + Send {
396        gaxi::unimplemented::unimplemented_stub()
397    }
398
399    /// Implements [super::client::ControlService::cancel_operation].
400    fn cancel_operation(
401        &self,
402        _req: longrunning::model::CancelOperationRequest,
403        _options: gax::options::RequestOptions,
404    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
405        gaxi::unimplemented::unimplemented_stub()
406    }
407}
408
409/// Defines the trait used to implement [super::client::ConversationalSearchService].
410///
411/// Application developers may need to implement this trait to mock
412/// `client::ConversationalSearchService`.  In other use-cases, application developers only
413/// use `client::ConversationalSearchService` and need not be concerned with this trait or
414/// its implementations.
415///
416/// Services gain new RPCs routinely. Consequently, this trait gains new methods
417/// too. To avoid breaking applications the trait provides a default
418/// implementation of each method. Most of these implementations just return an
419/// error.
420#[cfg(feature = "conversational-search-service")]
421#[cfg_attr(docsrs, doc(cfg(feature = "conversational-search-service")))]
422pub trait ConversationalSearchService: std::fmt::Debug + Send + Sync {
423    /// Implements [super::client::ConversationalSearchService::converse_conversation].
424    fn converse_conversation(
425        &self,
426        _req: crate::model::ConverseConversationRequest,
427        _options: gax::options::RequestOptions,
428    ) -> impl std::future::Future<
429        Output = crate::Result<gax::response::Response<crate::model::ConverseConversationResponse>>,
430    > + Send {
431        gaxi::unimplemented::unimplemented_stub()
432    }
433
434    /// Implements [super::client::ConversationalSearchService::create_conversation].
435    fn create_conversation(
436        &self,
437        _req: crate::model::CreateConversationRequest,
438        _options: gax::options::RequestOptions,
439    ) -> impl std::future::Future<
440        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
441    > + Send {
442        gaxi::unimplemented::unimplemented_stub()
443    }
444
445    /// Implements [super::client::ConversationalSearchService::delete_conversation].
446    fn delete_conversation(
447        &self,
448        _req: crate::model::DeleteConversationRequest,
449        _options: gax::options::RequestOptions,
450    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
451        gaxi::unimplemented::unimplemented_stub()
452    }
453
454    /// Implements [super::client::ConversationalSearchService::update_conversation].
455    fn update_conversation(
456        &self,
457        _req: crate::model::UpdateConversationRequest,
458        _options: gax::options::RequestOptions,
459    ) -> impl std::future::Future<
460        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
461    > + Send {
462        gaxi::unimplemented::unimplemented_stub()
463    }
464
465    /// Implements [super::client::ConversationalSearchService::get_conversation].
466    fn get_conversation(
467        &self,
468        _req: crate::model::GetConversationRequest,
469        _options: gax::options::RequestOptions,
470    ) -> impl std::future::Future<
471        Output = crate::Result<gax::response::Response<crate::model::Conversation>>,
472    > + Send {
473        gaxi::unimplemented::unimplemented_stub()
474    }
475
476    /// Implements [super::client::ConversationalSearchService::list_conversations].
477    fn list_conversations(
478        &self,
479        _req: crate::model::ListConversationsRequest,
480        _options: gax::options::RequestOptions,
481    ) -> impl std::future::Future<
482        Output = crate::Result<gax::response::Response<crate::model::ListConversationsResponse>>,
483    > + Send {
484        gaxi::unimplemented::unimplemented_stub()
485    }
486
487    /// Implements [super::client::ConversationalSearchService::answer_query].
488    fn answer_query(
489        &self,
490        _req: crate::model::AnswerQueryRequest,
491        _options: gax::options::RequestOptions,
492    ) -> impl std::future::Future<
493        Output = crate::Result<gax::response::Response<crate::model::AnswerQueryResponse>>,
494    > + Send {
495        gaxi::unimplemented::unimplemented_stub()
496    }
497
498    /// Implements [super::client::ConversationalSearchService::get_answer].
499    fn get_answer(
500        &self,
501        _req: crate::model::GetAnswerRequest,
502        _options: gax::options::RequestOptions,
503    ) -> impl std::future::Future<
504        Output = crate::Result<gax::response::Response<crate::model::Answer>>,
505    > + Send {
506        gaxi::unimplemented::unimplemented_stub()
507    }
508
509    /// Implements [super::client::ConversationalSearchService::create_session].
510    fn create_session(
511        &self,
512        _req: crate::model::CreateSessionRequest,
513        _options: gax::options::RequestOptions,
514    ) -> impl std::future::Future<
515        Output = crate::Result<gax::response::Response<crate::model::Session>>,
516    > + Send {
517        gaxi::unimplemented::unimplemented_stub()
518    }
519
520    /// Implements [super::client::ConversationalSearchService::delete_session].
521    fn delete_session(
522        &self,
523        _req: crate::model::DeleteSessionRequest,
524        _options: gax::options::RequestOptions,
525    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
526        gaxi::unimplemented::unimplemented_stub()
527    }
528
529    /// Implements [super::client::ConversationalSearchService::update_session].
530    fn update_session(
531        &self,
532        _req: crate::model::UpdateSessionRequest,
533        _options: gax::options::RequestOptions,
534    ) -> impl std::future::Future<
535        Output = crate::Result<gax::response::Response<crate::model::Session>>,
536    > + Send {
537        gaxi::unimplemented::unimplemented_stub()
538    }
539
540    /// Implements [super::client::ConversationalSearchService::get_session].
541    fn get_session(
542        &self,
543        _req: crate::model::GetSessionRequest,
544        _options: gax::options::RequestOptions,
545    ) -> impl std::future::Future<
546        Output = crate::Result<gax::response::Response<crate::model::Session>>,
547    > + Send {
548        gaxi::unimplemented::unimplemented_stub()
549    }
550
551    /// Implements [super::client::ConversationalSearchService::list_sessions].
552    fn list_sessions(
553        &self,
554        _req: crate::model::ListSessionsRequest,
555        _options: gax::options::RequestOptions,
556    ) -> impl std::future::Future<
557        Output = crate::Result<gax::response::Response<crate::model::ListSessionsResponse>>,
558    > + Send {
559        gaxi::unimplemented::unimplemented_stub()
560    }
561
562    /// Implements [super::client::ConversationalSearchService::list_operations].
563    fn list_operations(
564        &self,
565        _req: longrunning::model::ListOperationsRequest,
566        _options: gax::options::RequestOptions,
567    ) -> impl std::future::Future<
568        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
569    > + Send {
570        gaxi::unimplemented::unimplemented_stub()
571    }
572
573    /// Implements [super::client::ConversationalSearchService::get_operation].
574    fn get_operation(
575        &self,
576        _req: longrunning::model::GetOperationRequest,
577        _options: gax::options::RequestOptions,
578    ) -> impl std::future::Future<
579        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
580    > + Send {
581        gaxi::unimplemented::unimplemented_stub()
582    }
583
584    /// Implements [super::client::ConversationalSearchService::cancel_operation].
585    fn cancel_operation(
586        &self,
587        _req: longrunning::model::CancelOperationRequest,
588        _options: gax::options::RequestOptions,
589    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
590        gaxi::unimplemented::unimplemented_stub()
591    }
592}
593
594/// Defines the trait used to implement [super::client::DataStoreService].
595///
596/// Application developers may need to implement this trait to mock
597/// `client::DataStoreService`.  In other use-cases, application developers only
598/// use `client::DataStoreService` and need not be concerned with this trait or
599/// its implementations.
600///
601/// Services gain new RPCs routinely. Consequently, this trait gains new methods
602/// too. To avoid breaking applications the trait provides a default
603/// implementation of each method. Most of these implementations just return an
604/// error.
605#[cfg(feature = "data-store-service")]
606#[cfg_attr(docsrs, doc(cfg(feature = "data-store-service")))]
607pub trait DataStoreService: std::fmt::Debug + Send + Sync {
608    /// Implements [super::client::DataStoreService::create_data_store].
609    fn create_data_store(
610        &self,
611        _req: crate::model::CreateDataStoreRequest,
612        _options: gax::options::RequestOptions,
613    ) -> impl std::future::Future<
614        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
615    > + Send {
616        gaxi::unimplemented::unimplemented_stub()
617    }
618
619    /// Implements [super::client::DataStoreService::get_data_store].
620    fn get_data_store(
621        &self,
622        _req: crate::model::GetDataStoreRequest,
623        _options: gax::options::RequestOptions,
624    ) -> impl std::future::Future<
625        Output = crate::Result<gax::response::Response<crate::model::DataStore>>,
626    > + Send {
627        gaxi::unimplemented::unimplemented_stub()
628    }
629
630    /// Implements [super::client::DataStoreService::list_data_stores].
631    fn list_data_stores(
632        &self,
633        _req: crate::model::ListDataStoresRequest,
634        _options: gax::options::RequestOptions,
635    ) -> impl std::future::Future<
636        Output = crate::Result<gax::response::Response<crate::model::ListDataStoresResponse>>,
637    > + Send {
638        gaxi::unimplemented::unimplemented_stub()
639    }
640
641    /// Implements [super::client::DataStoreService::delete_data_store].
642    fn delete_data_store(
643        &self,
644        _req: crate::model::DeleteDataStoreRequest,
645        _options: gax::options::RequestOptions,
646    ) -> impl std::future::Future<
647        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
648    > + Send {
649        gaxi::unimplemented::unimplemented_stub()
650    }
651
652    /// Implements [super::client::DataStoreService::update_data_store].
653    fn update_data_store(
654        &self,
655        _req: crate::model::UpdateDataStoreRequest,
656        _options: gax::options::RequestOptions,
657    ) -> impl std::future::Future<
658        Output = crate::Result<gax::response::Response<crate::model::DataStore>>,
659    > + Send {
660        gaxi::unimplemented::unimplemented_stub()
661    }
662
663    /// Implements [super::client::DataStoreService::list_operations].
664    fn list_operations(
665        &self,
666        _req: longrunning::model::ListOperationsRequest,
667        _options: gax::options::RequestOptions,
668    ) -> impl std::future::Future<
669        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
670    > + Send {
671        gaxi::unimplemented::unimplemented_stub()
672    }
673
674    /// Implements [super::client::DataStoreService::get_operation].
675    fn get_operation(
676        &self,
677        _req: longrunning::model::GetOperationRequest,
678        _options: gax::options::RequestOptions,
679    ) -> impl std::future::Future<
680        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
681    > + Send {
682        gaxi::unimplemented::unimplemented_stub()
683    }
684
685    /// Implements [super::client::DataStoreService::cancel_operation].
686    fn cancel_operation(
687        &self,
688        _req: longrunning::model::CancelOperationRequest,
689        _options: gax::options::RequestOptions,
690    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
691        gaxi::unimplemented::unimplemented_stub()
692    }
693
694    /// Returns the polling error policy.
695    ///
696    /// When mocking, this method is typically irrelevant. Do not try to verify
697    /// it is called by your mocks.
698    fn get_polling_error_policy(
699        &self,
700        _options: &gax::options::RequestOptions,
701    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
702        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
703    }
704
705    /// Returns the polling backoff policy.
706    ///
707    /// When mocking, this method is typically irrelevant. Do not try to verify
708    /// it is called by your mocks.
709    fn get_polling_backoff_policy(
710        &self,
711        _options: &gax::options::RequestOptions,
712    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
713        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
714    }
715}
716
717/// Defines the trait used to implement [super::client::DocumentService].
718///
719/// Application developers may need to implement this trait to mock
720/// `client::DocumentService`.  In other use-cases, application developers only
721/// use `client::DocumentService` and need not be concerned with this trait or
722/// its implementations.
723///
724/// Services gain new RPCs routinely. Consequently, this trait gains new methods
725/// too. To avoid breaking applications the trait provides a default
726/// implementation of each method. Most of these implementations just return an
727/// error.
728#[cfg(feature = "document-service")]
729#[cfg_attr(docsrs, doc(cfg(feature = "document-service")))]
730pub trait DocumentService: std::fmt::Debug + Send + Sync {
731    /// Implements [super::client::DocumentService::get_document].
732    fn get_document(
733        &self,
734        _req: crate::model::GetDocumentRequest,
735        _options: gax::options::RequestOptions,
736    ) -> impl std::future::Future<
737        Output = crate::Result<gax::response::Response<crate::model::Document>>,
738    > + Send {
739        gaxi::unimplemented::unimplemented_stub()
740    }
741
742    /// Implements [super::client::DocumentService::list_documents].
743    fn list_documents(
744        &self,
745        _req: crate::model::ListDocumentsRequest,
746        _options: gax::options::RequestOptions,
747    ) -> impl std::future::Future<
748        Output = crate::Result<gax::response::Response<crate::model::ListDocumentsResponse>>,
749    > + Send {
750        gaxi::unimplemented::unimplemented_stub()
751    }
752
753    /// Implements [super::client::DocumentService::create_document].
754    fn create_document(
755        &self,
756        _req: crate::model::CreateDocumentRequest,
757        _options: gax::options::RequestOptions,
758    ) -> impl std::future::Future<
759        Output = crate::Result<gax::response::Response<crate::model::Document>>,
760    > + Send {
761        gaxi::unimplemented::unimplemented_stub()
762    }
763
764    /// Implements [super::client::DocumentService::update_document].
765    fn update_document(
766        &self,
767        _req: crate::model::UpdateDocumentRequest,
768        _options: gax::options::RequestOptions,
769    ) -> impl std::future::Future<
770        Output = crate::Result<gax::response::Response<crate::model::Document>>,
771    > + Send {
772        gaxi::unimplemented::unimplemented_stub()
773    }
774
775    /// Implements [super::client::DocumentService::delete_document].
776    fn delete_document(
777        &self,
778        _req: crate::model::DeleteDocumentRequest,
779        _options: gax::options::RequestOptions,
780    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
781        gaxi::unimplemented::unimplemented_stub()
782    }
783
784    /// Implements [super::client::DocumentService::import_documents].
785    fn import_documents(
786        &self,
787        _req: crate::model::ImportDocumentsRequest,
788        _options: gax::options::RequestOptions,
789    ) -> impl std::future::Future<
790        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
791    > + Send {
792        gaxi::unimplemented::unimplemented_stub()
793    }
794
795    /// Implements [super::client::DocumentService::purge_documents].
796    fn purge_documents(
797        &self,
798        _req: crate::model::PurgeDocumentsRequest,
799        _options: gax::options::RequestOptions,
800    ) -> impl std::future::Future<
801        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
802    > + Send {
803        gaxi::unimplemented::unimplemented_stub()
804    }
805
806    /// Implements [super::client::DocumentService::batch_get_documents_metadata].
807    fn batch_get_documents_metadata(
808        &self,
809        _req: crate::model::BatchGetDocumentsMetadataRequest,
810        _options: gax::options::RequestOptions,
811    ) -> impl std::future::Future<
812        Output = crate::Result<
813            gax::response::Response<crate::model::BatchGetDocumentsMetadataResponse>,
814        >,
815    > + Send {
816        gaxi::unimplemented::unimplemented_stub()
817    }
818
819    /// Implements [super::client::DocumentService::list_operations].
820    fn list_operations(
821        &self,
822        _req: longrunning::model::ListOperationsRequest,
823        _options: gax::options::RequestOptions,
824    ) -> impl std::future::Future<
825        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
826    > + Send {
827        gaxi::unimplemented::unimplemented_stub()
828    }
829
830    /// Implements [super::client::DocumentService::get_operation].
831    fn get_operation(
832        &self,
833        _req: longrunning::model::GetOperationRequest,
834        _options: gax::options::RequestOptions,
835    ) -> impl std::future::Future<
836        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
837    > + Send {
838        gaxi::unimplemented::unimplemented_stub()
839    }
840
841    /// Implements [super::client::DocumentService::cancel_operation].
842    fn cancel_operation(
843        &self,
844        _req: longrunning::model::CancelOperationRequest,
845        _options: gax::options::RequestOptions,
846    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
847        gaxi::unimplemented::unimplemented_stub()
848    }
849
850    /// Returns the polling error policy.
851    ///
852    /// When mocking, this method is typically irrelevant. Do not try to verify
853    /// it is called by your mocks.
854    fn get_polling_error_policy(
855        &self,
856        _options: &gax::options::RequestOptions,
857    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
858        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
859    }
860
861    /// Returns the polling backoff policy.
862    ///
863    /// When mocking, this method is typically irrelevant. Do not try to verify
864    /// it is called by your mocks.
865    fn get_polling_backoff_policy(
866        &self,
867        _options: &gax::options::RequestOptions,
868    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
869        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
870    }
871}
872
873/// Defines the trait used to implement [super::client::EngineService].
874///
875/// Application developers may need to implement this trait to mock
876/// `client::EngineService`.  In other use-cases, application developers only
877/// use `client::EngineService` and need not be concerned with this trait or
878/// its implementations.
879///
880/// Services gain new RPCs routinely. Consequently, this trait gains new methods
881/// too. To avoid breaking applications the trait provides a default
882/// implementation of each method. Most of these implementations just return an
883/// error.
884#[cfg(feature = "engine-service")]
885#[cfg_attr(docsrs, doc(cfg(feature = "engine-service")))]
886pub trait EngineService: std::fmt::Debug + Send + Sync {
887    /// Implements [super::client::EngineService::create_engine].
888    fn create_engine(
889        &self,
890        _req: crate::model::CreateEngineRequest,
891        _options: gax::options::RequestOptions,
892    ) -> impl std::future::Future<
893        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
894    > + Send {
895        gaxi::unimplemented::unimplemented_stub()
896    }
897
898    /// Implements [super::client::EngineService::delete_engine].
899    fn delete_engine(
900        &self,
901        _req: crate::model::DeleteEngineRequest,
902        _options: gax::options::RequestOptions,
903    ) -> impl std::future::Future<
904        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
905    > + Send {
906        gaxi::unimplemented::unimplemented_stub()
907    }
908
909    /// Implements [super::client::EngineService::update_engine].
910    fn update_engine(
911        &self,
912        _req: crate::model::UpdateEngineRequest,
913        _options: gax::options::RequestOptions,
914    ) -> impl std::future::Future<
915        Output = crate::Result<gax::response::Response<crate::model::Engine>>,
916    > + Send {
917        gaxi::unimplemented::unimplemented_stub()
918    }
919
920    /// Implements [super::client::EngineService::get_engine].
921    fn get_engine(
922        &self,
923        _req: crate::model::GetEngineRequest,
924        _options: gax::options::RequestOptions,
925    ) -> impl std::future::Future<
926        Output = crate::Result<gax::response::Response<crate::model::Engine>>,
927    > + Send {
928        gaxi::unimplemented::unimplemented_stub()
929    }
930
931    /// Implements [super::client::EngineService::list_engines].
932    fn list_engines(
933        &self,
934        _req: crate::model::ListEnginesRequest,
935        _options: gax::options::RequestOptions,
936    ) -> impl std::future::Future<
937        Output = crate::Result<gax::response::Response<crate::model::ListEnginesResponse>>,
938    > + Send {
939        gaxi::unimplemented::unimplemented_stub()
940    }
941
942    /// Implements [super::client::EngineService::list_operations].
943    fn list_operations(
944        &self,
945        _req: longrunning::model::ListOperationsRequest,
946        _options: gax::options::RequestOptions,
947    ) -> impl std::future::Future<
948        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
949    > + Send {
950        gaxi::unimplemented::unimplemented_stub()
951    }
952
953    /// Implements [super::client::EngineService::get_operation].
954    fn get_operation(
955        &self,
956        _req: longrunning::model::GetOperationRequest,
957        _options: gax::options::RequestOptions,
958    ) -> impl std::future::Future<
959        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
960    > + Send {
961        gaxi::unimplemented::unimplemented_stub()
962    }
963
964    /// Implements [super::client::EngineService::cancel_operation].
965    fn cancel_operation(
966        &self,
967        _req: longrunning::model::CancelOperationRequest,
968        _options: gax::options::RequestOptions,
969    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
970        gaxi::unimplemented::unimplemented_stub()
971    }
972
973    /// Returns the polling error policy.
974    ///
975    /// When mocking, this method is typically irrelevant. Do not try to verify
976    /// it is called by your mocks.
977    fn get_polling_error_policy(
978        &self,
979        _options: &gax::options::RequestOptions,
980    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
981        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
982    }
983
984    /// Returns the polling backoff policy.
985    ///
986    /// When mocking, this method is typically irrelevant. Do not try to verify
987    /// it is called by your mocks.
988    fn get_polling_backoff_policy(
989        &self,
990        _options: &gax::options::RequestOptions,
991    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
992        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
993    }
994}
995
996/// Defines the trait used to implement [super::client::GroundedGenerationService].
997///
998/// Application developers may need to implement this trait to mock
999/// `client::GroundedGenerationService`.  In other use-cases, application developers only
1000/// use `client::GroundedGenerationService` and need not be concerned with this trait or
1001/// its implementations.
1002///
1003/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1004/// too. To avoid breaking applications the trait provides a default
1005/// implementation of each method. Most of these implementations just return an
1006/// error.
1007#[cfg(feature = "grounded-generation-service")]
1008#[cfg_attr(docsrs, doc(cfg(feature = "grounded-generation-service")))]
1009pub trait GroundedGenerationService: std::fmt::Debug + Send + Sync {
1010    /// Implements [super::client::GroundedGenerationService::generate_grounded_content].
1011    fn generate_grounded_content(
1012        &self,
1013        _req: crate::model::GenerateGroundedContentRequest,
1014        _options: gax::options::RequestOptions,
1015    ) -> impl std::future::Future<
1016        Output = crate::Result<
1017            gax::response::Response<crate::model::GenerateGroundedContentResponse>,
1018        >,
1019    > + Send {
1020        gaxi::unimplemented::unimplemented_stub()
1021    }
1022
1023    /// Implements [super::client::GroundedGenerationService::check_grounding].
1024    fn check_grounding(
1025        &self,
1026        _req: crate::model::CheckGroundingRequest,
1027        _options: gax::options::RequestOptions,
1028    ) -> impl std::future::Future<
1029        Output = crate::Result<gax::response::Response<crate::model::CheckGroundingResponse>>,
1030    > + Send {
1031        gaxi::unimplemented::unimplemented_stub()
1032    }
1033
1034    /// Implements [super::client::GroundedGenerationService::list_operations].
1035    fn list_operations(
1036        &self,
1037        _req: longrunning::model::ListOperationsRequest,
1038        _options: gax::options::RequestOptions,
1039    ) -> impl std::future::Future<
1040        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1041    > + Send {
1042        gaxi::unimplemented::unimplemented_stub()
1043    }
1044
1045    /// Implements [super::client::GroundedGenerationService::get_operation].
1046    fn get_operation(
1047        &self,
1048        _req: longrunning::model::GetOperationRequest,
1049        _options: gax::options::RequestOptions,
1050    ) -> impl std::future::Future<
1051        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1052    > + Send {
1053        gaxi::unimplemented::unimplemented_stub()
1054    }
1055
1056    /// Implements [super::client::GroundedGenerationService::cancel_operation].
1057    fn cancel_operation(
1058        &self,
1059        _req: longrunning::model::CancelOperationRequest,
1060        _options: gax::options::RequestOptions,
1061    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1062        gaxi::unimplemented::unimplemented_stub()
1063    }
1064}
1065
1066/// Defines the trait used to implement [super::client::IdentityMappingStoreService].
1067///
1068/// Application developers may need to implement this trait to mock
1069/// `client::IdentityMappingStoreService`.  In other use-cases, application developers only
1070/// use `client::IdentityMappingStoreService` and need not be concerned with this trait or
1071/// its implementations.
1072///
1073/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1074/// too. To avoid breaking applications the trait provides a default
1075/// implementation of each method. Most of these implementations just return an
1076/// error.
1077#[cfg(feature = "identity-mapping-store-service")]
1078#[cfg_attr(docsrs, doc(cfg(feature = "identity-mapping-store-service")))]
1079pub trait IdentityMappingStoreService: std::fmt::Debug + Send + Sync {
1080    /// Implements [super::client::IdentityMappingStoreService::create_identity_mapping_store].
1081    fn create_identity_mapping_store(
1082        &self,
1083        _req: crate::model::CreateIdentityMappingStoreRequest,
1084        _options: gax::options::RequestOptions,
1085    ) -> impl std::future::Future<
1086        Output = crate::Result<gax::response::Response<crate::model::IdentityMappingStore>>,
1087    > + Send {
1088        gaxi::unimplemented::unimplemented_stub()
1089    }
1090
1091    /// Implements [super::client::IdentityMappingStoreService::get_identity_mapping_store].
1092    fn get_identity_mapping_store(
1093        &self,
1094        _req: crate::model::GetIdentityMappingStoreRequest,
1095        _options: gax::options::RequestOptions,
1096    ) -> impl std::future::Future<
1097        Output = crate::Result<gax::response::Response<crate::model::IdentityMappingStore>>,
1098    > + Send {
1099        gaxi::unimplemented::unimplemented_stub()
1100    }
1101
1102    /// Implements [super::client::IdentityMappingStoreService::delete_identity_mapping_store].
1103    fn delete_identity_mapping_store(
1104        &self,
1105        _req: crate::model::DeleteIdentityMappingStoreRequest,
1106        _options: gax::options::RequestOptions,
1107    ) -> impl std::future::Future<
1108        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1109    > + Send {
1110        gaxi::unimplemented::unimplemented_stub()
1111    }
1112
1113    /// Implements [super::client::IdentityMappingStoreService::import_identity_mappings].
1114    fn import_identity_mappings(
1115        &self,
1116        _req: crate::model::ImportIdentityMappingsRequest,
1117        _options: gax::options::RequestOptions,
1118    ) -> impl std::future::Future<
1119        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1120    > + Send {
1121        gaxi::unimplemented::unimplemented_stub()
1122    }
1123
1124    /// Implements [super::client::IdentityMappingStoreService::purge_identity_mappings].
1125    fn purge_identity_mappings(
1126        &self,
1127        _req: crate::model::PurgeIdentityMappingsRequest,
1128        _options: gax::options::RequestOptions,
1129    ) -> impl std::future::Future<
1130        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1131    > + Send {
1132        gaxi::unimplemented::unimplemented_stub()
1133    }
1134
1135    /// Implements [super::client::IdentityMappingStoreService::list_identity_mappings].
1136    fn list_identity_mappings(
1137        &self,
1138        _req: crate::model::ListIdentityMappingsRequest,
1139        _options: gax::options::RequestOptions,
1140    ) -> impl std::future::Future<
1141        Output = crate::Result<gax::response::Response<crate::model::ListIdentityMappingsResponse>>,
1142    > + Send {
1143        gaxi::unimplemented::unimplemented_stub()
1144    }
1145
1146    /// Implements [super::client::IdentityMappingStoreService::list_identity_mapping_stores].
1147    fn list_identity_mapping_stores(
1148        &self,
1149        _req: crate::model::ListIdentityMappingStoresRequest,
1150        _options: gax::options::RequestOptions,
1151    ) -> impl std::future::Future<
1152        Output = crate::Result<
1153            gax::response::Response<crate::model::ListIdentityMappingStoresResponse>,
1154        >,
1155    > + Send {
1156        gaxi::unimplemented::unimplemented_stub()
1157    }
1158
1159    /// Implements [super::client::IdentityMappingStoreService::list_operations].
1160    fn list_operations(
1161        &self,
1162        _req: longrunning::model::ListOperationsRequest,
1163        _options: gax::options::RequestOptions,
1164    ) -> impl std::future::Future<
1165        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1166    > + Send {
1167        gaxi::unimplemented::unimplemented_stub()
1168    }
1169
1170    /// Implements [super::client::IdentityMappingStoreService::get_operation].
1171    fn get_operation(
1172        &self,
1173        _req: longrunning::model::GetOperationRequest,
1174        _options: gax::options::RequestOptions,
1175    ) -> impl std::future::Future<
1176        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1177    > + Send {
1178        gaxi::unimplemented::unimplemented_stub()
1179    }
1180
1181    /// Implements [super::client::IdentityMappingStoreService::cancel_operation].
1182    fn cancel_operation(
1183        &self,
1184        _req: longrunning::model::CancelOperationRequest,
1185        _options: gax::options::RequestOptions,
1186    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1187        gaxi::unimplemented::unimplemented_stub()
1188    }
1189
1190    /// Returns the polling error policy.
1191    ///
1192    /// When mocking, this method is typically irrelevant. Do not try to verify
1193    /// it is called by your mocks.
1194    fn get_polling_error_policy(
1195        &self,
1196        _options: &gax::options::RequestOptions,
1197    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1198        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1199    }
1200
1201    /// Returns the polling backoff policy.
1202    ///
1203    /// When mocking, this method is typically irrelevant. Do not try to verify
1204    /// it is called by your mocks.
1205    fn get_polling_backoff_policy(
1206        &self,
1207        _options: &gax::options::RequestOptions,
1208    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1209        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1210    }
1211}
1212
1213/// Defines the trait used to implement [super::client::ProjectService].
1214///
1215/// Application developers may need to implement this trait to mock
1216/// `client::ProjectService`.  In other use-cases, application developers only
1217/// use `client::ProjectService` and need not be concerned with this trait or
1218/// its implementations.
1219///
1220/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1221/// too. To avoid breaking applications the trait provides a default
1222/// implementation of each method. Most of these implementations just return an
1223/// error.
1224#[cfg(feature = "project-service")]
1225#[cfg_attr(docsrs, doc(cfg(feature = "project-service")))]
1226pub trait ProjectService: std::fmt::Debug + Send + Sync {
1227    /// Implements [super::client::ProjectService::provision_project].
1228    fn provision_project(
1229        &self,
1230        _req: crate::model::ProvisionProjectRequest,
1231        _options: gax::options::RequestOptions,
1232    ) -> impl std::future::Future<
1233        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1234    > + Send {
1235        gaxi::unimplemented::unimplemented_stub()
1236    }
1237
1238    /// Implements [super::client::ProjectService::list_operations].
1239    fn list_operations(
1240        &self,
1241        _req: longrunning::model::ListOperationsRequest,
1242        _options: gax::options::RequestOptions,
1243    ) -> impl std::future::Future<
1244        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1245    > + Send {
1246        gaxi::unimplemented::unimplemented_stub()
1247    }
1248
1249    /// Implements [super::client::ProjectService::get_operation].
1250    fn get_operation(
1251        &self,
1252        _req: longrunning::model::GetOperationRequest,
1253        _options: gax::options::RequestOptions,
1254    ) -> impl std::future::Future<
1255        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1256    > + Send {
1257        gaxi::unimplemented::unimplemented_stub()
1258    }
1259
1260    /// Implements [super::client::ProjectService::cancel_operation].
1261    fn cancel_operation(
1262        &self,
1263        _req: longrunning::model::CancelOperationRequest,
1264        _options: gax::options::RequestOptions,
1265    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1266        gaxi::unimplemented::unimplemented_stub()
1267    }
1268
1269    /// Returns the polling error policy.
1270    ///
1271    /// When mocking, this method is typically irrelevant. Do not try to verify
1272    /// it is called by your mocks.
1273    fn get_polling_error_policy(
1274        &self,
1275        _options: &gax::options::RequestOptions,
1276    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1277        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1278    }
1279
1280    /// Returns the polling backoff policy.
1281    ///
1282    /// When mocking, this method is typically irrelevant. Do not try to verify
1283    /// it is called by your mocks.
1284    fn get_polling_backoff_policy(
1285        &self,
1286        _options: &gax::options::RequestOptions,
1287    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1288        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1289    }
1290}
1291
1292/// Defines the trait used to implement [super::client::RankService].
1293///
1294/// Application developers may need to implement this trait to mock
1295/// `client::RankService`.  In other use-cases, application developers only
1296/// use `client::RankService` and need not be concerned with this trait or
1297/// its implementations.
1298///
1299/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1300/// too. To avoid breaking applications the trait provides a default
1301/// implementation of each method. Most of these implementations just return an
1302/// error.
1303#[cfg(feature = "rank-service")]
1304#[cfg_attr(docsrs, doc(cfg(feature = "rank-service")))]
1305pub trait RankService: std::fmt::Debug + Send + Sync {
1306    /// Implements [super::client::RankService::rank].
1307    fn rank(
1308        &self,
1309        _req: crate::model::RankRequest,
1310        _options: gax::options::RequestOptions,
1311    ) -> impl std::future::Future<
1312        Output = crate::Result<gax::response::Response<crate::model::RankResponse>>,
1313    > + Send {
1314        gaxi::unimplemented::unimplemented_stub()
1315    }
1316
1317    /// Implements [super::client::RankService::list_operations].
1318    fn list_operations(
1319        &self,
1320        _req: longrunning::model::ListOperationsRequest,
1321        _options: gax::options::RequestOptions,
1322    ) -> impl std::future::Future<
1323        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1324    > + Send {
1325        gaxi::unimplemented::unimplemented_stub()
1326    }
1327
1328    /// Implements [super::client::RankService::get_operation].
1329    fn get_operation(
1330        &self,
1331        _req: longrunning::model::GetOperationRequest,
1332        _options: gax::options::RequestOptions,
1333    ) -> impl std::future::Future<
1334        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1335    > + Send {
1336        gaxi::unimplemented::unimplemented_stub()
1337    }
1338
1339    /// Implements [super::client::RankService::cancel_operation].
1340    fn cancel_operation(
1341        &self,
1342        _req: longrunning::model::CancelOperationRequest,
1343        _options: gax::options::RequestOptions,
1344    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1345        gaxi::unimplemented::unimplemented_stub()
1346    }
1347}
1348
1349/// Defines the trait used to implement [super::client::RecommendationService].
1350///
1351/// Application developers may need to implement this trait to mock
1352/// `client::RecommendationService`.  In other use-cases, application developers only
1353/// use `client::RecommendationService` and need not be concerned with this trait or
1354/// its implementations.
1355///
1356/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1357/// too. To avoid breaking applications the trait provides a default
1358/// implementation of each method. Most of these implementations just return an
1359/// error.
1360#[cfg(feature = "recommendation-service")]
1361#[cfg_attr(docsrs, doc(cfg(feature = "recommendation-service")))]
1362pub trait RecommendationService: std::fmt::Debug + Send + Sync {
1363    /// Implements [super::client::RecommendationService::recommend].
1364    fn recommend(
1365        &self,
1366        _req: crate::model::RecommendRequest,
1367        _options: gax::options::RequestOptions,
1368    ) -> impl std::future::Future<
1369        Output = crate::Result<gax::response::Response<crate::model::RecommendResponse>>,
1370    > + Send {
1371        gaxi::unimplemented::unimplemented_stub()
1372    }
1373
1374    /// Implements [super::client::RecommendationService::list_operations].
1375    fn list_operations(
1376        &self,
1377        _req: longrunning::model::ListOperationsRequest,
1378        _options: gax::options::RequestOptions,
1379    ) -> impl std::future::Future<
1380        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1381    > + Send {
1382        gaxi::unimplemented::unimplemented_stub()
1383    }
1384
1385    /// Implements [super::client::RecommendationService::get_operation].
1386    fn get_operation(
1387        &self,
1388        _req: longrunning::model::GetOperationRequest,
1389        _options: gax::options::RequestOptions,
1390    ) -> impl std::future::Future<
1391        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1392    > + Send {
1393        gaxi::unimplemented::unimplemented_stub()
1394    }
1395
1396    /// Implements [super::client::RecommendationService::cancel_operation].
1397    fn cancel_operation(
1398        &self,
1399        _req: longrunning::model::CancelOperationRequest,
1400        _options: gax::options::RequestOptions,
1401    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1402        gaxi::unimplemented::unimplemented_stub()
1403    }
1404}
1405
1406/// Defines the trait used to implement [super::client::SchemaService].
1407///
1408/// Application developers may need to implement this trait to mock
1409/// `client::SchemaService`.  In other use-cases, application developers only
1410/// use `client::SchemaService` and need not be concerned with this trait or
1411/// its implementations.
1412///
1413/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1414/// too. To avoid breaking applications the trait provides a default
1415/// implementation of each method. Most of these implementations just return an
1416/// error.
1417#[cfg(feature = "schema-service")]
1418#[cfg_attr(docsrs, doc(cfg(feature = "schema-service")))]
1419pub trait SchemaService: std::fmt::Debug + Send + Sync {
1420    /// Implements [super::client::SchemaService::get_schema].
1421    fn get_schema(
1422        &self,
1423        _req: crate::model::GetSchemaRequest,
1424        _options: gax::options::RequestOptions,
1425    ) -> impl std::future::Future<
1426        Output = crate::Result<gax::response::Response<crate::model::Schema>>,
1427    > + Send {
1428        gaxi::unimplemented::unimplemented_stub()
1429    }
1430
1431    /// Implements [super::client::SchemaService::list_schemas].
1432    fn list_schemas(
1433        &self,
1434        _req: crate::model::ListSchemasRequest,
1435        _options: gax::options::RequestOptions,
1436    ) -> impl std::future::Future<
1437        Output = crate::Result<gax::response::Response<crate::model::ListSchemasResponse>>,
1438    > + Send {
1439        gaxi::unimplemented::unimplemented_stub()
1440    }
1441
1442    /// Implements [super::client::SchemaService::create_schema].
1443    fn create_schema(
1444        &self,
1445        _req: crate::model::CreateSchemaRequest,
1446        _options: gax::options::RequestOptions,
1447    ) -> impl std::future::Future<
1448        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1449    > + Send {
1450        gaxi::unimplemented::unimplemented_stub()
1451    }
1452
1453    /// Implements [super::client::SchemaService::update_schema].
1454    fn update_schema(
1455        &self,
1456        _req: crate::model::UpdateSchemaRequest,
1457        _options: gax::options::RequestOptions,
1458    ) -> impl std::future::Future<
1459        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1460    > + Send {
1461        gaxi::unimplemented::unimplemented_stub()
1462    }
1463
1464    /// Implements [super::client::SchemaService::delete_schema].
1465    fn delete_schema(
1466        &self,
1467        _req: crate::model::DeleteSchemaRequest,
1468        _options: gax::options::RequestOptions,
1469    ) -> impl std::future::Future<
1470        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1471    > + Send {
1472        gaxi::unimplemented::unimplemented_stub()
1473    }
1474
1475    /// Implements [super::client::SchemaService::list_operations].
1476    fn list_operations(
1477        &self,
1478        _req: longrunning::model::ListOperationsRequest,
1479        _options: gax::options::RequestOptions,
1480    ) -> impl std::future::Future<
1481        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1482    > + Send {
1483        gaxi::unimplemented::unimplemented_stub()
1484    }
1485
1486    /// Implements [super::client::SchemaService::get_operation].
1487    fn get_operation(
1488        &self,
1489        _req: longrunning::model::GetOperationRequest,
1490        _options: gax::options::RequestOptions,
1491    ) -> impl std::future::Future<
1492        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1493    > + Send {
1494        gaxi::unimplemented::unimplemented_stub()
1495    }
1496
1497    /// Implements [super::client::SchemaService::cancel_operation].
1498    fn cancel_operation(
1499        &self,
1500        _req: longrunning::model::CancelOperationRequest,
1501        _options: gax::options::RequestOptions,
1502    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1503        gaxi::unimplemented::unimplemented_stub()
1504    }
1505
1506    /// Returns the polling error policy.
1507    ///
1508    /// When mocking, this method is typically irrelevant. Do not try to verify
1509    /// it is called by your mocks.
1510    fn get_polling_error_policy(
1511        &self,
1512        _options: &gax::options::RequestOptions,
1513    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1514        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1515    }
1516
1517    /// Returns the polling backoff policy.
1518    ///
1519    /// When mocking, this method is typically irrelevant. Do not try to verify
1520    /// it is called by your mocks.
1521    fn get_polling_backoff_policy(
1522        &self,
1523        _options: &gax::options::RequestOptions,
1524    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1525        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1526    }
1527}
1528
1529/// Defines the trait used to implement [super::client::SearchService].
1530///
1531/// Application developers may need to implement this trait to mock
1532/// `client::SearchService`.  In other use-cases, application developers only
1533/// use `client::SearchService` and need not be concerned with this trait or
1534/// its implementations.
1535///
1536/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1537/// too. To avoid breaking applications the trait provides a default
1538/// implementation of each method. Most of these implementations just return an
1539/// error.
1540#[cfg(feature = "search-service")]
1541#[cfg_attr(docsrs, doc(cfg(feature = "search-service")))]
1542pub trait SearchService: std::fmt::Debug + Send + Sync {
1543    /// Implements [super::client::SearchService::search].
1544    fn search(
1545        &self,
1546        _req: crate::model::SearchRequest,
1547        _options: gax::options::RequestOptions,
1548    ) -> impl std::future::Future<
1549        Output = crate::Result<gax::response::Response<crate::model::SearchResponse>>,
1550    > + Send {
1551        gaxi::unimplemented::unimplemented_stub()
1552    }
1553
1554    /// Implements [super::client::SearchService::search_lite].
1555    fn search_lite(
1556        &self,
1557        _req: crate::model::SearchRequest,
1558        _options: gax::options::RequestOptions,
1559    ) -> impl std::future::Future<
1560        Output = crate::Result<gax::response::Response<crate::model::SearchResponse>>,
1561    > + Send {
1562        gaxi::unimplemented::unimplemented_stub()
1563    }
1564
1565    /// Implements [super::client::SearchService::list_operations].
1566    fn list_operations(
1567        &self,
1568        _req: longrunning::model::ListOperationsRequest,
1569        _options: gax::options::RequestOptions,
1570    ) -> impl std::future::Future<
1571        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1572    > + Send {
1573        gaxi::unimplemented::unimplemented_stub()
1574    }
1575
1576    /// Implements [super::client::SearchService::get_operation].
1577    fn get_operation(
1578        &self,
1579        _req: longrunning::model::GetOperationRequest,
1580        _options: gax::options::RequestOptions,
1581    ) -> impl std::future::Future<
1582        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1583    > + Send {
1584        gaxi::unimplemented::unimplemented_stub()
1585    }
1586
1587    /// Implements [super::client::SearchService::cancel_operation].
1588    fn cancel_operation(
1589        &self,
1590        _req: longrunning::model::CancelOperationRequest,
1591        _options: gax::options::RequestOptions,
1592    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1593        gaxi::unimplemented::unimplemented_stub()
1594    }
1595}
1596
1597/// Defines the trait used to implement [super::client::SearchTuningService].
1598///
1599/// Application developers may need to implement this trait to mock
1600/// `client::SearchTuningService`.  In other use-cases, application developers only
1601/// use `client::SearchTuningService` and need not be concerned with this trait or
1602/// its implementations.
1603///
1604/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1605/// too. To avoid breaking applications the trait provides a default
1606/// implementation of each method. Most of these implementations just return an
1607/// error.
1608#[cfg(feature = "search-tuning-service")]
1609#[cfg_attr(docsrs, doc(cfg(feature = "search-tuning-service")))]
1610pub trait SearchTuningService: std::fmt::Debug + Send + Sync {
1611    /// Implements [super::client::SearchTuningService::train_custom_model].
1612    fn train_custom_model(
1613        &self,
1614        _req: crate::model::TrainCustomModelRequest,
1615        _options: gax::options::RequestOptions,
1616    ) -> impl std::future::Future<
1617        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1618    > + Send {
1619        gaxi::unimplemented::unimplemented_stub()
1620    }
1621
1622    /// Implements [super::client::SearchTuningService::list_custom_models].
1623    fn list_custom_models(
1624        &self,
1625        _req: crate::model::ListCustomModelsRequest,
1626        _options: gax::options::RequestOptions,
1627    ) -> impl std::future::Future<
1628        Output = crate::Result<gax::response::Response<crate::model::ListCustomModelsResponse>>,
1629    > + Send {
1630        gaxi::unimplemented::unimplemented_stub()
1631    }
1632
1633    /// Implements [super::client::SearchTuningService::list_operations].
1634    fn list_operations(
1635        &self,
1636        _req: longrunning::model::ListOperationsRequest,
1637        _options: gax::options::RequestOptions,
1638    ) -> impl std::future::Future<
1639        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1640    > + Send {
1641        gaxi::unimplemented::unimplemented_stub()
1642    }
1643
1644    /// Implements [super::client::SearchTuningService::get_operation].
1645    fn get_operation(
1646        &self,
1647        _req: longrunning::model::GetOperationRequest,
1648        _options: gax::options::RequestOptions,
1649    ) -> impl std::future::Future<
1650        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1651    > + Send {
1652        gaxi::unimplemented::unimplemented_stub()
1653    }
1654
1655    /// Implements [super::client::SearchTuningService::cancel_operation].
1656    fn cancel_operation(
1657        &self,
1658        _req: longrunning::model::CancelOperationRequest,
1659        _options: gax::options::RequestOptions,
1660    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1661        gaxi::unimplemented::unimplemented_stub()
1662    }
1663
1664    /// Returns the polling error policy.
1665    ///
1666    /// When mocking, this method is typically irrelevant. Do not try to verify
1667    /// it is called by your mocks.
1668    fn get_polling_error_policy(
1669        &self,
1670        _options: &gax::options::RequestOptions,
1671    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
1672        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
1673    }
1674
1675    /// Returns the polling backoff policy.
1676    ///
1677    /// When mocking, this method is typically irrelevant. Do not try to verify
1678    /// it is called by your mocks.
1679    fn get_polling_backoff_policy(
1680        &self,
1681        _options: &gax::options::RequestOptions,
1682    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
1683        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
1684    }
1685}
1686
1687/// Defines the trait used to implement [super::client::ServingConfigService].
1688///
1689/// Application developers may need to implement this trait to mock
1690/// `client::ServingConfigService`.  In other use-cases, application developers only
1691/// use `client::ServingConfigService` and need not be concerned with this trait or
1692/// its implementations.
1693///
1694/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1695/// too. To avoid breaking applications the trait provides a default
1696/// implementation of each method. Most of these implementations just return an
1697/// error.
1698#[cfg(feature = "serving-config-service")]
1699#[cfg_attr(docsrs, doc(cfg(feature = "serving-config-service")))]
1700pub trait ServingConfigService: std::fmt::Debug + Send + Sync {
1701    /// Implements [super::client::ServingConfigService::update_serving_config].
1702    fn update_serving_config(
1703        &self,
1704        _req: crate::model::UpdateServingConfigRequest,
1705        _options: gax::options::RequestOptions,
1706    ) -> impl std::future::Future<
1707        Output = crate::Result<gax::response::Response<crate::model::ServingConfig>>,
1708    > + Send {
1709        gaxi::unimplemented::unimplemented_stub()
1710    }
1711
1712    /// Implements [super::client::ServingConfigService::list_operations].
1713    fn list_operations(
1714        &self,
1715        _req: longrunning::model::ListOperationsRequest,
1716        _options: gax::options::RequestOptions,
1717    ) -> impl std::future::Future<
1718        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1719    > + Send {
1720        gaxi::unimplemented::unimplemented_stub()
1721    }
1722
1723    /// Implements [super::client::ServingConfigService::get_operation].
1724    fn get_operation(
1725        &self,
1726        _req: longrunning::model::GetOperationRequest,
1727        _options: gax::options::RequestOptions,
1728    ) -> impl std::future::Future<
1729        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1730    > + Send {
1731        gaxi::unimplemented::unimplemented_stub()
1732    }
1733
1734    /// Implements [super::client::ServingConfigService::cancel_operation].
1735    fn cancel_operation(
1736        &self,
1737        _req: longrunning::model::CancelOperationRequest,
1738        _options: gax::options::RequestOptions,
1739    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1740        gaxi::unimplemented::unimplemented_stub()
1741    }
1742}
1743
1744/// Defines the trait used to implement [super::client::SessionService].
1745///
1746/// Application developers may need to implement this trait to mock
1747/// `client::SessionService`.  In other use-cases, application developers only
1748/// use `client::SessionService` and need not be concerned with this trait or
1749/// its implementations.
1750///
1751/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1752/// too. To avoid breaking applications the trait provides a default
1753/// implementation of each method. Most of these implementations just return an
1754/// error.
1755#[cfg(feature = "session-service")]
1756#[cfg_attr(docsrs, doc(cfg(feature = "session-service")))]
1757pub trait SessionService: std::fmt::Debug + Send + Sync {
1758    /// Implements [super::client::SessionService::create_session].
1759    fn create_session(
1760        &self,
1761        _req: crate::model::CreateSessionRequest,
1762        _options: gax::options::RequestOptions,
1763    ) -> impl std::future::Future<
1764        Output = crate::Result<gax::response::Response<crate::model::Session>>,
1765    > + Send {
1766        gaxi::unimplemented::unimplemented_stub()
1767    }
1768
1769    /// Implements [super::client::SessionService::delete_session].
1770    fn delete_session(
1771        &self,
1772        _req: crate::model::DeleteSessionRequest,
1773        _options: gax::options::RequestOptions,
1774    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1775        gaxi::unimplemented::unimplemented_stub()
1776    }
1777
1778    /// Implements [super::client::SessionService::update_session].
1779    fn update_session(
1780        &self,
1781        _req: crate::model::UpdateSessionRequest,
1782        _options: gax::options::RequestOptions,
1783    ) -> impl std::future::Future<
1784        Output = crate::Result<gax::response::Response<crate::model::Session>>,
1785    > + Send {
1786        gaxi::unimplemented::unimplemented_stub()
1787    }
1788
1789    /// Implements [super::client::SessionService::get_session].
1790    fn get_session(
1791        &self,
1792        _req: crate::model::GetSessionRequest,
1793        _options: gax::options::RequestOptions,
1794    ) -> impl std::future::Future<
1795        Output = crate::Result<gax::response::Response<crate::model::Session>>,
1796    > + Send {
1797        gaxi::unimplemented::unimplemented_stub()
1798    }
1799
1800    /// Implements [super::client::SessionService::list_sessions].
1801    fn list_sessions(
1802        &self,
1803        _req: crate::model::ListSessionsRequest,
1804        _options: gax::options::RequestOptions,
1805    ) -> impl std::future::Future<
1806        Output = crate::Result<gax::response::Response<crate::model::ListSessionsResponse>>,
1807    > + Send {
1808        gaxi::unimplemented::unimplemented_stub()
1809    }
1810
1811    /// Implements [super::client::SessionService::list_operations].
1812    fn list_operations(
1813        &self,
1814        _req: longrunning::model::ListOperationsRequest,
1815        _options: gax::options::RequestOptions,
1816    ) -> impl std::future::Future<
1817        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
1818    > + Send {
1819        gaxi::unimplemented::unimplemented_stub()
1820    }
1821
1822    /// Implements [super::client::SessionService::get_operation].
1823    fn get_operation(
1824        &self,
1825        _req: longrunning::model::GetOperationRequest,
1826        _options: gax::options::RequestOptions,
1827    ) -> impl std::future::Future<
1828        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1829    > + Send {
1830        gaxi::unimplemented::unimplemented_stub()
1831    }
1832
1833    /// Implements [super::client::SessionService::cancel_operation].
1834    fn cancel_operation(
1835        &self,
1836        _req: longrunning::model::CancelOperationRequest,
1837        _options: gax::options::RequestOptions,
1838    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
1839        gaxi::unimplemented::unimplemented_stub()
1840    }
1841}
1842
1843/// Defines the trait used to implement [super::client::SiteSearchEngineService].
1844///
1845/// Application developers may need to implement this trait to mock
1846/// `client::SiteSearchEngineService`.  In other use-cases, application developers only
1847/// use `client::SiteSearchEngineService` and need not be concerned with this trait or
1848/// its implementations.
1849///
1850/// Services gain new RPCs routinely. Consequently, this trait gains new methods
1851/// too. To avoid breaking applications the trait provides a default
1852/// implementation of each method. Most of these implementations just return an
1853/// error.
1854#[cfg(feature = "site-search-engine-service")]
1855#[cfg_attr(docsrs, doc(cfg(feature = "site-search-engine-service")))]
1856pub trait SiteSearchEngineService: std::fmt::Debug + Send + Sync {
1857    /// Implements [super::client::SiteSearchEngineService::get_site_search_engine].
1858    fn get_site_search_engine(
1859        &self,
1860        _req: crate::model::GetSiteSearchEngineRequest,
1861        _options: gax::options::RequestOptions,
1862    ) -> impl std::future::Future<
1863        Output = crate::Result<gax::response::Response<crate::model::SiteSearchEngine>>,
1864    > + Send {
1865        gaxi::unimplemented::unimplemented_stub()
1866    }
1867
1868    /// Implements [super::client::SiteSearchEngineService::create_target_site].
1869    fn create_target_site(
1870        &self,
1871        _req: crate::model::CreateTargetSiteRequest,
1872        _options: gax::options::RequestOptions,
1873    ) -> impl std::future::Future<
1874        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1875    > + Send {
1876        gaxi::unimplemented::unimplemented_stub()
1877    }
1878
1879    /// Implements [super::client::SiteSearchEngineService::batch_create_target_sites].
1880    fn batch_create_target_sites(
1881        &self,
1882        _req: crate::model::BatchCreateTargetSitesRequest,
1883        _options: gax::options::RequestOptions,
1884    ) -> impl std::future::Future<
1885        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1886    > + Send {
1887        gaxi::unimplemented::unimplemented_stub()
1888    }
1889
1890    /// Implements [super::client::SiteSearchEngineService::get_target_site].
1891    fn get_target_site(
1892        &self,
1893        _req: crate::model::GetTargetSiteRequest,
1894        _options: gax::options::RequestOptions,
1895    ) -> impl std::future::Future<
1896        Output = crate::Result<gax::response::Response<crate::model::TargetSite>>,
1897    > + Send {
1898        gaxi::unimplemented::unimplemented_stub()
1899    }
1900
1901    /// Implements [super::client::SiteSearchEngineService::update_target_site].
1902    fn update_target_site(
1903        &self,
1904        _req: crate::model::UpdateTargetSiteRequest,
1905        _options: gax::options::RequestOptions,
1906    ) -> impl std::future::Future<
1907        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1908    > + Send {
1909        gaxi::unimplemented::unimplemented_stub()
1910    }
1911
1912    /// Implements [super::client::SiteSearchEngineService::delete_target_site].
1913    fn delete_target_site(
1914        &self,
1915        _req: crate::model::DeleteTargetSiteRequest,
1916        _options: gax::options::RequestOptions,
1917    ) -> impl std::future::Future<
1918        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1919    > + Send {
1920        gaxi::unimplemented::unimplemented_stub()
1921    }
1922
1923    /// Implements [super::client::SiteSearchEngineService::list_target_sites].
1924    fn list_target_sites(
1925        &self,
1926        _req: crate::model::ListTargetSitesRequest,
1927        _options: gax::options::RequestOptions,
1928    ) -> impl std::future::Future<
1929        Output = crate::Result<gax::response::Response<crate::model::ListTargetSitesResponse>>,
1930    > + Send {
1931        gaxi::unimplemented::unimplemented_stub()
1932    }
1933
1934    /// Implements [super::client::SiteSearchEngineService::create_sitemap].
1935    fn create_sitemap(
1936        &self,
1937        _req: crate::model::CreateSitemapRequest,
1938        _options: gax::options::RequestOptions,
1939    ) -> impl std::future::Future<
1940        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1941    > + Send {
1942        gaxi::unimplemented::unimplemented_stub()
1943    }
1944
1945    /// Implements [super::client::SiteSearchEngineService::delete_sitemap].
1946    fn delete_sitemap(
1947        &self,
1948        _req: crate::model::DeleteSitemapRequest,
1949        _options: gax::options::RequestOptions,
1950    ) -> impl std::future::Future<
1951        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1952    > + Send {
1953        gaxi::unimplemented::unimplemented_stub()
1954    }
1955
1956    /// Implements [super::client::SiteSearchEngineService::fetch_sitemaps].
1957    fn fetch_sitemaps(
1958        &self,
1959        _req: crate::model::FetchSitemapsRequest,
1960        _options: gax::options::RequestOptions,
1961    ) -> impl std::future::Future<
1962        Output = crate::Result<gax::response::Response<crate::model::FetchSitemapsResponse>>,
1963    > + Send {
1964        gaxi::unimplemented::unimplemented_stub()
1965    }
1966
1967    /// Implements [super::client::SiteSearchEngineService::enable_advanced_site_search].
1968    fn enable_advanced_site_search(
1969        &self,
1970        _req: crate::model::EnableAdvancedSiteSearchRequest,
1971        _options: gax::options::RequestOptions,
1972    ) -> impl std::future::Future<
1973        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1974    > + Send {
1975        gaxi::unimplemented::unimplemented_stub()
1976    }
1977
1978    /// Implements [super::client::SiteSearchEngineService::disable_advanced_site_search].
1979    fn disable_advanced_site_search(
1980        &self,
1981        _req: crate::model::DisableAdvancedSiteSearchRequest,
1982        _options: gax::options::RequestOptions,
1983    ) -> impl std::future::Future<
1984        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1985    > + Send {
1986        gaxi::unimplemented::unimplemented_stub()
1987    }
1988
1989    /// Implements [super::client::SiteSearchEngineService::recrawl_uris].
1990    fn recrawl_uris(
1991        &self,
1992        _req: crate::model::RecrawlUrisRequest,
1993        _options: gax::options::RequestOptions,
1994    ) -> impl std::future::Future<
1995        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
1996    > + Send {
1997        gaxi::unimplemented::unimplemented_stub()
1998    }
1999
2000    /// Implements [super::client::SiteSearchEngineService::batch_verify_target_sites].
2001    fn batch_verify_target_sites(
2002        &self,
2003        _req: crate::model::BatchVerifyTargetSitesRequest,
2004        _options: gax::options::RequestOptions,
2005    ) -> impl std::future::Future<
2006        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2007    > + Send {
2008        gaxi::unimplemented::unimplemented_stub()
2009    }
2010
2011    /// Implements [super::client::SiteSearchEngineService::fetch_domain_verification_status].
2012    fn fetch_domain_verification_status(
2013        &self,
2014        _req: crate::model::FetchDomainVerificationStatusRequest,
2015        _options: gax::options::RequestOptions,
2016    ) -> impl std::future::Future<
2017        Output = crate::Result<
2018            gax::response::Response<crate::model::FetchDomainVerificationStatusResponse>,
2019        >,
2020    > + Send {
2021        gaxi::unimplemented::unimplemented_stub()
2022    }
2023
2024    /// Implements [super::client::SiteSearchEngineService::list_operations].
2025    fn list_operations(
2026        &self,
2027        _req: longrunning::model::ListOperationsRequest,
2028        _options: gax::options::RequestOptions,
2029    ) -> impl std::future::Future<
2030        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2031    > + Send {
2032        gaxi::unimplemented::unimplemented_stub()
2033    }
2034
2035    /// Implements [super::client::SiteSearchEngineService::get_operation].
2036    fn get_operation(
2037        &self,
2038        _req: longrunning::model::GetOperationRequest,
2039        _options: gax::options::RequestOptions,
2040    ) -> impl std::future::Future<
2041        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2042    > + Send {
2043        gaxi::unimplemented::unimplemented_stub()
2044    }
2045
2046    /// Implements [super::client::SiteSearchEngineService::cancel_operation].
2047    fn cancel_operation(
2048        &self,
2049        _req: longrunning::model::CancelOperationRequest,
2050        _options: gax::options::RequestOptions,
2051    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2052        gaxi::unimplemented::unimplemented_stub()
2053    }
2054
2055    /// Returns the polling error policy.
2056    ///
2057    /// When mocking, this method is typically irrelevant. Do not try to verify
2058    /// it is called by your mocks.
2059    fn get_polling_error_policy(
2060        &self,
2061        _options: &gax::options::RequestOptions,
2062    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2063        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2064    }
2065
2066    /// Returns the polling backoff policy.
2067    ///
2068    /// When mocking, this method is typically irrelevant. Do not try to verify
2069    /// it is called by your mocks.
2070    fn get_polling_backoff_policy(
2071        &self,
2072        _options: &gax::options::RequestOptions,
2073    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2074        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2075    }
2076}
2077
2078/// Defines the trait used to implement [super::client::UserEventService].
2079///
2080/// Application developers may need to implement this trait to mock
2081/// `client::UserEventService`.  In other use-cases, application developers only
2082/// use `client::UserEventService` and need not be concerned with this trait or
2083/// its implementations.
2084///
2085/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2086/// too. To avoid breaking applications the trait provides a default
2087/// implementation of each method. Most of these implementations just return an
2088/// error.
2089#[cfg(feature = "user-event-service")]
2090#[cfg_attr(docsrs, doc(cfg(feature = "user-event-service")))]
2091pub trait UserEventService: std::fmt::Debug + Send + Sync {
2092    /// Implements [super::client::UserEventService::write_user_event].
2093    fn write_user_event(
2094        &self,
2095        _req: crate::model::WriteUserEventRequest,
2096        _options: gax::options::RequestOptions,
2097    ) -> impl std::future::Future<
2098        Output = crate::Result<gax::response::Response<crate::model::UserEvent>>,
2099    > + Send {
2100        gaxi::unimplemented::unimplemented_stub()
2101    }
2102
2103    /// Implements [super::client::UserEventService::collect_user_event].
2104    fn collect_user_event(
2105        &self,
2106        _req: crate::model::CollectUserEventRequest,
2107        _options: gax::options::RequestOptions,
2108    ) -> impl std::future::Future<
2109        Output = crate::Result<gax::response::Response<api::model::HttpBody>>,
2110    > + Send {
2111        gaxi::unimplemented::unimplemented_stub()
2112    }
2113
2114    /// Implements [super::client::UserEventService::purge_user_events].
2115    fn purge_user_events(
2116        &self,
2117        _req: crate::model::PurgeUserEventsRequest,
2118        _options: gax::options::RequestOptions,
2119    ) -> impl std::future::Future<
2120        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2121    > + Send {
2122        gaxi::unimplemented::unimplemented_stub()
2123    }
2124
2125    /// Implements [super::client::UserEventService::import_user_events].
2126    fn import_user_events(
2127        &self,
2128        _req: crate::model::ImportUserEventsRequest,
2129        _options: gax::options::RequestOptions,
2130    ) -> impl std::future::Future<
2131        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2132    > + Send {
2133        gaxi::unimplemented::unimplemented_stub()
2134    }
2135
2136    /// Implements [super::client::UserEventService::list_operations].
2137    fn list_operations(
2138        &self,
2139        _req: longrunning::model::ListOperationsRequest,
2140        _options: gax::options::RequestOptions,
2141    ) -> impl std::future::Future<
2142        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2143    > + Send {
2144        gaxi::unimplemented::unimplemented_stub()
2145    }
2146
2147    /// Implements [super::client::UserEventService::get_operation].
2148    fn get_operation(
2149        &self,
2150        _req: longrunning::model::GetOperationRequest,
2151        _options: gax::options::RequestOptions,
2152    ) -> impl std::future::Future<
2153        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2154    > + Send {
2155        gaxi::unimplemented::unimplemented_stub()
2156    }
2157
2158    /// Implements [super::client::UserEventService::cancel_operation].
2159    fn cancel_operation(
2160        &self,
2161        _req: longrunning::model::CancelOperationRequest,
2162        _options: gax::options::RequestOptions,
2163    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2164        gaxi::unimplemented::unimplemented_stub()
2165    }
2166
2167    /// Returns the polling error policy.
2168    ///
2169    /// When mocking, this method is typically irrelevant. Do not try to verify
2170    /// it is called by your mocks.
2171    fn get_polling_error_policy(
2172        &self,
2173        _options: &gax::options::RequestOptions,
2174    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2175        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2176    }
2177
2178    /// Returns the polling backoff policy.
2179    ///
2180    /// When mocking, this method is typically irrelevant. Do not try to verify
2181    /// it is called by your mocks.
2182    fn get_polling_backoff_policy(
2183        &self,
2184        _options: &gax::options::RequestOptions,
2185    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2186        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2187    }
2188}
2189
2190/// Defines the trait used to implement [super::client::UserLicenseService].
2191///
2192/// Application developers may need to implement this trait to mock
2193/// `client::UserLicenseService`.  In other use-cases, application developers only
2194/// use `client::UserLicenseService` and need not be concerned with this trait or
2195/// its implementations.
2196///
2197/// Services gain new RPCs routinely. Consequently, this trait gains new methods
2198/// too. To avoid breaking applications the trait provides a default
2199/// implementation of each method. Most of these implementations just return an
2200/// error.
2201#[cfg(feature = "user-license-service")]
2202#[cfg_attr(docsrs, doc(cfg(feature = "user-license-service")))]
2203pub trait UserLicenseService: std::fmt::Debug + Send + Sync {
2204    /// Implements [super::client::UserLicenseService::list_user_licenses].
2205    fn list_user_licenses(
2206        &self,
2207        _req: crate::model::ListUserLicensesRequest,
2208        _options: gax::options::RequestOptions,
2209    ) -> impl std::future::Future<
2210        Output = crate::Result<gax::response::Response<crate::model::ListUserLicensesResponse>>,
2211    > + Send {
2212        gaxi::unimplemented::unimplemented_stub()
2213    }
2214
2215    /// Implements [super::client::UserLicenseService::batch_update_user_licenses].
2216    fn batch_update_user_licenses(
2217        &self,
2218        _req: crate::model::BatchUpdateUserLicensesRequest,
2219        _options: gax::options::RequestOptions,
2220    ) -> impl std::future::Future<
2221        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2222    > + Send {
2223        gaxi::unimplemented::unimplemented_stub()
2224    }
2225
2226    /// Implements [super::client::UserLicenseService::list_operations].
2227    fn list_operations(
2228        &self,
2229        _req: longrunning::model::ListOperationsRequest,
2230        _options: gax::options::RequestOptions,
2231    ) -> impl std::future::Future<
2232        Output = crate::Result<gax::response::Response<longrunning::model::ListOperationsResponse>>,
2233    > + Send {
2234        gaxi::unimplemented::unimplemented_stub()
2235    }
2236
2237    /// Implements [super::client::UserLicenseService::get_operation].
2238    fn get_operation(
2239        &self,
2240        _req: longrunning::model::GetOperationRequest,
2241        _options: gax::options::RequestOptions,
2242    ) -> impl std::future::Future<
2243        Output = crate::Result<gax::response::Response<longrunning::model::Operation>>,
2244    > + Send {
2245        gaxi::unimplemented::unimplemented_stub()
2246    }
2247
2248    /// Implements [super::client::UserLicenseService::cancel_operation].
2249    fn cancel_operation(
2250        &self,
2251        _req: longrunning::model::CancelOperationRequest,
2252        _options: gax::options::RequestOptions,
2253    ) -> impl std::future::Future<Output = crate::Result<gax::response::Response<()>>> + Send {
2254        gaxi::unimplemented::unimplemented_stub()
2255    }
2256
2257    /// Returns the polling error policy.
2258    ///
2259    /// When mocking, this method is typically irrelevant. Do not try to verify
2260    /// it is called by your mocks.
2261    fn get_polling_error_policy(
2262        &self,
2263        _options: &gax::options::RequestOptions,
2264    ) -> std::sync::Arc<dyn gax::polling_error_policy::PollingErrorPolicy> {
2265        std::sync::Arc::new(gax::polling_error_policy::Aip194Strict)
2266    }
2267
2268    /// Returns the polling backoff policy.
2269    ///
2270    /// When mocking, this method is typically irrelevant. Do not try to verify
2271    /// it is called by your mocks.
2272    fn get_polling_backoff_policy(
2273        &self,
2274        _options: &gax::options::RequestOptions,
2275    ) -> std::sync::Arc<dyn gax::polling_backoff_policy::PollingBackoffPolicy> {
2276        std::sync::Arc::new(gax::exponential_backoff::ExponentialBackoff::default())
2277    }
2278}