Skip to main content

superdoc_sdk/generated/
operations.rs

1// Generated by the shared SDK contract. Do not edit.
2
3use super::types::*;
4use crate::invoke::{Error, InvokeOptions, Invoker, Result};
5
6pub struct DocApi<'a, I: Invoker> {
7    invoker: &'a I,
8}
9impl<'a, I: Invoker> DocApi<'a, I> {
10    pub fn new(invoker: &'a I) -> Self {
11        Self { invoker }
12    }
13    pub fn authorities(&self) -> DocApiAuthorities<'a, I> {
14        DocApiAuthorities::new(self.invoker)
15    }
16    pub fn blocks(&self) -> DocApiBlocks<'a, I> {
17        DocApiBlocks::new(self.invoker)
18    }
19    pub fn bookmarks(&self) -> DocApiBookmarks<'a, I> {
20        DocApiBookmarks::new(self.invoker)
21    }
22    pub fn capabilities(&self) -> DocApiCapabilities<'a, I> {
23        DocApiCapabilities::new(self.invoker)
24    }
25    pub fn captions(&self) -> DocApiCaptions<'a, I> {
26        DocApiCaptions::new(self.invoker)
27    }
28    pub fn citations(&self) -> DocApiCitations<'a, I> {
29        DocApiCitations::new(self.invoker)
30    }
31    pub fn clipboard(&self) -> DocApiClipboard<'a, I> {
32        DocApiClipboard::new(self.invoker)
33    }
34    pub fn comments(&self) -> DocApiComments<'a, I> {
35        DocApiComments::new(self.invoker)
36    }
37    pub fn content_controls(&self) -> DocApiContentControls<'a, I> {
38        DocApiContentControls::new(self.invoker)
39    }
40    pub fn create(&self) -> DocApiCreate<'a, I> {
41        DocApiCreate::new(self.invoker)
42    }
43    pub fn cross_refs(&self) -> DocApiCrossRefs<'a, I> {
44        DocApiCrossRefs::new(self.invoker)
45    }
46    pub fn custom_xml(&self) -> DocApiCustomXml<'a, I> {
47        DocApiCustomXml::new(self.invoker)
48    }
49    pub fn diff(&self) -> DocApiDiff<'a, I> {
50        DocApiDiff::new(self.invoker)
51    }
52    pub fn export(&self) -> DocApiExport<'a, I> {
53        DocApiExport::new(self.invoker)
54    }
55    pub fn fields(&self) -> DocApiFields<'a, I> {
56        DocApiFields::new(self.invoker)
57    }
58    pub fn footnotes(&self) -> DocApiFootnotes<'a, I> {
59        DocApiFootnotes::new(self.invoker)
60    }
61    pub fn format(&self) -> DocApiFormat<'a, I> {
62        DocApiFormat::new(self.invoker)
63    }
64    pub fn header_footers(&self) -> DocApiHeaderFooters<'a, I> {
65        DocApiHeaderFooters::new(self.invoker)
66    }
67    pub fn history(&self) -> DocApiHistory<'a, I> {
68        DocApiHistory::new(self.invoker)
69    }
70    pub fn hyperlinks(&self) -> DocApiHyperlinks<'a, I> {
71        DocApiHyperlinks::new(self.invoker)
72    }
73    pub fn images(&self) -> DocApiImages<'a, I> {
74        DocApiImages::new(self.invoker)
75    }
76    pub fn index(&self) -> DocApiIndex<'a, I> {
77        DocApiIndex::new(self.invoker)
78    }
79    pub fn lists(&self) -> DocApiLists<'a, I> {
80        DocApiLists::new(self.invoker)
81    }
82    pub fn metadata(&self) -> DocApiMetadata<'a, I> {
83        DocApiMetadata::new(self.invoker)
84    }
85    pub fn mutations(&self) -> DocApiMutations<'a, I> {
86        DocApiMutations::new(self.invoker)
87    }
88    pub fn permission_ranges(&self) -> DocApiPermissionRanges<'a, I> {
89        DocApiPermissionRanges::new(self.invoker)
90    }
91    pub fn plan(&self) -> DocApiPlan<'a, I> {
92        DocApiPlan::new(self.invoker)
93    }
94    pub fn preset(&self) -> DocApiPreset<'a, I> {
95        DocApiPreset::new(self.invoker)
96    }
97    pub fn protection(&self) -> DocApiProtection<'a, I> {
98        DocApiProtection::new(self.invoker)
99    }
100    pub fn query(&self) -> DocApiQuery<'a, I> {
101        DocApiQuery::new(self.invoker)
102    }
103    pub fn ranges(&self) -> DocApiRanges<'a, I> {
104        DocApiRanges::new(self.invoker)
105    }
106    pub fn sections(&self) -> DocApiSections<'a, I> {
107        DocApiSections::new(self.invoker)
108    }
109    pub fn selection(&self) -> DocApiSelection<'a, I> {
110        DocApiSelection::new(self.invoker)
111    }
112    pub fn styles(&self) -> DocApiStyles<'a, I> {
113        DocApiStyles::new(self.invoker)
114    }
115    pub fn tables(&self) -> DocApiTables<'a, I> {
116        DocApiTables::new(self.invoker)
117    }
118    pub fn templates(&self) -> DocApiTemplates<'a, I> {
119        DocApiTemplates::new(self.invoker)
120    }
121    pub fn toc(&self) -> DocApiToc<'a, I> {
122        DocApiToc::new(self.invoker)
123    }
124    pub fn track_changes(&self) -> DocApiTrackChanges<'a, I> {
125        DocApiTrackChanges::new(self.invoker)
126    }
127    pub fn watermarks(&self) -> DocApiWatermarks<'a, I> {
128        DocApiWatermarks::new(self.invoker)
129    }
130
131    #[doc = "Clear all document body content, leaving a single empty paragraph."]
132    pub fn clear_content<'call>(
133        &'call self,
134        params: &'call DocClearContentBoundParams,
135    ) -> impl std::future::Future<Output = Result<DocClearContentResult>> + Send + 'call {
136        self.clear_content_with_options(params, InvokeOptions::default())
137    }
138    #[doc = "Clear all document body content, leaving a single empty paragraph."]
139    pub async fn clear_content_with_options(
140        &self,
141        params: &DocClearContentBoundParams,
142        options: InvokeOptions,
143    ) -> Result<DocClearContentResult> {
144        let params = serde_json::to_value(params)
145            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
146        let result = self
147            .invoker
148            .invoke("doc.clearContent", params, options)
149            .await?;
150        serde_json::from_value(result).map_err(|decode| {
151            let mut error = Error::decode(decode);
152            error.operation_id = Some("doc.clearContent".into());
153            error.outcome_unknown = true;
154            self.invoker.handle_decode_error(error)
155        })
156    }
157
158    #[doc = "Close the active editing session and clean up resources."]
159    pub fn close<'call>(
160        &'call self,
161        params: &'call DocCloseBoundParams,
162    ) -> impl std::future::Future<Output = Result<DocCloseResult>> + Send + 'call {
163        self.close_with_options(params, InvokeOptions::default())
164    }
165    #[doc = "Close the active editing session and clean up resources."]
166    pub async fn close_with_options(
167        &self,
168        params: &DocCloseBoundParams,
169        options: InvokeOptions,
170    ) -> Result<DocCloseResult> {
171        let params = serde_json::to_value(params)
172            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
173        let result = self.invoker.invoke("doc.close", params, options).await?;
174        serde_json::from_value(result).map_err(|decode| {
175            let mut error = Error::decode(decode);
176            error.operation_id = Some("doc.close".into());
177            error.outcome_unknown = true;
178            self.invoker.handle_decode_error(error)
179        })
180    }
181
182    #[doc = "Delete content at a contiguous document selection. Accepts a SelectionTarget or mutation-ready ref. Supports cross-block deletion and optional block-edge expansion via behavior mode."]
183    pub fn delete<'call>(
184        &'call self,
185        params: &'call DocDeleteBoundParams,
186    ) -> impl std::future::Future<Output = Result<DocDeleteResult>> + Send + 'call {
187        self.delete_with_options(params, InvokeOptions::default())
188    }
189    #[doc = "Delete content at a contiguous document selection. Accepts a SelectionTarget or mutation-ready ref. Supports cross-block deletion and optional block-edge expansion via behavior mode."]
190    pub async fn delete_with_options(
191        &self,
192        params: &DocDeleteBoundParams,
193        options: InvokeOptions,
194    ) -> Result<DocDeleteResult> {
195        let params = serde_json::to_value(params)
196            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
197        let result = self.invoker.invoke("doc.delete", params, options).await?;
198        serde_json::from_value(result).map_err(|decode| {
199            let mut error = Error::decode(decode);
200            error.operation_id = Some("doc.delete".into());
201            error.outcome_unknown = true;
202            self.invoker.handle_decode_error(error)
203        })
204    }
205
206    #[doc = "Run model-authored JavaScript IN-HOST against the live, SYNCHRONOUS Document API for the open session. Two globals are injected: `doc` (the synchronous Document API; do NOT await doc.* calls) and `console`. `return` a short summary; logs and the return value come back structured as { ok, result, logs, error }. Use for complex/multi-step workflows (loops, per-item branching, extract-then-generate) in ONE call instead of chaining many narrow tools. Large code can be passed on stdin."]
207    pub fn execute_code<'call>(
208        &'call self,
209        params: &'call DocExecuteCodeBoundParams,
210    ) -> impl std::future::Future<Output = Result<DocExecuteCodeResult>> + Send + 'call {
211        self.execute_code_with_options(params, InvokeOptions::default())
212    }
213    #[doc = "Run model-authored JavaScript IN-HOST against the live, SYNCHRONOUS Document API for the open session. Two globals are injected: `doc` (the synchronous Document API; do NOT await doc.* calls) and `console`. `return` a short summary; logs and the return value come back structured as { ok, result, logs, error }. Use for complex/multi-step workflows (loops, per-item branching, extract-then-generate) in ONE call instead of chaining many narrow tools. Large code can be passed on stdin."]
214    pub async fn execute_code_with_options(
215        &self,
216        params: &DocExecuteCodeBoundParams,
217        options: InvokeOptions,
218    ) -> Result<DocExecuteCodeResult> {
219        let params = serde_json::to_value(params)
220            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
221        let result = self
222            .invoker
223            .invoke("doc.executeCode", params, options)
224            .await?;
225        serde_json::from_value(result).map_err(|decode| {
226            let mut error = Error::decode(decode);
227            error.operation_id = Some("doc.executeCode".into());
228            error.outcome_unknown = true;
229            self.invoker.handle_decode_error(error)
230        })
231    }
232
233    #[doc = "Extract all document content with stable IDs for RAG pipelines. Returns blocks with full text, comments, and tracked changes: each with an ID compatible with scrollToElement()."]
234    pub fn extract<'call>(
235        &'call self,
236        params: &'call DocExtractBoundParams,
237    ) -> impl std::future::Future<Output = Result<DocExtractResult>> + Send + 'call {
238        self.extract_with_options(params, InvokeOptions::default())
239    }
240    #[doc = "Extract all document content with stable IDs for RAG pipelines. Returns blocks with full text, comments, and tracked changes: each with an ID compatible with scrollToElement()."]
241    pub async fn extract_with_options(
242        &self,
243        params: &DocExtractBoundParams,
244        options: InvokeOptions,
245    ) -> Result<DocExtractResult> {
246        let params = serde_json::to_value(params)
247            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
248        let result = self.invoker.invoke("doc.extract", params, options).await?;
249        serde_json::from_value(result).map_err(|decode| {
250            let mut error = Error::decode(decode);
251            error.operation_id = Some("doc.extract".into());
252            error.outcome_unknown = false;
253            self.invoker.handle_decode_error(error)
254        })
255    }
256
257    #[doc = "Search the document for text or node matches using SDM/1 selectors. Returns discovery-grade results: for mutation targeting, use query.match instead."]
258    pub fn find<'call>(
259        &'call self,
260        params: &'call DocFindBoundParams,
261    ) -> impl std::future::Future<Output = Result<DocFindResult>> + Send + 'call {
262        self.find_with_options(params, InvokeOptions::default())
263    }
264    #[doc = "Search the document for text or node matches using SDM/1 selectors. Returns discovery-grade results: for mutation targeting, use query.match instead."]
265    pub async fn find_with_options(
266        &self,
267        params: &DocFindBoundParams,
268        options: InvokeOptions,
269    ) -> Result<DocFindResult> {
270        let params = serde_json::to_value(params)
271            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
272        let result = self.invoker.invoke("doc.find", params, options).await?;
273        serde_json::from_value(result).map_err(|decode| {
274            let mut error = Error::decode(decode);
275            error.operation_id = Some("doc.find".into());
276            error.outcome_unknown = false;
277            self.invoker.handle_decode_error(error)
278        })
279    }
280
281    #[doc = "Legacy root-level alias for inline range formatting. Routes to `format.apply` for compatibility with older callers."]
282    pub fn format_range<'call>(
283        &'call self,
284        params: &'call DocFormatRangeBoundParams,
285    ) -> impl std::future::Future<Output = Result<DocFormatRangeResult>> + Send + 'call {
286        self.format_range_with_options(params, InvokeOptions::default())
287    }
288    #[doc = "Legacy root-level alias for inline range formatting. Routes to `format.apply` for compatibility with older callers."]
289    pub async fn format_range_with_options(
290        &self,
291        params: &DocFormatRangeBoundParams,
292        options: InvokeOptions,
293    ) -> Result<DocFormatRangeResult> {
294        let params = serde_json::to_value(params)
295            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
296        let result = self
297            .invoker
298            .invoke("doc.formatRange", params, options)
299            .await?;
300        serde_json::from_value(result).map_err(|decode| {
301            let mut error = Error::decode(decode);
302            error.operation_id = Some("doc.formatRange".into());
303            error.outcome_unknown = true;
304            self.invoker.handle_decode_error(error)
305        })
306    }
307
308    #[doc = "Read the full document as an SDDocument structure."]
309    pub fn get<'call>(
310        &'call self,
311        params: &'call DocGetBoundParams,
312    ) -> impl std::future::Future<Output = Result<DocGetResult>> + Send + 'call {
313        self.get_with_options(params, InvokeOptions::default())
314    }
315    #[doc = "Read the full document as an SDDocument structure."]
316    pub async fn get_with_options(
317        &self,
318        params: &DocGetBoundParams,
319        options: InvokeOptions,
320    ) -> Result<DocGetResult> {
321        let params = serde_json::to_value(params)
322            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
323        let result = self.invoker.invoke("doc.get", params, options).await?;
324        serde_json::from_value(result).map_err(|decode| {
325            let mut error = Error::decode(decode);
326            error.operation_id = Some("doc.get".into());
327            error.outcome_unknown = false;
328            self.invoker.handle_decode_error(error)
329        })
330    }
331
332    #[doc = "Extract the document content as an HTML string."]
333    pub fn get_html<'call>(
334        &'call self,
335        params: &'call DocGetHtmlBoundParams,
336    ) -> impl std::future::Future<Output = Result<DocGetHtmlResult>> + Send + 'call {
337        self.get_html_with_options(params, InvokeOptions::default())
338    }
339    #[doc = "Extract the document content as an HTML string."]
340    pub async fn get_html_with_options(
341        &self,
342        params: &DocGetHtmlBoundParams,
343        options: InvokeOptions,
344    ) -> Result<DocGetHtmlResult> {
345        let params = serde_json::to_value(params)
346            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
347        let result = self.invoker.invoke("doc.getHtml", params, options).await?;
348        serde_json::from_value(result).map_err(|decode| {
349            let mut error = Error::decode(decode);
350            error.operation_id = Some("doc.getHtml".into());
351            error.outcome_unknown = false;
352            self.invoker.handle_decode_error(error)
353        })
354    }
355
356    #[doc = "Extract the document content as a Markdown string."]
357    pub fn get_markdown<'call>(
358        &'call self,
359        params: &'call DocGetMarkdownBoundParams,
360    ) -> impl std::future::Future<Output = Result<DocGetMarkdownResult>> + Send + 'call {
361        self.get_markdown_with_options(params, InvokeOptions::default())
362    }
363    #[doc = "Extract the document content as a Markdown string."]
364    pub async fn get_markdown_with_options(
365        &self,
366        params: &DocGetMarkdownBoundParams,
367        options: InvokeOptions,
368    ) -> Result<DocGetMarkdownResult> {
369        let params = serde_json::to_value(params)
370            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
371        let result = self
372            .invoker
373            .invoke("doc.getMarkdown", params, options)
374            .await?;
375        serde_json::from_value(result).map_err(|decode| {
376            let mut error = Error::decode(decode);
377            error.operation_id = Some("doc.getMarkdown".into());
378            error.outcome_unknown = false;
379            self.invoker.handle_decode_error(error)
380        })
381    }
382
383    #[doc = "Retrieve a single node by target position."]
384    pub fn get_node<'call>(
385        &'call self,
386        params: &'call DocGetNodeBoundParams,
387    ) -> impl std::future::Future<Output = Result<DocGetNodeResult>> + Send + 'call {
388        self.get_node_with_options(params, InvokeOptions::default())
389    }
390    #[doc = "Retrieve a single node by target position."]
391    pub async fn get_node_with_options(
392        &self,
393        params: &DocGetNodeBoundParams,
394        options: InvokeOptions,
395    ) -> Result<DocGetNodeResult> {
396        let params = serde_json::to_value(params)
397            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
398        let result = self.invoker.invoke("doc.getNode", params, options).await?;
399        serde_json::from_value(result).map_err(|decode| {
400            let mut error = Error::decode(decode);
401            error.operation_id = Some("doc.getNode".into());
402            error.outcome_unknown = false;
403            self.invoker.handle_decode_error(error)
404        })
405    }
406
407    #[doc = "Resolve a block ID across the body, linked headers/footers, and supported textboxes, optionally restricted by story. Paragraphs at every table-cell depth and top-level body/header/footer tables are supported; notes, comments, glossary, and nested table containers are excluded."]
408    pub fn get_node_by_id<'call>(
409        &'call self,
410        params: &'call DocGetNodeByIdBoundParams,
411    ) -> impl std::future::Future<Output = Result<DocGetNodeByIdResult>> + Send + 'call {
412        self.get_node_by_id_with_options(params, InvokeOptions::default())
413    }
414    #[doc = "Resolve a block ID across the body, linked headers/footers, and supported textboxes, optionally restricted by story. Paragraphs at every table-cell depth and top-level body/header/footer tables are supported; notes, comments, glossary, and nested table containers are excluded."]
415    pub async fn get_node_by_id_with_options(
416        &self,
417        params: &DocGetNodeByIdBoundParams,
418        options: InvokeOptions,
419    ) -> Result<DocGetNodeByIdResult> {
420        let params = serde_json::to_value(params)
421            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
422        let result = self
423            .invoker
424            .invoke("doc.getNodeById", params, options)
425            .await?;
426        serde_json::from_value(result).map_err(|decode| {
427            let mut error = Error::decode(decode);
428            error.operation_id = Some("doc.getNodeById".into());
429            error.outcome_unknown = false;
430            self.invoker.handle_decode_error(error)
431        })
432    }
433
434    #[doc = "Extract the plain-text content of the document."]
435    pub fn get_text<'call>(
436        &'call self,
437        params: &'call DocGetTextBoundParams,
438    ) -> impl std::future::Future<Output = Result<DocGetTextResult>> + Send + 'call {
439        self.get_text_with_options(params, InvokeOptions::default())
440    }
441    #[doc = "Extract the plain-text content of the document."]
442    pub async fn get_text_with_options(
443        &self,
444        params: &DocGetTextBoundParams,
445        options: InvokeOptions,
446    ) -> Result<DocGetTextResult> {
447        let params = serde_json::to_value(params)
448            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
449        let result = self.invoker.invoke("doc.getText", params, options).await?;
450        serde_json::from_value(result).map_err(|decode| {
451            let mut error = Error::decode(decode);
452            error.operation_id = Some("doc.getText".into());
453            error.outcome_unknown = false;
454            self.invoker.handle_decode_error(error)
455        })
456    }
457
458    #[doc = "Convert an HTML string into an SDM/1 structural fragment."]
459    pub fn html_to_fragment<'call>(
460        &'call self,
461        params: &'call DocHtmlToFragmentBoundParams,
462    ) -> impl std::future::Future<Output = Result<DocHtmlToFragmentResult>> + Send + 'call {
463        self.html_to_fragment_with_options(params, InvokeOptions::default())
464    }
465    #[doc = "Convert an HTML string into an SDM/1 structural fragment."]
466    pub async fn html_to_fragment_with_options(
467        &self,
468        params: &DocHtmlToFragmentBoundParams,
469        options: InvokeOptions,
470    ) -> Result<DocHtmlToFragmentResult> {
471        let params = serde_json::to_value(params)
472            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
473        let result = self
474            .invoker
475            .invoke("doc.htmlToFragment", params, options)
476            .await?;
477        serde_json::from_value(result).map_err(|decode| {
478            let mut error = Error::decode(decode);
479            error.operation_id = Some("doc.htmlToFragment".into());
480            error.outcome_unknown = false;
481            self.invoker.handle_decode_error(error)
482        })
483    }
484
485    #[doc = "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, list, and page counts, plus outline and capabilities."]
486    pub fn info<'call>(
487        &'call self,
488        params: &'call DocInfoBoundParams,
489    ) -> impl std::future::Future<Output = Result<DocInfoResult>> + Send + 'call {
490        self.info_with_options(params, InvokeOptions::default())
491    }
492    #[doc = "Return document summary info including word, character, paragraph, heading, table, image, comment, tracked-change, SDT-field, list, and page counts, plus outline and capabilities."]
493    pub async fn info_with_options(
494        &self,
495        params: &DocInfoBoundParams,
496        options: InvokeOptions,
497    ) -> Result<DocInfoResult> {
498        let params = serde_json::to_value(params)
499            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
500        let result = self.invoker.invoke("doc.info", params, options).await?;
501        serde_json::from_value(result).map_err(|decode| {
502            let mut error = Error::decode(decode);
503            error.operation_id = Some("doc.info".into());
504            error.outcome_unknown = false;
505            self.invoker.handle_decode_error(error)
506        })
507    }
508
509    #[doc = "Insert content into the document. Text, rich, structural, and native OOXML input shapes: text-based (value + type) inserts inline content at a SelectionTarget or ref position within an existing block; structural SDFragment (content) inserts one or more blocks as siblings relative to a BlockNodeAddress target. When target/ref is omitted, content appends at the end of the document. Text mode supports text (default), markdown, and html. Native type:ooxml accepts namespaces and dependency manifests, or capture accepts a portable selection.extractOoxml result. Native copies remap package and review identities and require direct mode. Rich markdown/html and structural modes use `placement` (before/after/insideStart/insideEnd) to position relative to a block target."]
510    pub fn insert<'call>(
511        &'call self,
512        params: &'call DocInsertBoundParams,
513    ) -> impl std::future::Future<Output = Result<DocInsertResult>> + Send + 'call {
514        self.insert_with_options(params, InvokeOptions::default())
515    }
516    #[doc = "Insert content into the document. Text, rich, structural, and native OOXML input shapes: text-based (value + type) inserts inline content at a SelectionTarget or ref position within an existing block; structural SDFragment (content) inserts one or more blocks as siblings relative to a BlockNodeAddress target. When target/ref is omitted, content appends at the end of the document. Text mode supports text (default), markdown, and html. Native type:ooxml accepts namespaces and dependency manifests, or capture accepts a portable selection.extractOoxml result. Native copies remap package and review identities and require direct mode. Rich markdown/html and structural modes use `placement` (before/after/insideStart/insideEnd) to position relative to a block target."]
517    pub async fn insert_with_options(
518        &self,
519        params: &DocInsertBoundParams,
520        options: InvokeOptions,
521    ) -> Result<DocInsertResult> {
522        let params = serde_json::to_value(params)
523            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
524        let result = self.invoker.invoke("doc.insert", params, options).await?;
525        serde_json::from_value(result).map_err(|decode| {
526            let mut error = Error::decode(decode);
527            error.operation_id = Some("doc.insert".into());
528            error.outcome_unknown = true;
529            self.invoker.handle_decode_error(error)
530        })
531    }
532
533    #[doc = "Insert a real Word line-break node at a collapsed text insertion point. Accepts the same target/ref shortcuts as insert, but only for point inserts."]
534    pub fn insert_line_break<'call>(
535        &'call self,
536        params: &'call DocInsertLineBreakBoundParams,
537    ) -> impl std::future::Future<Output = Result<DocInsertLineBreakResult>> + Send + 'call {
538        self.insert_line_break_with_options(params, InvokeOptions::default())
539    }
540    #[doc = "Insert a real Word line-break node at a collapsed text insertion point. Accepts the same target/ref shortcuts as insert, but only for point inserts."]
541    pub async fn insert_line_break_with_options(
542        &self,
543        params: &DocInsertLineBreakBoundParams,
544        options: InvokeOptions,
545    ) -> Result<DocInsertLineBreakResult> {
546        let params = serde_json::to_value(params)
547            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
548        let result = self
549            .invoker
550            .invoke("doc.insertLineBreak", params, options)
551            .await?;
552        serde_json::from_value(result).map_err(|decode| {
553            let mut error = Error::decode(decode);
554            error.operation_id = Some("doc.insertLineBreak".into());
555            error.outcome_unknown = true;
556            self.invoker.handle_decode_error(error)
557        })
558    }
559
560    #[doc = "Insert a real Word tab node at a collapsed text insertion point. Accepts the same target/ref shortcuts as insert, but only for point inserts."]
561    pub fn insert_tab<'call>(
562        &'call self,
563        params: &'call DocInsertTabBoundParams,
564    ) -> impl std::future::Future<Output = Result<DocInsertTabResult>> + Send + 'call {
565        self.insert_tab_with_options(params, InvokeOptions::default())
566    }
567    #[doc = "Insert a real Word tab node at a collapsed text insertion point. Accepts the same target/ref shortcuts as insert, but only for point inserts."]
568    pub async fn insert_tab_with_options(
569        &self,
570        params: &DocInsertTabBoundParams,
571        options: InvokeOptions,
572    ) -> Result<DocInsertTabResult> {
573        let params = serde_json::to_value(params)
574            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
575        let result = self
576            .invoker
577            .invoke("doc.insertTab", params, options)
578            .await?;
579        serde_json::from_value(result).map_err(|decode| {
580            let mut error = Error::decode(decode);
581            error.operation_id = Some("doc.insertTab".into());
582            error.outcome_unknown = true;
583            self.invoker.handle_decode_error(error)
584        })
585    }
586
587    #[doc = "Convert a Markdown string into an SDM/1 structural fragment."]
588    pub fn markdown_to_fragment<'call>(
589        &'call self,
590        params: &'call DocMarkdownToFragmentBoundParams,
591    ) -> impl std::future::Future<Output = Result<DocMarkdownToFragmentResult>> + Send + 'call {
592        self.markdown_to_fragment_with_options(params, InvokeOptions::default())
593    }
594    #[doc = "Convert a Markdown string into an SDM/1 structural fragment."]
595    pub async fn markdown_to_fragment_with_options(
596        &self,
597        params: &DocMarkdownToFragmentBoundParams,
598        options: InvokeOptions,
599    ) -> Result<DocMarkdownToFragmentResult> {
600        let params = serde_json::to_value(params)
601            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
602        let result = self
603            .invoker
604            .invoke("doc.markdownToFragment", params, options)
605            .await?;
606        serde_json::from_value(result).map_err(|decode| {
607            let mut error = Error::decode(decode);
608            error.operation_id = Some("doc.markdownToFragment".into());
609            error.outcome_unknown = false;
610            self.invoker.handle_decode_error(error)
611        })
612    }
613
614    #[doc = "Project document content as HTML with review, scope, diagnostics, and provenance metadata."]
615    pub fn project_html<'call>(
616        &'call self,
617        params: &'call DocProjectHtmlBoundParams,
618    ) -> impl std::future::Future<Output = Result<DocProjectHtmlResult>> + Send + 'call {
619        self.project_html_with_options(params, InvokeOptions::default())
620    }
621    #[doc = "Project document content as HTML with review, scope, diagnostics, and provenance metadata."]
622    pub async fn project_html_with_options(
623        &self,
624        params: &DocProjectHtmlBoundParams,
625        options: InvokeOptions,
626    ) -> Result<DocProjectHtmlResult> {
627        let params = serde_json::to_value(params)
628            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
629        let result = self
630            .invoker
631            .invoke("doc.projectHtml", params, options)
632            .await?;
633        serde_json::from_value(result).map_err(|decode| {
634            let mut error = Error::decode(decode);
635            error.operation_id = Some("doc.projectHtml".into());
636            error.outcome_unknown = false;
637            self.invoker.handle_decode_error(error)
638        })
639    }
640
641    #[doc = "Project document content as Markdown with review, scope, diagnostics, and provenance metadata."]
642    pub fn project_markdown<'call>(
643        &'call self,
644        params: &'call DocProjectMarkdownBoundParams,
645    ) -> impl std::future::Future<Output = Result<DocProjectMarkdownResult>> + Send + 'call {
646        self.project_markdown_with_options(params, InvokeOptions::default())
647    }
648    #[doc = "Project document content as Markdown with review, scope, diagnostics, and provenance metadata."]
649    pub async fn project_markdown_with_options(
650        &self,
651        params: &DocProjectMarkdownBoundParams,
652        options: InvokeOptions,
653    ) -> Result<DocProjectMarkdownResult> {
654        let params = serde_json::to_value(params)
655            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
656        let result = self
657            .invoker
658            .invoke("doc.projectMarkdown", params, options)
659            .await?;
660        serde_json::from_value(result).map_err(|decode| {
661            let mut error = Error::decode(decode);
662            error.operation_id = Some("doc.projectMarkdown".into());
663            error.outcome_unknown = false;
664            self.invoker.handle_decode_error(error)
665        })
666    }
667
668    #[doc = "Optional replaceMode:contents retains one paragraph, heading, or listItem container while applying text, HTML, Markdown, SDFragment, or native OOXML inlines. A retained snapshotId source restores exact same-session original markup with an expectedSnapshotId local precondition. These writes require direct mode; existing selection and structural behavior is unchanged. Replace content at a contiguous document selection. Text path accepts a SelectionTarget or ref plus replacement text. For explicit single-paragraph text selections, expectedText rejects mismatches with PRECONDITION_FAILED before mutation. Tracked text replacements accept replacementGranularity: word (default), phrase (join neighboring edits separated only by spaces), or range (replace the complete selection). This requires an explicit single-paragraph text selection. Rich string path accepts HTML or Markdown plus a BlockNodeAddress, SelectionTarget, or ref. Structural path accepts the same locator forms plus SDFragment content. A single-paragraph rich replacement may overlap pending insertions: tracked mode drops the covered part of your own insertion, nests a deletion inside another author's insertion, and adds the content as a new insertion; direct mode removes the covered part and leaves the rest pending. A tracked rich replacement spanning paragraphs that crosses a pending insertion, or a range that mixes pending insertions with comment, bookmark, field, or content-control markup, rejects without changes; capabilities.check reports the same result. An explicit {kind:'story', storyType:'body'} target replaces the complete main body in direct mode while preserving the destination DOCX package."]
669    pub fn replace<'call>(
670        &'call self,
671        params: &'call DocReplaceBoundParams,
672    ) -> impl std::future::Future<Output = Result<DocReplaceResult>> + Send + 'call {
673        self.replace_with_options(params, InvokeOptions::default())
674    }
675    #[doc = "Optional replaceMode:contents retains one paragraph, heading, or listItem container while applying text, HTML, Markdown, SDFragment, or native OOXML inlines. A retained snapshotId source restores exact same-session original markup with an expectedSnapshotId local precondition. These writes require direct mode; existing selection and structural behavior is unchanged. Replace content at a contiguous document selection. Text path accepts a SelectionTarget or ref plus replacement text. For explicit single-paragraph text selections, expectedText rejects mismatches with PRECONDITION_FAILED before mutation. Tracked text replacements accept replacementGranularity: word (default), phrase (join neighboring edits separated only by spaces), or range (replace the complete selection). This requires an explicit single-paragraph text selection. Rich string path accepts HTML or Markdown plus a BlockNodeAddress, SelectionTarget, or ref. Structural path accepts the same locator forms plus SDFragment content. A single-paragraph rich replacement may overlap pending insertions: tracked mode drops the covered part of your own insertion, nests a deletion inside another author's insertion, and adds the content as a new insertion; direct mode removes the covered part and leaves the rest pending. A tracked rich replacement spanning paragraphs that crosses a pending insertion, or a range that mixes pending insertions with comment, bookmark, field, or content-control markup, rejects without changes; capabilities.check reports the same result. An explicit {kind:'story', storyType:'body'} target replaces the complete main body in direct mode while preserving the destination DOCX package."]
676    pub async fn replace_with_options(
677        &self,
678        params: &DocReplaceBoundParams,
679        options: InvokeOptions,
680    ) -> Result<DocReplaceResult> {
681        let params = serde_json::to_value(params)
682            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
683        let result = self.invoker.invoke("doc.replace", params, options).await?;
684        serde_json::from_value(result).map_err(|decode| {
685            let mut error = Error::decode(decode);
686            error.operation_id = Some("doc.replace".into());
687            error.outcome_unknown = true;
688            self.invoker.handle_decode_error(error)
689        })
690    }
691
692    #[doc = "Save the current session to the original file or a new path. Supports explicit review-preserving, final, and original export modes."]
693    pub fn save<'call>(
694        &'call self,
695        params: &'call DocSaveBoundParams,
696    ) -> impl std::future::Future<Output = Result<DocSaveResult>> + Send + 'call {
697        self.save_with_options(params, InvokeOptions::default())
698    }
699    #[doc = "Save the current session to the original file or a new path. Supports explicit review-preserving, final, and original export modes."]
700    pub async fn save_with_options(
701        &self,
702        params: &DocSaveBoundParams,
703        options: InvokeOptions,
704    ) -> Result<DocSaveResult> {
705        let params = serde_json::to_value(params)
706            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
707        let result = self.invoker.invoke("doc.save", params, options).await?;
708        serde_json::from_value(result).map_err(|decode| {
709            let mut error = Error::decode(decode);
710            error.operation_id = Some("doc.save".into());
711            error.outcome_unknown = true;
712            self.invoker.handle_decode_error(error)
713        })
714    }
715}
716
717pub struct DocApiAuthorities<'a, I: Invoker> {
718    invoker: &'a I,
719}
720impl<'a, I: Invoker> DocApiAuthorities<'a, I> {
721    pub fn new(invoker: &'a I) -> Self {
722        Self { invoker }
723    }
724    pub fn entries(&self) -> DocApiAuthoritiesEntries<'a, I> {
725        DocApiAuthoritiesEntries::new(self.invoker)
726    }
727
728    #[doc = "Update the configuration of an existing table-of-authorities block."]
729    pub fn configure<'call>(
730        &'call self,
731        params: &'call DocAuthoritiesConfigureBoundParams,
732    ) -> impl std::future::Future<Output = Result<DocAuthoritiesConfigureResult>> + Send + 'call
733    {
734        self.configure_with_options(params, InvokeOptions::default())
735    }
736    #[doc = "Update the configuration of an existing table-of-authorities block."]
737    pub async fn configure_with_options(
738        &self,
739        params: &DocAuthoritiesConfigureBoundParams,
740        options: InvokeOptions,
741    ) -> Result<DocAuthoritiesConfigureResult> {
742        let params = serde_json::to_value(params)
743            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
744        let result = self
745            .invoker
746            .invoke("doc.authorities.configure", params, options)
747            .await?;
748        serde_json::from_value(result).map_err(|decode| {
749            let mut error = Error::decode(decode);
750            error.operation_id = Some("doc.authorities.configure".into());
751            error.outcome_unknown = true;
752            self.invoker.handle_decode_error(error)
753        })
754    }
755
756    #[doc = "Get detailed information about a specific table-of-authorities block."]
757    pub fn get<'call>(
758        &'call self,
759        params: &'call DocAuthoritiesGetBoundParams,
760    ) -> impl std::future::Future<Output = Result<DocAuthoritiesGetResult>> + Send + 'call {
761        self.get_with_options(params, InvokeOptions::default())
762    }
763    #[doc = "Get detailed information about a specific table-of-authorities block."]
764    pub async fn get_with_options(
765        &self,
766        params: &DocAuthoritiesGetBoundParams,
767        options: InvokeOptions,
768    ) -> Result<DocAuthoritiesGetResult> {
769        let params = serde_json::to_value(params)
770            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
771        let result = self
772            .invoker
773            .invoke("doc.authorities.get", params, options)
774            .await?;
775        serde_json::from_value(result).map_err(|decode| {
776            let mut error = Error::decode(decode);
777            error.operation_id = Some("doc.authorities.get".into());
778            error.outcome_unknown = false;
779            self.invoker.handle_decode_error(error)
780        })
781    }
782
783    #[doc = "Insert a new table-of-authorities block at a target location."]
784    pub fn insert<'call>(
785        &'call self,
786        params: &'call DocAuthoritiesInsertBoundParams,
787    ) -> impl std::future::Future<Output = Result<DocAuthoritiesInsertResult>> + Send + 'call {
788        self.insert_with_options(params, InvokeOptions::default())
789    }
790    #[doc = "Insert a new table-of-authorities block at a target location."]
791    pub async fn insert_with_options(
792        &self,
793        params: &DocAuthoritiesInsertBoundParams,
794        options: InvokeOptions,
795    ) -> Result<DocAuthoritiesInsertResult> {
796        let params = serde_json::to_value(params)
797            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
798        let result = self
799            .invoker
800            .invoke("doc.authorities.insert", params, options)
801            .await?;
802        serde_json::from_value(result).map_err(|decode| {
803            let mut error = Error::decode(decode);
804            error.operation_id = Some("doc.authorities.insert".into());
805            error.outcome_unknown = true;
806            self.invoker.handle_decode_error(error)
807        })
808    }
809
810    #[doc = "List all table-of-authorities blocks in the document."]
811    pub fn list<'call>(
812        &'call self,
813        params: &'call DocAuthoritiesListBoundParams,
814    ) -> impl std::future::Future<Output = Result<DocAuthoritiesListResult>> + Send + 'call {
815        self.list_with_options(params, InvokeOptions::default())
816    }
817    #[doc = "List all table-of-authorities blocks in the document."]
818    pub async fn list_with_options(
819        &self,
820        params: &DocAuthoritiesListBoundParams,
821        options: InvokeOptions,
822    ) -> Result<DocAuthoritiesListResult> {
823        let params = serde_json::to_value(params)
824            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
825        let result = self
826            .invoker
827            .invoke("doc.authorities.list", params, options)
828            .await?;
829        serde_json::from_value(result).map_err(|decode| {
830            let mut error = Error::decode(decode);
831            error.operation_id = Some("doc.authorities.list".into());
832            error.outcome_unknown = false;
833            self.invoker.handle_decode_error(error)
834        })
835    }
836
837    #[doc = "Rebuild a table-of-authorities block from its entries."]
838    pub fn rebuild<'call>(
839        &'call self,
840        params: &'call DocAuthoritiesRebuildBoundParams,
841    ) -> impl std::future::Future<Output = Result<DocAuthoritiesRebuildResult>> + Send + 'call {
842        self.rebuild_with_options(params, InvokeOptions::default())
843    }
844    #[doc = "Rebuild a table-of-authorities block from its entries."]
845    pub async fn rebuild_with_options(
846        &self,
847        params: &DocAuthoritiesRebuildBoundParams,
848        options: InvokeOptions,
849    ) -> Result<DocAuthoritiesRebuildResult> {
850        let params = serde_json::to_value(params)
851            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
852        let result = self
853            .invoker
854            .invoke("doc.authorities.rebuild", params, options)
855            .await?;
856        serde_json::from_value(result).map_err(|decode| {
857            let mut error = Error::decode(decode);
858            error.operation_id = Some("doc.authorities.rebuild".into());
859            error.outcome_unknown = true;
860            self.invoker.handle_decode_error(error)
861        })
862    }
863
864    #[doc = "Remove a table-of-authorities block from the document."]
865    pub fn remove<'call>(
866        &'call self,
867        params: &'call DocAuthoritiesRemoveBoundParams,
868    ) -> impl std::future::Future<Output = Result<DocAuthoritiesRemoveResult>> + Send + 'call {
869        self.remove_with_options(params, InvokeOptions::default())
870    }
871    #[doc = "Remove a table-of-authorities block from the document."]
872    pub async fn remove_with_options(
873        &self,
874        params: &DocAuthoritiesRemoveBoundParams,
875        options: InvokeOptions,
876    ) -> Result<DocAuthoritiesRemoveResult> {
877        let params = serde_json::to_value(params)
878            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
879        let result = self
880            .invoker
881            .invoke("doc.authorities.remove", params, options)
882            .await?;
883        serde_json::from_value(result).map_err(|decode| {
884            let mut error = Error::decode(decode);
885            error.operation_id = Some("doc.authorities.remove".into());
886            error.outcome_unknown = true;
887            self.invoker.handle_decode_error(error)
888        })
889    }
890}
891
892pub struct DocApiAuthoritiesEntries<'a, I: Invoker> {
893    invoker: &'a I,
894}
895impl<'a, I: Invoker> DocApiAuthoritiesEntries<'a, I> {
896    pub fn new(invoker: &'a I) -> Self {
897        Self { invoker }
898    }
899
900    #[doc = "Get detailed information about a specific TA authority entry."]
901    pub fn get<'call>(
902        &'call self,
903        params: &'call DocAuthoritiesEntriesGetBoundParams,
904    ) -> impl std::future::Future<Output = Result<DocAuthoritiesEntriesGetResult>> + Send + 'call
905    {
906        self.get_with_options(params, InvokeOptions::default())
907    }
908    #[doc = "Get detailed information about a specific TA authority entry."]
909    pub async fn get_with_options(
910        &self,
911        params: &DocAuthoritiesEntriesGetBoundParams,
912        options: InvokeOptions,
913    ) -> Result<DocAuthoritiesEntriesGetResult> {
914        let params = serde_json::to_value(params)
915            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
916        let result = self
917            .invoker
918            .invoke("doc.authorities.entries.get", params, options)
919            .await?;
920        serde_json::from_value(result).map_err(|decode| {
921            let mut error = Error::decode(decode);
922            error.operation_id = Some("doc.authorities.entries.get".into());
923            error.outcome_unknown = false;
924            self.invoker.handle_decode_error(error)
925        })
926    }
927
928    #[doc = "Insert a new TA authority entry field at a target location."]
929    pub fn insert<'call>(
930        &'call self,
931        params: &'call DocAuthoritiesEntriesInsertBoundParams,
932    ) -> impl std::future::Future<Output = Result<DocAuthoritiesEntriesInsertResult>> + Send + 'call
933    {
934        self.insert_with_options(params, InvokeOptions::default())
935    }
936    #[doc = "Insert a new TA authority entry field at a target location."]
937    pub async fn insert_with_options(
938        &self,
939        params: &DocAuthoritiesEntriesInsertBoundParams,
940        options: InvokeOptions,
941    ) -> Result<DocAuthoritiesEntriesInsertResult> {
942        let params = serde_json::to_value(params)
943            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
944        let result = self
945            .invoker
946            .invoke("doc.authorities.entries.insert", params, options)
947            .await?;
948        serde_json::from_value(result).map_err(|decode| {
949            let mut error = Error::decode(decode);
950            error.operation_id = Some("doc.authorities.entries.insert".into());
951            error.outcome_unknown = true;
952            self.invoker.handle_decode_error(error)
953        })
954    }
955
956    #[doc = "List all TA (authority entry) fields in the document."]
957    pub fn list<'call>(
958        &'call self,
959        params: &'call DocAuthoritiesEntriesListBoundParams,
960    ) -> impl std::future::Future<Output = Result<DocAuthoritiesEntriesListResult>> + Send + 'call
961    {
962        self.list_with_options(params, InvokeOptions::default())
963    }
964    #[doc = "List all TA (authority entry) fields in the document."]
965    pub async fn list_with_options(
966        &self,
967        params: &DocAuthoritiesEntriesListBoundParams,
968        options: InvokeOptions,
969    ) -> Result<DocAuthoritiesEntriesListResult> {
970        let params = serde_json::to_value(params)
971            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
972        let result = self
973            .invoker
974            .invoke("doc.authorities.entries.list", params, options)
975            .await?;
976        serde_json::from_value(result).map_err(|decode| {
977            let mut error = Error::decode(decode);
978            error.operation_id = Some("doc.authorities.entries.list".into());
979            error.outcome_unknown = false;
980            self.invoker.handle_decode_error(error)
981        })
982    }
983
984    #[doc = "Remove a TA authority entry field from the document."]
985    pub fn remove<'call>(
986        &'call self,
987        params: &'call DocAuthoritiesEntriesRemoveBoundParams,
988    ) -> impl std::future::Future<Output = Result<DocAuthoritiesEntriesRemoveResult>> + Send + 'call
989    {
990        self.remove_with_options(params, InvokeOptions::default())
991    }
992    #[doc = "Remove a TA authority entry field from the document."]
993    pub async fn remove_with_options(
994        &self,
995        params: &DocAuthoritiesEntriesRemoveBoundParams,
996        options: InvokeOptions,
997    ) -> Result<DocAuthoritiesEntriesRemoveResult> {
998        let params = serde_json::to_value(params)
999            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1000        let result = self
1001            .invoker
1002            .invoke("doc.authorities.entries.remove", params, options)
1003            .await?;
1004        serde_json::from_value(result).map_err(|decode| {
1005            let mut error = Error::decode(decode);
1006            error.operation_id = Some("doc.authorities.entries.remove".into());
1007            error.outcome_unknown = true;
1008            self.invoker.handle_decode_error(error)
1009        })
1010    }
1011
1012    #[doc = "Update the properties of an existing TA authority entry."]
1013    pub fn update<'call>(
1014        &'call self,
1015        params: &'call DocAuthoritiesEntriesUpdateBoundParams,
1016    ) -> impl std::future::Future<Output = Result<DocAuthoritiesEntriesUpdateResult>> + Send + 'call
1017    {
1018        self.update_with_options(params, InvokeOptions::default())
1019    }
1020    #[doc = "Update the properties of an existing TA authority entry."]
1021    pub async fn update_with_options(
1022        &self,
1023        params: &DocAuthoritiesEntriesUpdateBoundParams,
1024        options: InvokeOptions,
1025    ) -> Result<DocAuthoritiesEntriesUpdateResult> {
1026        let params = serde_json::to_value(params)
1027            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1028        let result = self
1029            .invoker
1030            .invoke("doc.authorities.entries.update", params, options)
1031            .await?;
1032        serde_json::from_value(result).map_err(|decode| {
1033            let mut error = Error::decode(decode);
1034            error.operation_id = Some("doc.authorities.entries.update".into());
1035            error.outcome_unknown = true;
1036            self.invoker.handle_decode_error(error)
1037        })
1038    }
1039}
1040
1041pub struct DocApiBlocks<'a, I: Invoker> {
1042    invoker: &'a I,
1043}
1044impl<'a, I: Invoker> DocApiBlocks<'a, I> {
1045    pub fn new(invoker: &'a I) -> Self {
1046        Self { invoker }
1047    }
1048
1049    #[doc = "Delete an entire block node (paragraph, heading, list item, table, image, or sdt) deterministically."]
1050    pub fn delete<'call>(
1051        &'call self,
1052        params: &'call DocBlocksDeleteBoundParams,
1053    ) -> impl std::future::Future<Output = Result<DocBlocksDeleteResult>> + Send + 'call {
1054        self.delete_with_options(params, InvokeOptions::default())
1055    }
1056    #[doc = "Delete an entire block node (paragraph, heading, list item, table, image, or sdt) deterministically."]
1057    pub async fn delete_with_options(
1058        &self,
1059        params: &DocBlocksDeleteBoundParams,
1060        options: InvokeOptions,
1061    ) -> Result<DocBlocksDeleteResult> {
1062        let params = serde_json::to_value(params)
1063            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1064        let result = self
1065            .invoker
1066            .invoke("doc.blocks.delete", params, options)
1067            .await?;
1068        serde_json::from_value(result).map_err(|decode| {
1069            let mut error = Error::decode(decode);
1070            error.operation_id = Some("doc.blocks.delete".into());
1071            error.outcome_unknown = true;
1072            self.invoker.handle_decode_error(error)
1073        })
1074    }
1075
1076    #[doc = "Delete a contiguous range of top-level blocks between two endpoints (inclusive). Both endpoints must be direct children of the document node. Supports dry-run preview."]
1077    pub fn delete_range<'call>(
1078        &'call self,
1079        params: &'call DocBlocksDeleteRangeBoundParams,
1080    ) -> impl std::future::Future<Output = Result<DocBlocksDeleteRangeResult>> + Send + 'call {
1081        self.delete_range_with_options(params, InvokeOptions::default())
1082    }
1083    #[doc = "Delete a contiguous range of top-level blocks between two endpoints (inclusive). Both endpoints must be direct children of the document node. Supports dry-run preview."]
1084    pub async fn delete_range_with_options(
1085        &self,
1086        params: &DocBlocksDeleteRangeBoundParams,
1087        options: InvokeOptions,
1088    ) -> Result<DocBlocksDeleteRangeResult> {
1089        let params = serde_json::to_value(params)
1090            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1091        let result = self
1092            .invoker
1093            .invoke("doc.blocks.deleteRange", params, options)
1094            .await?;
1095        serde_json::from_value(result).map_err(|decode| {
1096            let mut error = Error::decode(decode);
1097            error.operation_id = Some("doc.blocks.deleteRange".into());
1098            error.outcome_unknown = true;
1099            self.invoker.handle_decode_error(error)
1100        })
1101    }
1102
1103    #[doc = "Find top-level body blocks containing a literal case-insensitive substring. Matches flattened block text, coalescing repeated hits and nested table paragraphs into one block. Scans at most 20,000 blocks inside the document host and returns compact previews without transferring full-text pages."]
1104    pub fn find_text<'call>(
1105        &'call self,
1106        params: &'call DocBlocksFindTextBoundParams,
1107    ) -> impl std::future::Future<Output = Result<DocBlocksFindTextResult>> + Send + 'call {
1108        self.find_text_with_options(params, InvokeOptions::default())
1109    }
1110    #[doc = "Find top-level body blocks containing a literal case-insensitive substring. Matches flattened block text, coalescing repeated hits and nested table paragraphs into one block. Scans at most 20,000 blocks inside the document host and returns compact previews without transferring full-text pages."]
1111    pub async fn find_text_with_options(
1112        &self,
1113        params: &DocBlocksFindTextBoundParams,
1114        options: InvokeOptions,
1115    ) -> Result<DocBlocksFindTextResult> {
1116        let params = serde_json::to_value(params)
1117            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1118        let result = self
1119            .invoker
1120            .invoke("doc.blocks.findText", params, options)
1121            .await?;
1122        serde_json::from_value(result).map_err(|decode| {
1123            let mut error = Error::decode(decode);
1124            error.operation_id = Some("doc.blocks.findText".into());
1125            error.outcome_unknown = false;
1126            self.invoker.handle_decode_error(error)
1127        })
1128    }
1129
1130    #[doc = "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit after optional nodeTypes, nodeIds, and literal textSearch filtering, single-story scoping via `in: <StoryLocator>`, and final/original/redline projection of numbering metadata without changing block membership."]
1131    pub fn list<'call>(
1132        &'call self,
1133        params: &'call DocBlocksListBoundParams,
1134    ) -> impl std::future::Future<Output = Result<DocBlocksListResult>> + Send + 'call {
1135        self.list_with_options(params, InvokeOptions::default())
1136    }
1137    #[doc = "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit after optional nodeTypes, nodeIds, and literal textSearch filtering, single-story scoping via `in: <StoryLocator>`, and final/original/redline projection of numbering metadata without changing block membership."]
1138    pub async fn list_with_options(
1139        &self,
1140        params: &DocBlocksListBoundParams,
1141        options: InvokeOptions,
1142    ) -> Result<DocBlocksListResult> {
1143        let params = serde_json::to_value(params)
1144            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1145        let result = self
1146            .invoker
1147            .invoke("doc.blocks.list", params, options)
1148            .await?;
1149        serde_json::from_value(result).map_err(|decode| {
1150            let mut error = Error::decode(decode);
1151            error.operation_id = Some("doc.blocks.list".into());
1152            error.outcome_unknown = false;
1153            self.invoker.handle_decode_error(error)
1154        })
1155    }
1156
1157    #[doc = "Merge two adjacent paragraphs in the same story. The first paragraph keeps its pPr; the second paragraph is removed. Rejects when either paragraph carries a w:sectPr or when their numbering definitions differ."]
1158    pub fn merge<'call>(
1159        &'call self,
1160        params: &'call DocBlocksMergeBoundParams,
1161    ) -> impl std::future::Future<Output = Result<DocBlocksMergeResult>> + Send + 'call {
1162        self.merge_with_options(params, InvokeOptions::default())
1163    }
1164    #[doc = "Merge two adjacent paragraphs in the same story. The first paragraph keeps its pPr; the second paragraph is removed. Rejects when either paragraph carries a w:sectPr or when their numbering definitions differ."]
1165    pub async fn merge_with_options(
1166        &self,
1167        params: &DocBlocksMergeBoundParams,
1168        options: InvokeOptions,
1169    ) -> Result<DocBlocksMergeResult> {
1170        let params = serde_json::to_value(params)
1171            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1172        let result = self
1173            .invoker
1174            .invoke("doc.blocks.merge", params, options)
1175            .await?;
1176        serde_json::from_value(result).map_err(|decode| {
1177            let mut error = Error::decode(decode);
1178            error.operation_id = Some("doc.blocks.merge".into());
1179            error.outcome_unknown = true;
1180            self.invoker.handle_decode_error(error)
1181        })
1182    }
1183
1184    #[doc = "Move a paragraph within the same story to a new anchor paragraph (before or after). Cross-story and relationship-bearing moves reject with named reasons. Tracked-mode authoring emits paired `<w:moveFrom>` / `<w:moveTo>` review state with explicit move range marker identity; safe content (no comment/bookmark/permission anchors and no pre-existing tracked wrappers) is required for tracked authoring."]
1185    pub fn move_<'call>(
1186        &'call self,
1187        params: &'call DocBlocksMoveBoundParams,
1188    ) -> impl std::future::Future<Output = Result<DocBlocksMoveResult>> + Send + 'call {
1189        self.move_with_options(params, InvokeOptions::default())
1190    }
1191    #[doc = "Move a paragraph within the same story to a new anchor paragraph (before or after). Cross-story and relationship-bearing moves reject with named reasons. Tracked-mode authoring emits paired `<w:moveFrom>` / `<w:moveTo>` review state with explicit move range marker identity; safe content (no comment/bookmark/permission anchors and no pre-existing tracked wrappers) is required for tracked authoring."]
1192    pub async fn move_with_options(
1193        &self,
1194        params: &DocBlocksMoveBoundParams,
1195        options: InvokeOptions,
1196    ) -> Result<DocBlocksMoveResult> {
1197        let params = serde_json::to_value(params)
1198            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1199        let result = self
1200            .invoker
1201            .invoke("doc.blocks.move", params, options)
1202            .await?;
1203        serde_json::from_value(result).map_err(|decode| {
1204            let mut error = Error::decode(decode);
1205            error.operation_id = Some("doc.blocks.move".into());
1206            error.outcome_unknown = true;
1207            self.invoker.handle_decode_error(error)
1208        })
1209    }
1210
1211    #[doc = "Split a paragraph at a visible-text offset, producing two paragraphs. Preserves unambiguous simple run properties around the cut. Rejects when the paragraph contains fields, content controls, drawings, equations, or unsupported tracked-change wrappers."]
1212    pub fn split<'call>(
1213        &'call self,
1214        params: &'call DocBlocksSplitBoundParams,
1215    ) -> impl std::future::Future<Output = Result<DocBlocksSplitResult>> + Send + 'call {
1216        self.split_with_options(params, InvokeOptions::default())
1217    }
1218    #[doc = "Split a paragraph at a visible-text offset, producing two paragraphs. Preserves unambiguous simple run properties around the cut. Rejects when the paragraph contains fields, content controls, drawings, equations, or unsupported tracked-change wrappers."]
1219    pub async fn split_with_options(
1220        &self,
1221        params: &DocBlocksSplitBoundParams,
1222        options: InvokeOptions,
1223    ) -> Result<DocBlocksSplitResult> {
1224        let params = serde_json::to_value(params)
1225            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1226        let result = self
1227            .invoker
1228            .invoke("doc.blocks.split", params, options)
1229            .await?;
1230        serde_json::from_value(result).map_err(|decode| {
1231            let mut error = Error::decode(decode);
1232            error.operation_id = Some("doc.blocks.split".into());
1233            error.outcome_unknown = true;
1234            self.invoker.handle_decode_error(error)
1235        })
1236    }
1237}
1238
1239pub struct DocApiBookmarks<'a, I: Invoker> {
1240    invoker: &'a I,
1241}
1242impl<'a, I: Invoker> DocApiBookmarks<'a, I> {
1243    pub fn new(invoker: &'a I) -> Self {
1244        Self { invoker }
1245    }
1246
1247    #[doc = "Get detailed information about a specific bookmark."]
1248    pub fn get<'call>(
1249        &'call self,
1250        params: &'call DocBookmarksGetBoundParams,
1251    ) -> impl std::future::Future<Output = Result<DocBookmarksGetResult>> + Send + 'call {
1252        self.get_with_options(params, InvokeOptions::default())
1253    }
1254    #[doc = "Get detailed information about a specific bookmark."]
1255    pub async fn get_with_options(
1256        &self,
1257        params: &DocBookmarksGetBoundParams,
1258        options: InvokeOptions,
1259    ) -> Result<DocBookmarksGetResult> {
1260        let params = serde_json::to_value(params)
1261            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1262        let result = self
1263            .invoker
1264            .invoke("doc.bookmarks.get", params, options)
1265            .await?;
1266        serde_json::from_value(result).map_err(|decode| {
1267            let mut error = Error::decode(decode);
1268            error.operation_id = Some("doc.bookmarks.get".into());
1269            error.outcome_unknown = false;
1270            self.invoker.handle_decode_error(error)
1271        })
1272    }
1273
1274    #[doc = "Insert a new named bookmark at a target location."]
1275    pub fn insert<'call>(
1276        &'call self,
1277        params: &'call DocBookmarksInsertBoundParams,
1278    ) -> impl std::future::Future<Output = Result<DocBookmarksInsertResult>> + Send + 'call {
1279        self.insert_with_options(params, InvokeOptions::default())
1280    }
1281    #[doc = "Insert a new named bookmark at a target location."]
1282    pub async fn insert_with_options(
1283        &self,
1284        params: &DocBookmarksInsertBoundParams,
1285        options: InvokeOptions,
1286    ) -> Result<DocBookmarksInsertResult> {
1287        let params = serde_json::to_value(params)
1288            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1289        let result = self
1290            .invoker
1291            .invoke("doc.bookmarks.insert", params, options)
1292            .await?;
1293        serde_json::from_value(result).map_err(|decode| {
1294            let mut error = Error::decode(decode);
1295            error.operation_id = Some("doc.bookmarks.insert".into());
1296            error.outcome_unknown = true;
1297            self.invoker.handle_decode_error(error)
1298        })
1299    }
1300
1301    #[doc = "List all bookmarks in the document."]
1302    pub fn list<'call>(
1303        &'call self,
1304        params: &'call DocBookmarksListBoundParams,
1305    ) -> impl std::future::Future<Output = Result<DocBookmarksListResult>> + Send + 'call {
1306        self.list_with_options(params, InvokeOptions::default())
1307    }
1308    #[doc = "List all bookmarks in the document."]
1309    pub async fn list_with_options(
1310        &self,
1311        params: &DocBookmarksListBoundParams,
1312        options: InvokeOptions,
1313    ) -> Result<DocBookmarksListResult> {
1314        let params = serde_json::to_value(params)
1315            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1316        let result = self
1317            .invoker
1318            .invoke("doc.bookmarks.list", params, options)
1319            .await?;
1320        serde_json::from_value(result).map_err(|decode| {
1321            let mut error = Error::decode(decode);
1322            error.operation_id = Some("doc.bookmarks.list".into());
1323            error.outcome_unknown = false;
1324            self.invoker.handle_decode_error(error)
1325        })
1326    }
1327
1328    #[doc = "Remove a bookmark from the document."]
1329    pub fn remove<'call>(
1330        &'call self,
1331        params: &'call DocBookmarksRemoveBoundParams,
1332    ) -> impl std::future::Future<Output = Result<DocBookmarksRemoveResult>> + Send + 'call {
1333        self.remove_with_options(params, InvokeOptions::default())
1334    }
1335    #[doc = "Remove a bookmark from the document."]
1336    pub async fn remove_with_options(
1337        &self,
1338        params: &DocBookmarksRemoveBoundParams,
1339        options: InvokeOptions,
1340    ) -> Result<DocBookmarksRemoveResult> {
1341        let params = serde_json::to_value(params)
1342            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1343        let result = self
1344            .invoker
1345            .invoke("doc.bookmarks.remove", params, options)
1346            .await?;
1347        serde_json::from_value(result).map_err(|decode| {
1348            let mut error = Error::decode(decode);
1349            error.operation_id = Some("doc.bookmarks.remove".into());
1350            error.outcome_unknown = true;
1351            self.invoker.handle_decode_error(error)
1352        })
1353    }
1354
1355    #[doc = "Rename an existing bookmark."]
1356    pub fn rename<'call>(
1357        &'call self,
1358        params: &'call DocBookmarksRenameBoundParams,
1359    ) -> impl std::future::Future<Output = Result<DocBookmarksRenameResult>> + Send + 'call {
1360        self.rename_with_options(params, InvokeOptions::default())
1361    }
1362    #[doc = "Rename an existing bookmark."]
1363    pub async fn rename_with_options(
1364        &self,
1365        params: &DocBookmarksRenameBoundParams,
1366        options: InvokeOptions,
1367    ) -> Result<DocBookmarksRenameResult> {
1368        let params = serde_json::to_value(params)
1369            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1370        let result = self
1371            .invoker
1372            .invoke("doc.bookmarks.rename", params, options)
1373            .await?;
1374        serde_json::from_value(result).map_err(|decode| {
1375            let mut error = Error::decode(decode);
1376            error.operation_id = Some("doc.bookmarks.rename".into());
1377            error.outcome_unknown = true;
1378            self.invoker.handle_decode_error(error)
1379        })
1380    }
1381}
1382
1383pub struct DocApiCapabilities<'a, I: Invoker> {
1384    invoker: &'a I,
1385}
1386impl<'a, I: Invoker> DocApiCapabilities<'a, I> {
1387    pub fn new(invoker: &'a I) -> Self {
1388        Self { invoker }
1389    }
1390
1391    #[doc = "Check an exact HTML or Markdown insert, replace, or detailed projection against the current document without mutating it."]
1392    pub fn check<'call>(
1393        &'call self,
1394        params: &'call DocCapabilitiesCheckBoundParams,
1395    ) -> impl std::future::Future<Output = Result<DocCapabilitiesCheckResult>> + Send + 'call {
1396        self.check_with_options(params, InvokeOptions::default())
1397    }
1398    #[doc = "Check an exact HTML or Markdown insert, replace, or detailed projection against the current document without mutating it."]
1399    pub async fn check_with_options(
1400        &self,
1401        params: &DocCapabilitiesCheckBoundParams,
1402        options: InvokeOptions,
1403    ) -> Result<DocCapabilitiesCheckResult> {
1404        let params = serde_json::to_value(params)
1405            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1406        let result = self
1407            .invoker
1408            .invoke("doc.capabilities.check", params, options)
1409            .await?;
1410        serde_json::from_value(result).map_err(|decode| {
1411            let mut error = Error::decode(decode);
1412            error.operation_id = Some("doc.capabilities.check".into());
1413            error.outcome_unknown = false;
1414            self.invoker.handle_decode_error(error)
1415        })
1416    }
1417
1418    #[doc = "Query runtime capabilities supported by the current document engine."]
1419    pub fn get<'call>(
1420        &'call self,
1421        params: &'call DocCapabilitiesGetBoundParams,
1422    ) -> impl std::future::Future<Output = Result<DocCapabilitiesGetResult>> + Send + 'call {
1423        self.get_with_options(params, InvokeOptions::default())
1424    }
1425    #[doc = "Query runtime capabilities supported by the current document engine."]
1426    pub async fn get_with_options(
1427        &self,
1428        params: &DocCapabilitiesGetBoundParams,
1429        options: InvokeOptions,
1430    ) -> Result<DocCapabilitiesGetResult> {
1431        let params = serde_json::to_value(params)
1432            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1433        let result = self
1434            .invoker
1435            .invoke("doc.capabilities.get", params, options)
1436            .await?;
1437        serde_json::from_value(result).map_err(|decode| {
1438            let mut error = Error::decode(decode);
1439            error.operation_id = Some("doc.capabilities.get".into());
1440            error.outcome_unknown = false;
1441            self.invoker.handle_decode_error(error)
1442        })
1443    }
1444
1445    #[doc = "Resolve availability, tracked-mode support, and dry-run support for one concrete operation request."]
1446    pub fn resolve<'call>(
1447        &'call self,
1448        params: &'call DocCapabilitiesResolveBoundParams,
1449    ) -> impl std::future::Future<Output = Result<DocCapabilitiesResolveResult>> + Send + 'call
1450    {
1451        self.resolve_with_options(params, InvokeOptions::default())
1452    }
1453    #[doc = "Resolve availability, tracked-mode support, and dry-run support for one concrete operation request."]
1454    pub async fn resolve_with_options(
1455        &self,
1456        params: &DocCapabilitiesResolveBoundParams,
1457        options: InvokeOptions,
1458    ) -> Result<DocCapabilitiesResolveResult> {
1459        let params = serde_json::to_value(params)
1460            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1461        let result = self
1462            .invoker
1463            .invoke("doc.capabilities.resolve", params, options)
1464            .await?;
1465        serde_json::from_value(result).map_err(|decode| {
1466            let mut error = Error::decode(decode);
1467            error.operation_id = Some("doc.capabilities.resolve".into());
1468            error.outcome_unknown = false;
1469            self.invoker.handle_decode_error(error)
1470        })
1471    }
1472}
1473
1474pub struct DocApiCaptions<'a, I: Invoker> {
1475    invoker: &'a I,
1476}
1477impl<'a, I: Invoker> DocApiCaptions<'a, I> {
1478    pub fn new(invoker: &'a I) -> Self {
1479        Self { invoker }
1480    }
1481
1482    #[doc = "Configure numbering format for a caption label."]
1483    pub fn configure<'call>(
1484        &'call self,
1485        params: &'call DocCaptionsConfigureBoundParams,
1486    ) -> impl std::future::Future<Output = Result<DocCaptionsConfigureResult>> + Send + 'call {
1487        self.configure_with_options(params, InvokeOptions::default())
1488    }
1489    #[doc = "Configure numbering format for a caption label."]
1490    pub async fn configure_with_options(
1491        &self,
1492        params: &DocCaptionsConfigureBoundParams,
1493        options: InvokeOptions,
1494    ) -> Result<DocCaptionsConfigureResult> {
1495        let params = serde_json::to_value(params)
1496            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1497        let result = self
1498            .invoker
1499            .invoke("doc.captions.configure", params, options)
1500            .await?;
1501        serde_json::from_value(result).map_err(|decode| {
1502            let mut error = Error::decode(decode);
1503            error.operation_id = Some("doc.captions.configure".into());
1504            error.outcome_unknown = true;
1505            self.invoker.handle_decode_error(error)
1506        })
1507    }
1508
1509    #[doc = "Get detailed information about a specific caption paragraph."]
1510    pub fn get<'call>(
1511        &'call self,
1512        params: &'call DocCaptionsGetBoundParams,
1513    ) -> impl std::future::Future<Output = Result<DocCaptionsGetResult>> + Send + 'call {
1514        self.get_with_options(params, InvokeOptions::default())
1515    }
1516    #[doc = "Get detailed information about a specific caption paragraph."]
1517    pub async fn get_with_options(
1518        &self,
1519        params: &DocCaptionsGetBoundParams,
1520        options: InvokeOptions,
1521    ) -> Result<DocCaptionsGetResult> {
1522        let params = serde_json::to_value(params)
1523            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1524        let result = self
1525            .invoker
1526            .invoke("doc.captions.get", params, options)
1527            .await?;
1528        serde_json::from_value(result).map_err(|decode| {
1529            let mut error = Error::decode(decode);
1530            error.operation_id = Some("doc.captions.get".into());
1531            error.outcome_unknown = false;
1532            self.invoker.handle_decode_error(error)
1533        })
1534    }
1535
1536    #[doc = "Insert a new caption paragraph adjacent to a target block."]
1537    pub fn insert<'call>(
1538        &'call self,
1539        params: &'call DocCaptionsInsertBoundParams,
1540    ) -> impl std::future::Future<Output = Result<DocCaptionsInsertResult>> + Send + 'call {
1541        self.insert_with_options(params, InvokeOptions::default())
1542    }
1543    #[doc = "Insert a new caption paragraph adjacent to a target block."]
1544    pub async fn insert_with_options(
1545        &self,
1546        params: &DocCaptionsInsertBoundParams,
1547        options: InvokeOptions,
1548    ) -> Result<DocCaptionsInsertResult> {
1549        let params = serde_json::to_value(params)
1550            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1551        let result = self
1552            .invoker
1553            .invoke("doc.captions.insert", params, options)
1554            .await?;
1555        serde_json::from_value(result).map_err(|decode| {
1556            let mut error = Error::decode(decode);
1557            error.operation_id = Some("doc.captions.insert".into());
1558            error.outcome_unknown = true;
1559            self.invoker.handle_decode_error(error)
1560        })
1561    }
1562
1563    #[doc = "List all caption paragraphs in the document."]
1564    pub fn list<'call>(
1565        &'call self,
1566        params: &'call DocCaptionsListBoundParams,
1567    ) -> impl std::future::Future<Output = Result<DocCaptionsListResult>> + Send + 'call {
1568        self.list_with_options(params, InvokeOptions::default())
1569    }
1570    #[doc = "List all caption paragraphs in the document."]
1571    pub async fn list_with_options(
1572        &self,
1573        params: &DocCaptionsListBoundParams,
1574        options: InvokeOptions,
1575    ) -> Result<DocCaptionsListResult> {
1576        let params = serde_json::to_value(params)
1577            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1578        let result = self
1579            .invoker
1580            .invoke("doc.captions.list", params, options)
1581            .await?;
1582        serde_json::from_value(result).map_err(|decode| {
1583            let mut error = Error::decode(decode);
1584            error.operation_id = Some("doc.captions.list".into());
1585            error.outcome_unknown = false;
1586            self.invoker.handle_decode_error(error)
1587        })
1588    }
1589
1590    #[doc = "Remove a caption paragraph from the document."]
1591    pub fn remove<'call>(
1592        &'call self,
1593        params: &'call DocCaptionsRemoveBoundParams,
1594    ) -> impl std::future::Future<Output = Result<DocCaptionsRemoveResult>> + Send + 'call {
1595        self.remove_with_options(params, InvokeOptions::default())
1596    }
1597    #[doc = "Remove a caption paragraph from the document."]
1598    pub async fn remove_with_options(
1599        &self,
1600        params: &DocCaptionsRemoveBoundParams,
1601        options: InvokeOptions,
1602    ) -> Result<DocCaptionsRemoveResult> {
1603        let params = serde_json::to_value(params)
1604            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1605        let result = self
1606            .invoker
1607            .invoke("doc.captions.remove", params, options)
1608            .await?;
1609        serde_json::from_value(result).map_err(|decode| {
1610            let mut error = Error::decode(decode);
1611            error.operation_id = Some("doc.captions.remove".into());
1612            error.outcome_unknown = true;
1613            self.invoker.handle_decode_error(error)
1614        })
1615    }
1616
1617    #[doc = "Append patch text to an existing caption paragraph."]
1618    pub fn update<'call>(
1619        &'call self,
1620        params: &'call DocCaptionsUpdateBoundParams,
1621    ) -> impl std::future::Future<Output = Result<DocCaptionsUpdateResult>> + Send + 'call {
1622        self.update_with_options(params, InvokeOptions::default())
1623    }
1624    #[doc = "Append patch text to an existing caption paragraph."]
1625    pub async fn update_with_options(
1626        &self,
1627        params: &DocCaptionsUpdateBoundParams,
1628        options: InvokeOptions,
1629    ) -> Result<DocCaptionsUpdateResult> {
1630        let params = serde_json::to_value(params)
1631            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1632        let result = self
1633            .invoker
1634            .invoke("doc.captions.update", params, options)
1635            .await?;
1636        serde_json::from_value(result).map_err(|decode| {
1637            let mut error = Error::decode(decode);
1638            error.operation_id = Some("doc.captions.update".into());
1639            error.outcome_unknown = true;
1640            self.invoker.handle_decode_error(error)
1641        })
1642    }
1643}
1644
1645pub struct DocApiCitations<'a, I: Invoker> {
1646    invoker: &'a I,
1647}
1648impl<'a, I: Invoker> DocApiCitations<'a, I> {
1649    pub fn new(invoker: &'a I) -> Self {
1650        Self { invoker }
1651    }
1652    pub fn bibliography(&self) -> DocApiCitationsBibliography<'a, I> {
1653        DocApiCitationsBibliography::new(self.invoker)
1654    }
1655    pub fn sources(&self) -> DocApiCitationsSources<'a, I> {
1656        DocApiCitationsSources::new(self.invoker)
1657    }
1658
1659    #[doc = "Get detailed information about a specific citation mark."]
1660    pub fn get<'call>(
1661        &'call self,
1662        params: &'call DocCitationsGetBoundParams,
1663    ) -> impl std::future::Future<Output = Result<DocCitationsGetResult>> + Send + 'call {
1664        self.get_with_options(params, InvokeOptions::default())
1665    }
1666    #[doc = "Get detailed information about a specific citation mark."]
1667    pub async fn get_with_options(
1668        &self,
1669        params: &DocCitationsGetBoundParams,
1670        options: InvokeOptions,
1671    ) -> Result<DocCitationsGetResult> {
1672        let params = serde_json::to_value(params)
1673            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1674        let result = self
1675            .invoker
1676            .invoke("doc.citations.get", params, options)
1677            .await?;
1678        serde_json::from_value(result).map_err(|decode| {
1679            let mut error = Error::decode(decode);
1680            error.operation_id = Some("doc.citations.get".into());
1681            error.outcome_unknown = false;
1682            self.invoker.handle_decode_error(error)
1683        })
1684    }
1685
1686    #[doc = "Insert a new citation mark at a target location."]
1687    pub fn insert<'call>(
1688        &'call self,
1689        params: &'call DocCitationsInsertBoundParams,
1690    ) -> impl std::future::Future<Output = Result<DocCitationsInsertResult>> + Send + 'call {
1691        self.insert_with_options(params, InvokeOptions::default())
1692    }
1693    #[doc = "Insert a new citation mark at a target location."]
1694    pub async fn insert_with_options(
1695        &self,
1696        params: &DocCitationsInsertBoundParams,
1697        options: InvokeOptions,
1698    ) -> Result<DocCitationsInsertResult> {
1699        let params = serde_json::to_value(params)
1700            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1701        let result = self
1702            .invoker
1703            .invoke("doc.citations.insert", params, options)
1704            .await?;
1705        serde_json::from_value(result).map_err(|decode| {
1706            let mut error = Error::decode(decode);
1707            error.operation_id = Some("doc.citations.insert".into());
1708            error.outcome_unknown = true;
1709            self.invoker.handle_decode_error(error)
1710        })
1711    }
1712
1713    #[doc = "List all citation marks in the document."]
1714    pub fn list<'call>(
1715        &'call self,
1716        params: &'call DocCitationsListBoundParams,
1717    ) -> impl std::future::Future<Output = Result<DocCitationsListResult>> + Send + 'call {
1718        self.list_with_options(params, InvokeOptions::default())
1719    }
1720    #[doc = "List all citation marks in the document."]
1721    pub async fn list_with_options(
1722        &self,
1723        params: &DocCitationsListBoundParams,
1724        options: InvokeOptions,
1725    ) -> Result<DocCitationsListResult> {
1726        let params = serde_json::to_value(params)
1727            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1728        let result = self
1729            .invoker
1730            .invoke("doc.citations.list", params, options)
1731            .await?;
1732        serde_json::from_value(result).map_err(|decode| {
1733            let mut error = Error::decode(decode);
1734            error.operation_id = Some("doc.citations.list".into());
1735            error.outcome_unknown = false;
1736            self.invoker.handle_decode_error(error)
1737        })
1738    }
1739
1740    #[doc = "Remove a citation mark from the document."]
1741    pub fn remove<'call>(
1742        &'call self,
1743        params: &'call DocCitationsRemoveBoundParams,
1744    ) -> impl std::future::Future<Output = Result<DocCitationsRemoveResult>> + Send + 'call {
1745        self.remove_with_options(params, InvokeOptions::default())
1746    }
1747    #[doc = "Remove a citation mark from the document."]
1748    pub async fn remove_with_options(
1749        &self,
1750        params: &DocCitationsRemoveBoundParams,
1751        options: InvokeOptions,
1752    ) -> Result<DocCitationsRemoveResult> {
1753        let params = serde_json::to_value(params)
1754            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1755        let result = self
1756            .invoker
1757            .invoke("doc.citations.remove", params, options)
1758            .await?;
1759        serde_json::from_value(result).map_err(|decode| {
1760            let mut error = Error::decode(decode);
1761            error.operation_id = Some("doc.citations.remove".into());
1762            error.outcome_unknown = true;
1763            self.invoker.handle_decode_error(error)
1764        })
1765    }
1766
1767    #[doc = "Update an existing citation mark's source references."]
1768    pub fn update<'call>(
1769        &'call self,
1770        params: &'call DocCitationsUpdateBoundParams,
1771    ) -> impl std::future::Future<Output = Result<DocCitationsUpdateResult>> + Send + 'call {
1772        self.update_with_options(params, InvokeOptions::default())
1773    }
1774    #[doc = "Update an existing citation mark's source references."]
1775    pub async fn update_with_options(
1776        &self,
1777        params: &DocCitationsUpdateBoundParams,
1778        options: InvokeOptions,
1779    ) -> Result<DocCitationsUpdateResult> {
1780        let params = serde_json::to_value(params)
1781            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1782        let result = self
1783            .invoker
1784            .invoke("doc.citations.update", params, options)
1785            .await?;
1786        serde_json::from_value(result).map_err(|decode| {
1787            let mut error = Error::decode(decode);
1788            error.operation_id = Some("doc.citations.update".into());
1789            error.outcome_unknown = true;
1790            self.invoker.handle_decode_error(error)
1791        })
1792    }
1793}
1794
1795pub struct DocApiCitationsBibliography<'a, I: Invoker> {
1796    invoker: &'a I,
1797}
1798impl<'a, I: Invoker> DocApiCitationsBibliography<'a, I> {
1799    pub fn new(invoker: &'a I) -> Self {
1800        Self { invoker }
1801    }
1802
1803    #[doc = "Configure the bibliography style."]
1804    pub fn configure<'call>(
1805        &'call self,
1806        params: &'call DocCitationsBibliographyConfigureBoundParams,
1807    ) -> impl std::future::Future<Output = Result<DocCitationsBibliographyConfigureResult>> + Send + 'call
1808    {
1809        self.configure_with_options(params, InvokeOptions::default())
1810    }
1811    #[doc = "Configure the bibliography style."]
1812    pub async fn configure_with_options(
1813        &self,
1814        params: &DocCitationsBibliographyConfigureBoundParams,
1815        options: InvokeOptions,
1816    ) -> Result<DocCitationsBibliographyConfigureResult> {
1817        let params = serde_json::to_value(params)
1818            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1819        let result = self
1820            .invoker
1821            .invoke("doc.citations.bibliography.configure", params, options)
1822            .await?;
1823        serde_json::from_value(result).map_err(|decode| {
1824            let mut error = Error::decode(decode);
1825            error.operation_id = Some("doc.citations.bibliography.configure".into());
1826            error.outcome_unknown = true;
1827            self.invoker.handle_decode_error(error)
1828        })
1829    }
1830
1831    #[doc = "Get information about the bibliography block."]
1832    pub fn get<'call>(
1833        &'call self,
1834        params: &'call DocCitationsBibliographyGetBoundParams,
1835    ) -> impl std::future::Future<Output = Result<DocCitationsBibliographyGetResult>> + Send + 'call
1836    {
1837        self.get_with_options(params, InvokeOptions::default())
1838    }
1839    #[doc = "Get information about the bibliography block."]
1840    pub async fn get_with_options(
1841        &self,
1842        params: &DocCitationsBibliographyGetBoundParams,
1843        options: InvokeOptions,
1844    ) -> Result<DocCitationsBibliographyGetResult> {
1845        let params = serde_json::to_value(params)
1846            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1847        let result = self
1848            .invoker
1849            .invoke("doc.citations.bibliography.get", params, options)
1850            .await?;
1851        serde_json::from_value(result).map_err(|decode| {
1852            let mut error = Error::decode(decode);
1853            error.operation_id = Some("doc.citations.bibliography.get".into());
1854            error.outcome_unknown = false;
1855            self.invoker.handle_decode_error(error)
1856        })
1857    }
1858
1859    #[doc = "Insert a bibliography block at a target location."]
1860    pub fn insert<'call>(
1861        &'call self,
1862        params: &'call DocCitationsBibliographyInsertBoundParams,
1863    ) -> impl std::future::Future<Output = Result<DocCitationsBibliographyInsertResult>> + Send + 'call
1864    {
1865        self.insert_with_options(params, InvokeOptions::default())
1866    }
1867    #[doc = "Insert a bibliography block at a target location."]
1868    pub async fn insert_with_options(
1869        &self,
1870        params: &DocCitationsBibliographyInsertBoundParams,
1871        options: InvokeOptions,
1872    ) -> Result<DocCitationsBibliographyInsertResult> {
1873        let params = serde_json::to_value(params)
1874            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1875        let result = self
1876            .invoker
1877            .invoke("doc.citations.bibliography.insert", params, options)
1878            .await?;
1879        serde_json::from_value(result).map_err(|decode| {
1880            let mut error = Error::decode(decode);
1881            error.operation_id = Some("doc.citations.bibliography.insert".into());
1882            error.outcome_unknown = true;
1883            self.invoker.handle_decode_error(error)
1884        })
1885    }
1886
1887    #[doc = "Rebuild the bibliography from current sources."]
1888    pub fn rebuild<'call>(
1889        &'call self,
1890        params: &'call DocCitationsBibliographyRebuildBoundParams,
1891    ) -> impl std::future::Future<Output = Result<DocCitationsBibliographyRebuildResult>> + Send + 'call
1892    {
1893        self.rebuild_with_options(params, InvokeOptions::default())
1894    }
1895    #[doc = "Rebuild the bibliography from current sources."]
1896    pub async fn rebuild_with_options(
1897        &self,
1898        params: &DocCitationsBibliographyRebuildBoundParams,
1899        options: InvokeOptions,
1900    ) -> Result<DocCitationsBibliographyRebuildResult> {
1901        let params = serde_json::to_value(params)
1902            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1903        let result = self
1904            .invoker
1905            .invoke("doc.citations.bibliography.rebuild", params, options)
1906            .await?;
1907        serde_json::from_value(result).map_err(|decode| {
1908            let mut error = Error::decode(decode);
1909            error.operation_id = Some("doc.citations.bibliography.rebuild".into());
1910            error.outcome_unknown = true;
1911            self.invoker.handle_decode_error(error)
1912        })
1913    }
1914
1915    #[doc = "Remove the bibliography block from the document."]
1916    pub fn remove<'call>(
1917        &'call self,
1918        params: &'call DocCitationsBibliographyRemoveBoundParams,
1919    ) -> impl std::future::Future<Output = Result<DocCitationsBibliographyRemoveResult>> + Send + 'call
1920    {
1921        self.remove_with_options(params, InvokeOptions::default())
1922    }
1923    #[doc = "Remove the bibliography block from the document."]
1924    pub async fn remove_with_options(
1925        &self,
1926        params: &DocCitationsBibliographyRemoveBoundParams,
1927        options: InvokeOptions,
1928    ) -> Result<DocCitationsBibliographyRemoveResult> {
1929        let params = serde_json::to_value(params)
1930            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1931        let result = self
1932            .invoker
1933            .invoke("doc.citations.bibliography.remove", params, options)
1934            .await?;
1935        serde_json::from_value(result).map_err(|decode| {
1936            let mut error = Error::decode(decode);
1937            error.operation_id = Some("doc.citations.bibliography.remove".into());
1938            error.outcome_unknown = true;
1939            self.invoker.handle_decode_error(error)
1940        })
1941    }
1942}
1943
1944pub struct DocApiCitationsSources<'a, I: Invoker> {
1945    invoker: &'a I,
1946}
1947impl<'a, I: Invoker> DocApiCitationsSources<'a, I> {
1948    pub fn new(invoker: &'a I) -> Self {
1949        Self { invoker }
1950    }
1951
1952    #[doc = "Get detailed information about a specific citation source."]
1953    pub fn get<'call>(
1954        &'call self,
1955        params: &'call DocCitationsSourcesGetBoundParams,
1956    ) -> impl std::future::Future<Output = Result<DocCitationsSourcesGetResult>> + Send + 'call
1957    {
1958        self.get_with_options(params, InvokeOptions::default())
1959    }
1960    #[doc = "Get detailed information about a specific citation source."]
1961    pub async fn get_with_options(
1962        &self,
1963        params: &DocCitationsSourcesGetBoundParams,
1964        options: InvokeOptions,
1965    ) -> Result<DocCitationsSourcesGetResult> {
1966        let params = serde_json::to_value(params)
1967            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1968        let result = self
1969            .invoker
1970            .invoke("doc.citations.sources.get", params, options)
1971            .await?;
1972        serde_json::from_value(result).map_err(|decode| {
1973            let mut error = Error::decode(decode);
1974            error.operation_id = Some("doc.citations.sources.get".into());
1975            error.outcome_unknown = false;
1976            self.invoker.handle_decode_error(error)
1977        })
1978    }
1979
1980    #[doc = "Register a new citation source in the document store."]
1981    pub fn insert<'call>(
1982        &'call self,
1983        params: &'call DocCitationsSourcesInsertBoundParams,
1984    ) -> impl std::future::Future<Output = Result<DocCitationsSourcesInsertResult>> + Send + 'call
1985    {
1986        self.insert_with_options(params, InvokeOptions::default())
1987    }
1988    #[doc = "Register a new citation source in the document store."]
1989    pub async fn insert_with_options(
1990        &self,
1991        params: &DocCitationsSourcesInsertBoundParams,
1992        options: InvokeOptions,
1993    ) -> Result<DocCitationsSourcesInsertResult> {
1994        let params = serde_json::to_value(params)
1995            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
1996        let result = self
1997            .invoker
1998            .invoke("doc.citations.sources.insert", params, options)
1999            .await?;
2000        serde_json::from_value(result).map_err(|decode| {
2001            let mut error = Error::decode(decode);
2002            error.operation_id = Some("doc.citations.sources.insert".into());
2003            error.outcome_unknown = true;
2004            self.invoker.handle_decode_error(error)
2005        })
2006    }
2007
2008    #[doc = "List all citation sources in the document store."]
2009    pub fn list<'call>(
2010        &'call self,
2011        params: &'call DocCitationsSourcesListBoundParams,
2012    ) -> impl std::future::Future<Output = Result<DocCitationsSourcesListResult>> + Send + 'call
2013    {
2014        self.list_with_options(params, InvokeOptions::default())
2015    }
2016    #[doc = "List all citation sources in the document store."]
2017    pub async fn list_with_options(
2018        &self,
2019        params: &DocCitationsSourcesListBoundParams,
2020        options: InvokeOptions,
2021    ) -> Result<DocCitationsSourcesListResult> {
2022        let params = serde_json::to_value(params)
2023            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2024        let result = self
2025            .invoker
2026            .invoke("doc.citations.sources.list", params, options)
2027            .await?;
2028        serde_json::from_value(result).map_err(|decode| {
2029            let mut error = Error::decode(decode);
2030            error.operation_id = Some("doc.citations.sources.list".into());
2031            error.outcome_unknown = false;
2032            self.invoker.handle_decode_error(error)
2033        })
2034    }
2035
2036    #[doc = "Remove a citation source from the document store."]
2037    pub fn remove<'call>(
2038        &'call self,
2039        params: &'call DocCitationsSourcesRemoveBoundParams,
2040    ) -> impl std::future::Future<Output = Result<DocCitationsSourcesRemoveResult>> + Send + 'call
2041    {
2042        self.remove_with_options(params, InvokeOptions::default())
2043    }
2044    #[doc = "Remove a citation source from the document store."]
2045    pub async fn remove_with_options(
2046        &self,
2047        params: &DocCitationsSourcesRemoveBoundParams,
2048        options: InvokeOptions,
2049    ) -> Result<DocCitationsSourcesRemoveResult> {
2050        let params = serde_json::to_value(params)
2051            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2052        let result = self
2053            .invoker
2054            .invoke("doc.citations.sources.remove", params, options)
2055            .await?;
2056        serde_json::from_value(result).map_err(|decode| {
2057            let mut error = Error::decode(decode);
2058            error.operation_id = Some("doc.citations.sources.remove".into());
2059            error.outcome_unknown = true;
2060            self.invoker.handle_decode_error(error)
2061        })
2062    }
2063
2064    #[doc = "Update the fields of an existing citation source."]
2065    pub fn update<'call>(
2066        &'call self,
2067        params: &'call DocCitationsSourcesUpdateBoundParams,
2068    ) -> impl std::future::Future<Output = Result<DocCitationsSourcesUpdateResult>> + Send + 'call
2069    {
2070        self.update_with_options(params, InvokeOptions::default())
2071    }
2072    #[doc = "Update the fields of an existing citation source."]
2073    pub async fn update_with_options(
2074        &self,
2075        params: &DocCitationsSourcesUpdateBoundParams,
2076        options: InvokeOptions,
2077    ) -> Result<DocCitationsSourcesUpdateResult> {
2078        let params = serde_json::to_value(params)
2079            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2080        let result = self
2081            .invoker
2082            .invoke("doc.citations.sources.update", params, options)
2083            .await?;
2084        serde_json::from_value(result).map_err(|decode| {
2085            let mut error = Error::decode(decode);
2086            error.operation_id = Some("doc.citations.sources.update".into());
2087            error.outcome_unknown = true;
2088            self.invoker.handle_decode_error(error)
2089        })
2090    }
2091}
2092
2093pub struct DocApiClipboard<'a, I: Invoker> {
2094    invoker: &'a I,
2095}
2096impl<'a, I: Invoker> DocApiClipboard<'a, I> {
2097    pub fn new(invoker: &'a I) -> Self {
2098        Self { invoker }
2099    }
2100
2101    #[doc = "Insert a parsed clipboard plan, v2 fragment, or raw ClipboardPayload through the v2 pasteFragment kernel operation."]
2102    pub fn insert<'call>(
2103        &'call self,
2104        params: &'call DocClipboardInsertBoundParams,
2105    ) -> impl std::future::Future<Output = Result<DocClipboardInsertResult>> + Send + 'call {
2106        self.insert_with_options(params, InvokeOptions::default())
2107    }
2108    #[doc = "Insert a parsed clipboard plan, v2 fragment, or raw ClipboardPayload through the v2 pasteFragment kernel operation."]
2109    pub async fn insert_with_options(
2110        &self,
2111        params: &DocClipboardInsertBoundParams,
2112        options: InvokeOptions,
2113    ) -> Result<DocClipboardInsertResult> {
2114        let params = serde_json::to_value(params)
2115            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2116        let result = self
2117            .invoker
2118            .invoke("doc.clipboard.insert", params, options)
2119            .await?;
2120        serde_json::from_value(result).map_err(|decode| {
2121            let mut error = Error::decode(decode);
2122            error.operation_id = Some("doc.clipboard.insert".into());
2123            error.outcome_unknown = true;
2124            self.invoker.handle_decode_error(error)
2125        })
2126    }
2127
2128    #[doc = "Parse and sanitize a ClipboardPayload into a deterministic v2 clipboard insert plan with diagnostics. Does not mutate the document."]
2129    pub fn parse<'call>(
2130        &'call self,
2131        params: &'call DocClipboardParseBoundParams,
2132    ) -> impl std::future::Future<Output = Result<DocClipboardParseResult>> + Send + 'call {
2133        self.parse_with_options(params, InvokeOptions::default())
2134    }
2135    #[doc = "Parse and sanitize a ClipboardPayload into a deterministic v2 clipboard insert plan with diagnostics. Does not mutate the document."]
2136    pub async fn parse_with_options(
2137        &self,
2138        params: &DocClipboardParseBoundParams,
2139        options: InvokeOptions,
2140    ) -> Result<DocClipboardParseResult> {
2141        let params = serde_json::to_value(params)
2142            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2143        let result = self
2144            .invoker
2145            .invoke("doc.clipboard.parse", params, options)
2146            .await?;
2147        serde_json::from_value(result).map_err(|decode| {
2148            let mut error = Error::decode(decode);
2149            error.operation_id = Some("doc.clipboard.parse".into());
2150            error.outcome_unknown = false;
2151            self.invoker.handle_decode_error(error)
2152        })
2153    }
2154
2155    #[doc = "Serialize the current or supplied model selection into text/plain, text/html, and application/x-superdoc-v2-fragment clipboard payloads."]
2156    pub fn serialize_selection<'call>(
2157        &'call self,
2158        params: &'call DocClipboardSerializeSelectionBoundParams,
2159    ) -> impl std::future::Future<Output = Result<DocClipboardSerializeSelectionResult>> + Send + 'call
2160    {
2161        self.serialize_selection_with_options(params, InvokeOptions::default())
2162    }
2163    #[doc = "Serialize the current or supplied model selection into text/plain, text/html, and application/x-superdoc-v2-fragment clipboard payloads."]
2164    pub async fn serialize_selection_with_options(
2165        &self,
2166        params: &DocClipboardSerializeSelectionBoundParams,
2167        options: InvokeOptions,
2168    ) -> Result<DocClipboardSerializeSelectionResult> {
2169        let params = serde_json::to_value(params)
2170            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2171        let result = self
2172            .invoker
2173            .invoke("doc.clipboard.serializeSelection", params, options)
2174            .await?;
2175        serde_json::from_value(result).map_err(|decode| {
2176            let mut error = Error::decode(decode);
2177            error.operation_id = Some("doc.clipboard.serializeSelection".into());
2178            error.outcome_unknown = false;
2179            self.invoker.handle_decode_error(error)
2180        })
2181    }
2182}
2183
2184pub struct DocApiComments<'a, I: Invoker> {
2185    invoker: &'a I,
2186}
2187impl<'a, I: Invoker> DocApiComments<'a, I> {
2188    pub fn new(invoker: &'a I) -> Self {
2189        Self { invoker }
2190    }
2191
2192    #[doc = "Create a new comment thread (or reply when parentCommentId is given). Accepts TextAddress / TextTarget anchors, or a TrackedChangeCommentTarget that names a logical tracked-change id. The tracked-change target accepts both the explicit kind form and the Labs-compatible trackedChangeId-only form; the adapter normalizes it to a Word-compatible content anchor on the requested revision side. Callers may supply a durable externalId, or use the v1-compatible caller-supplied commentId alias, plus author fields and arbitrary JSON metadata for integration correlation. The caller-owned id remains distinct from the generated Word-compatible commentId."]
2193    pub fn create<'call>(
2194        &'call self,
2195        params: &'call DocCommentsCreateBoundParams,
2196    ) -> impl std::future::Future<Output = Result<DocCommentsCreateResult>> + Send + 'call {
2197        self.create_with_options(params, InvokeOptions::default())
2198    }
2199    #[doc = "Create a new comment thread (or reply when parentCommentId is given). Accepts TextAddress / TextTarget anchors, or a TrackedChangeCommentTarget that names a logical tracked-change id. The tracked-change target accepts both the explicit kind form and the Labs-compatible trackedChangeId-only form; the adapter normalizes it to a Word-compatible content anchor on the requested revision side. Callers may supply a durable externalId, or use the v1-compatible caller-supplied commentId alias, plus author fields and arbitrary JSON metadata for integration correlation. The caller-owned id remains distinct from the generated Word-compatible commentId."]
2200    pub async fn create_with_options(
2201        &self,
2202        params: &DocCommentsCreateBoundParams,
2203        options: InvokeOptions,
2204    ) -> Result<DocCommentsCreateResult> {
2205        let params = serde_json::to_value(params)
2206            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2207        let result = self
2208            .invoker
2209            .invoke("doc.comments.create", params, options)
2210            .await?;
2211        serde_json::from_value(result).map_err(|decode| {
2212            let mut error = Error::decode(decode);
2213            error.operation_id = Some("doc.comments.create".into());
2214            error.outcome_unknown = true;
2215            self.invoker.handle_decode_error(error)
2216        })
2217    }
2218
2219    #[doc = "Remove the targeted comment or reply by ID. Deleting a root does not delete descendant replies."]
2220    pub fn delete<'call>(
2221        &'call self,
2222        params: &'call DocCommentsDeleteBoundParams,
2223    ) -> impl std::future::Future<Output = Result<DocCommentsDeleteResult>> + Send + 'call {
2224        self.delete_with_options(params, InvokeOptions::default())
2225    }
2226    #[doc = "Remove the targeted comment or reply by ID. Deleting a root does not delete descendant replies."]
2227    pub async fn delete_with_options(
2228        &self,
2229        params: &DocCommentsDeleteBoundParams,
2230        options: InvokeOptions,
2231    ) -> Result<DocCommentsDeleteResult> {
2232        let params = serde_json::to_value(params)
2233            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2234        let result = self
2235            .invoker
2236            .invoke("doc.comments.delete", params, options)
2237            .await?;
2238        serde_json::from_value(result).map_err(|decode| {
2239            let mut error = Error::decode(decode);
2240            error.operation_id = Some("doc.comments.delete".into());
2241            error.outcome_unknown = true;
2242            self.invoker.handle_decode_error(error)
2243        })
2244    }
2245
2246    #[doc = "Retrieve a single comment thread by ID."]
2247    pub fn get<'call>(
2248        &'call self,
2249        params: &'call DocCommentsGetBoundParams,
2250    ) -> impl std::future::Future<Output = Result<DocCommentsGetResult>> + Send + 'call {
2251        self.get_with_options(params, InvokeOptions::default())
2252    }
2253    #[doc = "Retrieve a single comment thread by ID."]
2254    pub async fn get_with_options(
2255        &self,
2256        params: &DocCommentsGetBoundParams,
2257        options: InvokeOptions,
2258    ) -> Result<DocCommentsGetResult> {
2259        let params = serde_json::to_value(params)
2260            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2261        let result = self
2262            .invoker
2263            .invoke("doc.comments.get", params, options)
2264            .await?;
2265        serde_json::from_value(result).map_err(|decode| {
2266            let mut error = Error::decode(decode);
2267            error.operation_id = Some("doc.comments.get".into());
2268            error.outcome_unknown = false;
2269            self.invoker.handle_decode_error(error)
2270        })
2271    }
2272
2273    #[doc = "List all comment threads in the document."]
2274    pub fn list<'call>(
2275        &'call self,
2276        params: &'call DocCommentsListBoundParams,
2277    ) -> impl std::future::Future<Output = Result<DocCommentsListResult>> + Send + 'call {
2278        self.list_with_options(params, InvokeOptions::default())
2279    }
2280    #[doc = "List all comment threads in the document."]
2281    pub async fn list_with_options(
2282        &self,
2283        params: &DocCommentsListBoundParams,
2284        options: InvokeOptions,
2285    ) -> Result<DocCommentsListResult> {
2286        let params = serde_json::to_value(params)
2287            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2288        let result = self
2289            .invoker
2290            .invoke("doc.comments.list", params, options)
2291            .await?;
2292        serde_json::from_value(result).map_err(|decode| {
2293            let mut error = Error::decode(decode);
2294            error.operation_id = Some("doc.comments.list".into());
2295            error.outcome_unknown = false;
2296            self.invoker.handle_decode_error(error)
2297        })
2298    }
2299
2300    #[doc = "Patch exactly one field on an existing comment (`text`, `target`, `status`, or `isInternal`). The `target` branch accepts a plain TextAddress or a TrackedChangeCommentTarget, with or without `kind: \"trackedChange\"`, that names a logical tracked-change id. The legacy `isInternal` input sets or clears the `sdcom:internal` attribute for v1 backward compatibility. Multi-field patches and no-op edits are rejected with `INVALID_INPUT`; reply target / status patches are rejected with `INVALID_CONTEXT`."]
2301    pub fn patch<'call>(
2302        &'call self,
2303        params: &'call DocCommentsPatchBoundParams,
2304    ) -> impl std::future::Future<Output = Result<DocCommentsPatchResult>> + Send + 'call {
2305        self.patch_with_options(params, InvokeOptions::default())
2306    }
2307    #[doc = "Patch exactly one field on an existing comment (`text`, `target`, `status`, or `isInternal`). The `target` branch accepts a plain TextAddress or a TrackedChangeCommentTarget, with or without `kind: \"trackedChange\"`, that names a logical tracked-change id. The legacy `isInternal` input sets or clears the `sdcom:internal` attribute for v1 backward compatibility. Multi-field patches and no-op edits are rejected with `INVALID_INPUT`; reply target / status patches are rejected with `INVALID_CONTEXT`."]
2308    pub async fn patch_with_options(
2309        &self,
2310        params: &DocCommentsPatchBoundParams,
2311        options: InvokeOptions,
2312    ) -> Result<DocCommentsPatchResult> {
2313        let params = serde_json::to_value(params)
2314            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2315        let result = self
2316            .invoker
2317            .invoke("doc.comments.patch", params, options)
2318            .await?;
2319        serde_json::from_value(result).map_err(|decode| {
2320            let mut error = Error::decode(decode);
2321            error.operation_id = Some("doc.comments.patch".into());
2322            error.outcome_unknown = true;
2323            self.invoker.handle_decode_error(error)
2324        })
2325    }
2326}
2327
2328pub struct DocApiContentControls<'a, I: Invoker> {
2329    invoker: &'a I,
2330}
2331impl<'a, I: Invoker> DocApiContentControls<'a, I> {
2332    pub fn new(invoker: &'a I) -> Self {
2333        Self { invoker }
2334    }
2335    pub fn checkbox(&self) -> DocApiContentControlsCheckbox<'a, I> {
2336        DocApiContentControlsCheckbox::new(self.invoker)
2337    }
2338    pub fn choice_list(&self) -> DocApiContentControlsChoiceList<'a, I> {
2339        DocApiContentControlsChoiceList::new(self.invoker)
2340    }
2341    pub fn date(&self) -> DocApiContentControlsDate<'a, I> {
2342        DocApiContentControlsDate::new(self.invoker)
2343    }
2344    pub fn group(&self) -> DocApiContentControlsGroup<'a, I> {
2345        DocApiContentControlsGroup::new(self.invoker)
2346    }
2347    pub fn repeating_section(&self) -> DocApiContentControlsRepeatingSection<'a, I> {
2348        DocApiContentControlsRepeatingSection::new(self.invoker)
2349    }
2350    pub fn text(&self) -> DocApiContentControlsText<'a, I> {
2351        DocApiContentControlsText::new(self.invoker)
2352    }
2353
2354    #[doc = "Append content to the end of a content control."]
2355    pub fn append_content<'call>(
2356        &'call self,
2357        params: &'call DocContentControlsAppendContentBoundParams,
2358    ) -> impl std::future::Future<Output = Result<DocContentControlsAppendContentResult>> + Send + 'call
2359    {
2360        self.append_content_with_options(params, InvokeOptions::default())
2361    }
2362    #[doc = "Append content to the end of a content control."]
2363    pub async fn append_content_with_options(
2364        &self,
2365        params: &DocContentControlsAppendContentBoundParams,
2366        options: InvokeOptions,
2367    ) -> Result<DocContentControlsAppendContentResult> {
2368        let params = serde_json::to_value(params)
2369            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2370        let result = self
2371            .invoker
2372            .invoke("doc.contentControls.appendContent", params, options)
2373            .await?;
2374        serde_json::from_value(result).map_err(|decode| {
2375            let mut error = Error::decode(decode);
2376            error.operation_id = Some("doc.contentControls.appendContent".into());
2377            error.outcome_unknown = true;
2378            self.invoker.handle_decode_error(error)
2379        })
2380    }
2381
2382    #[doc = "Remove data binding metadata from a content control."]
2383    pub fn clear_binding<'call>(
2384        &'call self,
2385        params: &'call DocContentControlsClearBindingBoundParams,
2386    ) -> impl std::future::Future<Output = Result<DocContentControlsClearBindingResult>> + Send + 'call
2387    {
2388        self.clear_binding_with_options(params, InvokeOptions::default())
2389    }
2390    #[doc = "Remove data binding metadata from a content control."]
2391    pub async fn clear_binding_with_options(
2392        &self,
2393        params: &DocContentControlsClearBindingBoundParams,
2394        options: InvokeOptions,
2395    ) -> Result<DocContentControlsClearBindingResult> {
2396        let params = serde_json::to_value(params)
2397            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2398        let result = self
2399            .invoker
2400            .invoke("doc.contentControls.clearBinding", params, options)
2401            .await?;
2402        serde_json::from_value(result).map_err(|decode| {
2403            let mut error = Error::decode(decode);
2404            error.operation_id = Some("doc.contentControls.clearBinding".into());
2405            error.outcome_unknown = true;
2406            self.invoker.handle_decode_error(error)
2407        })
2408    }
2409
2410    #[doc = "Clear all content inside a content control, leaving it empty."]
2411    pub fn clear_content<'call>(
2412        &'call self,
2413        params: &'call DocContentControlsClearContentBoundParams,
2414    ) -> impl std::future::Future<Output = Result<DocContentControlsClearContentResult>> + Send + 'call
2415    {
2416        self.clear_content_with_options(params, InvokeOptions::default())
2417    }
2418    #[doc = "Clear all content inside a content control, leaving it empty."]
2419    pub async fn clear_content_with_options(
2420        &self,
2421        params: &DocContentControlsClearContentBoundParams,
2422        options: InvokeOptions,
2423    ) -> Result<DocContentControlsClearContentResult> {
2424        let params = serde_json::to_value(params)
2425            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2426        let result = self
2427            .invoker
2428            .invoke("doc.contentControls.clearContent", params, options)
2429            .await?;
2430        serde_json::from_value(result).map_err(|decode| {
2431            let mut error = Error::decode(decode);
2432            error.operation_id = Some("doc.contentControls.clearContent".into());
2433            error.outcome_unknown = true;
2434            self.invoker.handle_decode_error(error)
2435        })
2436    }
2437
2438    #[doc = "Copy a content control to a destination position. Copied SDTs receive new IDs."]
2439    pub fn copy<'call>(
2440        &'call self,
2441        params: &'call DocContentControlsCopyBoundParams,
2442    ) -> impl std::future::Future<Output = Result<DocContentControlsCopyResult>> + Send + 'call
2443    {
2444        self.copy_with_options(params, InvokeOptions::default())
2445    }
2446    #[doc = "Copy a content control to a destination position. Copied SDTs receive new IDs."]
2447    pub async fn copy_with_options(
2448        &self,
2449        params: &DocContentControlsCopyBoundParams,
2450        options: InvokeOptions,
2451    ) -> Result<DocContentControlsCopyResult> {
2452        let params = serde_json::to_value(params)
2453            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2454        let result = self
2455            .invoker
2456            .invoke("doc.contentControls.copy", params, options)
2457            .await?;
2458        serde_json::from_value(result).map_err(|decode| {
2459            let mut error = Error::decode(decode);
2460            error.operation_id = Some("doc.contentControls.copy".into());
2461            error.outcome_unknown = true;
2462            self.invoker.handle_decode_error(error)
2463        })
2464    }
2465
2466    #[doc = "Delete a content control and its content. Set overrideDeletionLock to remove a deletion-locked target without first unlocking it."]
2467    pub fn delete<'call>(
2468        &'call self,
2469        params: &'call DocContentControlsDeleteBoundParams,
2470    ) -> impl std::future::Future<Output = Result<DocContentControlsDeleteResult>> + Send + 'call
2471    {
2472        self.delete_with_options(params, InvokeOptions::default())
2473    }
2474    #[doc = "Delete a content control and its content. Set overrideDeletionLock to remove a deletion-locked target without first unlocking it."]
2475    pub async fn delete_with_options(
2476        &self,
2477        params: &DocContentControlsDeleteBoundParams,
2478        options: InvokeOptions,
2479    ) -> Result<DocContentControlsDeleteResult> {
2480        let params = serde_json::to_value(params)
2481            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2482        let result = self
2483            .invoker
2484            .invoke("doc.contentControls.delete", params, options)
2485            .await?;
2486        serde_json::from_value(result).map_err(|decode| {
2487            let mut error = Error::decode(decode);
2488            error.operation_id = Some("doc.contentControls.delete".into());
2489            error.outcome_unknown = true;
2490            self.invoker.handle_decode_error(error)
2491        })
2492    }
2493
2494    #[doc = "Retrieve a single content control by target."]
2495    pub fn get<'call>(
2496        &'call self,
2497        params: &'call DocContentControlsGetBoundParams,
2498    ) -> impl std::future::Future<Output = Result<DocContentControlsGetResult>> + Send + 'call {
2499        self.get_with_options(params, InvokeOptions::default())
2500    }
2501    #[doc = "Retrieve a single content control by target."]
2502    pub async fn get_with_options(
2503        &self,
2504        params: &DocContentControlsGetBoundParams,
2505        options: InvokeOptions,
2506    ) -> Result<DocContentControlsGetResult> {
2507        let params = serde_json::to_value(params)
2508            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2509        let result = self
2510            .invoker
2511            .invoke("doc.contentControls.get", params, options)
2512            .await?;
2513        serde_json::from_value(result).map_err(|decode| {
2514            let mut error = Error::decode(decode);
2515            error.operation_id = Some("doc.contentControls.get".into());
2516            error.outcome_unknown = false;
2517            self.invoker.handle_decode_error(error)
2518        })
2519    }
2520
2521    #[doc = "Get the data binding metadata (w:dataBinding) of a content control."]
2522    pub fn get_binding<'call>(
2523        &'call self,
2524        params: &'call DocContentControlsGetBindingBoundParams,
2525    ) -> impl std::future::Future<Output = Result<DocContentControlsGetBindingResult>> + Send + 'call
2526    {
2527        self.get_binding_with_options(params, InvokeOptions::default())
2528    }
2529    #[doc = "Get the data binding metadata (w:dataBinding) of a content control."]
2530    pub async fn get_binding_with_options(
2531        &self,
2532        params: &DocContentControlsGetBindingBoundParams,
2533        options: InvokeOptions,
2534    ) -> Result<DocContentControlsGetBindingResult> {
2535        let params = serde_json::to_value(params)
2536            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2537        let result = self
2538            .invoker
2539            .invoke("doc.contentControls.getBinding", params, options)
2540            .await?;
2541        serde_json::from_value(result).map_err(|decode| {
2542            let mut error = Error::decode(decode);
2543            error.operation_id = Some("doc.contentControls.getBinding".into());
2544            error.outcome_unknown = false;
2545            self.invoker.handle_decode_error(error)
2546        })
2547    }
2548
2549    #[doc = "Get the text content of a content control."]
2550    pub fn get_content<'call>(
2551        &'call self,
2552        params: &'call DocContentControlsGetContentBoundParams,
2553    ) -> impl std::future::Future<Output = Result<DocContentControlsGetContentResult>> + Send + 'call
2554    {
2555        self.get_content_with_options(params, InvokeOptions::default())
2556    }
2557    #[doc = "Get the text content of a content control."]
2558    pub async fn get_content_with_options(
2559        &self,
2560        params: &DocContentControlsGetContentBoundParams,
2561        options: InvokeOptions,
2562    ) -> Result<DocContentControlsGetContentResult> {
2563        let params = serde_json::to_value(params)
2564            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2565        let result = self
2566            .invoker
2567            .invoke("doc.contentControls.getContent", params, options)
2568            .await?;
2569        serde_json::from_value(result).map_err(|decode| {
2570            let mut error = Error::decode(decode);
2571            error.operation_id = Some("doc.contentControls.getContent".into());
2572            error.outcome_unknown = false;
2573            self.invoker.handle_decode_error(error)
2574        })
2575    }
2576
2577    #[doc = "Get the parent content control of the target, if any."]
2578    pub fn get_parent<'call>(
2579        &'call self,
2580        params: &'call DocContentControlsGetParentBoundParams,
2581    ) -> impl std::future::Future<Output = Result<DocContentControlsGetParentResult>> + Send + 'call
2582    {
2583        self.get_parent_with_options(params, InvokeOptions::default())
2584    }
2585    #[doc = "Get the parent content control of the target, if any."]
2586    pub async fn get_parent_with_options(
2587        &self,
2588        params: &DocContentControlsGetParentBoundParams,
2589        options: InvokeOptions,
2590    ) -> Result<DocContentControlsGetParentResult> {
2591        let params = serde_json::to_value(params)
2592            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2593        let result = self
2594            .invoker
2595            .invoke("doc.contentControls.getParent", params, options)
2596            .await?;
2597        serde_json::from_value(result).map_err(|decode| {
2598            let mut error = Error::decode(decode);
2599            error.operation_id = Some("doc.contentControls.getParent".into());
2600            error.outcome_unknown = false;
2601            self.invoker.handle_decode_error(error)
2602        })
2603    }
2604
2605    #[doc = "Get the raw sdtPr properties of a content control as a passthrough hash."]
2606    pub fn get_raw_properties<'call>(
2607        &'call self,
2608        params: &'call DocContentControlsGetRawPropertiesBoundParams,
2609    ) -> impl std::future::Future<Output = Result<DocContentControlsGetRawPropertiesResult>> + Send + 'call
2610    {
2611        self.get_raw_properties_with_options(params, InvokeOptions::default())
2612    }
2613    #[doc = "Get the raw sdtPr properties of a content control as a passthrough hash."]
2614    pub async fn get_raw_properties_with_options(
2615        &self,
2616        params: &DocContentControlsGetRawPropertiesBoundParams,
2617        options: InvokeOptions,
2618    ) -> Result<DocContentControlsGetRawPropertiesResult> {
2619        let params = serde_json::to_value(params)
2620            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2621        let result = self
2622            .invoker
2623            .invoke("doc.contentControls.getRawProperties", params, options)
2624            .await?;
2625        serde_json::from_value(result).map_err(|decode| {
2626            let mut error = Error::decode(decode);
2627            error.operation_id = Some("doc.contentControls.getRawProperties".into());
2628            error.outcome_unknown = false;
2629            self.invoker.handle_decode_error(error)
2630        })
2631    }
2632
2633    #[doc = "Insert content immediately after a content control."]
2634    pub fn insert_after<'call>(
2635        &'call self,
2636        params: &'call DocContentControlsInsertAfterBoundParams,
2637    ) -> impl std::future::Future<Output = Result<DocContentControlsInsertAfterResult>> + Send + 'call
2638    {
2639        self.insert_after_with_options(params, InvokeOptions::default())
2640    }
2641    #[doc = "Insert content immediately after a content control."]
2642    pub async fn insert_after_with_options(
2643        &self,
2644        params: &DocContentControlsInsertAfterBoundParams,
2645        options: InvokeOptions,
2646    ) -> Result<DocContentControlsInsertAfterResult> {
2647        let params = serde_json::to_value(params)
2648            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2649        let result = self
2650            .invoker
2651            .invoke("doc.contentControls.insertAfter", params, options)
2652            .await?;
2653        serde_json::from_value(result).map_err(|decode| {
2654            let mut error = Error::decode(decode);
2655            error.operation_id = Some("doc.contentControls.insertAfter".into());
2656            error.outcome_unknown = true;
2657            self.invoker.handle_decode_error(error)
2658        })
2659    }
2660
2661    #[doc = "Insert content immediately before a content control."]
2662    pub fn insert_before<'call>(
2663        &'call self,
2664        params: &'call DocContentControlsInsertBeforeBoundParams,
2665    ) -> impl std::future::Future<Output = Result<DocContentControlsInsertBeforeResult>> + Send + 'call
2666    {
2667        self.insert_before_with_options(params, InvokeOptions::default())
2668    }
2669    #[doc = "Insert content immediately before a content control."]
2670    pub async fn insert_before_with_options(
2671        &self,
2672        params: &DocContentControlsInsertBeforeBoundParams,
2673        options: InvokeOptions,
2674    ) -> Result<DocContentControlsInsertBeforeResult> {
2675        let params = serde_json::to_value(params)
2676            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2677        let result = self
2678            .invoker
2679            .invoke("doc.contentControls.insertBefore", params, options)
2680            .await?;
2681        serde_json::from_value(result).map_err(|decode| {
2682            let mut error = Error::decode(decode);
2683            error.operation_id = Some("doc.contentControls.insertBefore".into());
2684            error.outcome_unknown = true;
2685            self.invoker.handle_decode_error(error)
2686        })
2687    }
2688
2689    #[doc = "List all content controls in the document with optional type/tag filtering."]
2690    pub fn list<'call>(
2691        &'call self,
2692        params: &'call DocContentControlsListBoundParams,
2693    ) -> impl std::future::Future<Output = Result<DocContentControlsListResult>> + Send + 'call
2694    {
2695        self.list_with_options(params, InvokeOptions::default())
2696    }
2697    #[doc = "List all content controls in the document with optional type/tag filtering."]
2698    pub async fn list_with_options(
2699        &self,
2700        params: &DocContentControlsListBoundParams,
2701        options: InvokeOptions,
2702    ) -> Result<DocContentControlsListResult> {
2703        let params = serde_json::to_value(params)
2704            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2705        let result = self
2706            .invoker
2707            .invoke("doc.contentControls.list", params, options)
2708            .await?;
2709        serde_json::from_value(result).map_err(|decode| {
2710            let mut error = Error::decode(decode);
2711            error.operation_id = Some("doc.contentControls.list".into());
2712            error.outcome_unknown = false;
2713            self.invoker.handle_decode_error(error)
2714        })
2715    }
2716
2717    #[doc = "List direct child content controls nested inside the target."]
2718    pub fn list_children<'call>(
2719        &'call self,
2720        params: &'call DocContentControlsListChildrenBoundParams,
2721    ) -> impl std::future::Future<Output = Result<DocContentControlsListChildrenResult>> + Send + 'call
2722    {
2723        self.list_children_with_options(params, InvokeOptions::default())
2724    }
2725    #[doc = "List direct child content controls nested inside the target."]
2726    pub async fn list_children_with_options(
2727        &self,
2728        params: &DocContentControlsListChildrenBoundParams,
2729        options: InvokeOptions,
2730    ) -> Result<DocContentControlsListChildrenResult> {
2731        let params = serde_json::to_value(params)
2732            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2733        let result = self
2734            .invoker
2735            .invoke("doc.contentControls.listChildren", params, options)
2736            .await?;
2737        serde_json::from_value(result).map_err(|decode| {
2738            let mut error = Error::decode(decode);
2739            error.operation_id = Some("doc.contentControls.listChildren".into());
2740            error.outcome_unknown = false;
2741            self.invoker.handle_decode_error(error)
2742        })
2743    }
2744
2745    #[doc = "List content controls within a block range."]
2746    pub fn list_in_range<'call>(
2747        &'call self,
2748        params: &'call DocContentControlsListInRangeBoundParams,
2749    ) -> impl std::future::Future<Output = Result<DocContentControlsListInRangeResult>> + Send + 'call
2750    {
2751        self.list_in_range_with_options(params, InvokeOptions::default())
2752    }
2753    #[doc = "List content controls within a block range."]
2754    pub async fn list_in_range_with_options(
2755        &self,
2756        params: &DocContentControlsListInRangeBoundParams,
2757        options: InvokeOptions,
2758    ) -> Result<DocContentControlsListInRangeResult> {
2759        let params = serde_json::to_value(params)
2760            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2761        let result = self
2762            .invoker
2763            .invoke("doc.contentControls.listInRange", params, options)
2764            .await?;
2765        serde_json::from_value(result).map_err(|decode| {
2766            let mut error = Error::decode(decode);
2767            error.operation_id = Some("doc.contentControls.listInRange".into());
2768            error.outcome_unknown = false;
2769            self.invoker.handle_decode_error(error)
2770        })
2771    }
2772
2773    #[doc = "Move a content control to a new position: before or after another SDT, to the document start or end, or to an arbitrary caret inside a paragraph (the inParagraph destination) for drag-and-drop. Direct moves preserve the original ID; tracked-mode authoring supports safe top-level block SDTs (SDT-to-SDT destinations only) and remaps the destination SDT ID to avoid duplicate live anchors."]
2774    pub fn move_<'call>(
2775        &'call self,
2776        params: &'call DocContentControlsMoveBoundParams,
2777    ) -> impl std::future::Future<Output = Result<DocContentControlsMoveResult>> + Send + 'call
2778    {
2779        self.move_with_options(params, InvokeOptions::default())
2780    }
2781    #[doc = "Move a content control to a new position: before or after another SDT, to the document start or end, or to an arbitrary caret inside a paragraph (the inParagraph destination) for drag-and-drop. Direct moves preserve the original ID; tracked-mode authoring supports safe top-level block SDTs (SDT-to-SDT destinations only) and remaps the destination SDT ID to avoid duplicate live anchors."]
2782    pub async fn move_with_options(
2783        &self,
2784        params: &DocContentControlsMoveBoundParams,
2785        options: InvokeOptions,
2786    ) -> Result<DocContentControlsMoveResult> {
2787        let params = serde_json::to_value(params)
2788            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2789        let result = self
2790            .invoker
2791            .invoke("doc.contentControls.move", params, options)
2792            .await?;
2793        serde_json::from_value(result).map_err(|decode| {
2794            let mut error = Error::decode(decode);
2795            error.operation_id = Some("doc.contentControls.move".into());
2796            error.outcome_unknown = true;
2797            self.invoker.handle_decode_error(error)
2798        })
2799    }
2800
2801    #[doc = "Normalize a content control tag between plain-string and JSON-encoded formats."]
2802    pub fn normalize_tag_payload<'call>(
2803        &'call self,
2804        params: &'call DocContentControlsNormalizeTagPayloadBoundParams,
2805    ) -> impl std::future::Future<Output = Result<DocContentControlsNormalizeTagPayloadResult>>
2806           + Send
2807           + 'call {
2808        self.normalize_tag_payload_with_options(params, InvokeOptions::default())
2809    }
2810    #[doc = "Normalize a content control tag between plain-string and JSON-encoded formats."]
2811    pub async fn normalize_tag_payload_with_options(
2812        &self,
2813        params: &DocContentControlsNormalizeTagPayloadBoundParams,
2814        options: InvokeOptions,
2815    ) -> Result<DocContentControlsNormalizeTagPayloadResult> {
2816        let params = serde_json::to_value(params)
2817            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2818        let result = self
2819            .invoker
2820            .invoke("doc.contentControls.normalizeTagPayload", params, options)
2821            .await?;
2822        serde_json::from_value(result).map_err(|decode| {
2823            let mut error = Error::decode(decode);
2824            error.operation_id = Some("doc.contentControls.normalizeTagPayload".into());
2825            error.outcome_unknown = true;
2826            self.invoker.handle_decode_error(error)
2827        })
2828    }
2829
2830    #[doc = "Normalize a content control to resolve Word compatibility issues."]
2831    pub fn normalize_word_compatibility<'call>(
2832        &'call self,
2833        params: &'call DocContentControlsNormalizeWordCompatibilityBoundParams,
2834    ) -> impl std::future::Future<Output = Result<DocContentControlsNormalizeWordCompatibilityResult>>
2835           + Send
2836           + 'call {
2837        self.normalize_word_compatibility_with_options(params, InvokeOptions::default())
2838    }
2839    #[doc = "Normalize a content control to resolve Word compatibility issues."]
2840    pub async fn normalize_word_compatibility_with_options(
2841        &self,
2842        params: &DocContentControlsNormalizeWordCompatibilityBoundParams,
2843        options: InvokeOptions,
2844    ) -> Result<DocContentControlsNormalizeWordCompatibilityResult> {
2845        let params = serde_json::to_value(params)
2846            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2847        let result = self
2848            .invoker
2849            .invoke(
2850                "doc.contentControls.normalizeWordCompatibility",
2851                params,
2852                options,
2853            )
2854            .await?;
2855        serde_json::from_value(result).map_err(|decode| {
2856            let mut error = Error::decode(decode);
2857            error.operation_id = Some("doc.contentControls.normalizeWordCompatibility".into());
2858            error.outcome_unknown = true;
2859            self.invoker.handle_decode_error(error)
2860        })
2861    }
2862
2863    #[doc = "Patch metadata properties on a content control (tag, alias, appearance, color, etc.). V2 does not support placeholder or showingPlaceholder; defining either field rejects the entire patch without changing properties or content."]
2864    pub fn patch<'call>(
2865        &'call self,
2866        params: &'call DocContentControlsPatchBoundParams,
2867    ) -> impl std::future::Future<Output = Result<DocContentControlsPatchResult>> + Send + 'call
2868    {
2869        self.patch_with_options(params, InvokeOptions::default())
2870    }
2871    #[doc = "Patch metadata properties on a content control (tag, alias, appearance, color, etc.). V2 does not support placeholder or showingPlaceholder; defining either field rejects the entire patch without changing properties or content."]
2872    pub async fn patch_with_options(
2873        &self,
2874        params: &DocContentControlsPatchBoundParams,
2875        options: InvokeOptions,
2876    ) -> Result<DocContentControlsPatchResult> {
2877        let params = serde_json::to_value(params)
2878            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2879        let result = self
2880            .invoker
2881            .invoke("doc.contentControls.patch", params, options)
2882            .await?;
2883        serde_json::from_value(result).map_err(|decode| {
2884            let mut error = Error::decode(decode);
2885            error.operation_id = Some("doc.contentControls.patch".into());
2886            error.outcome_unknown = true;
2887            self.invoker.handle_decode_error(error)
2888        })
2889    }
2890
2891    #[doc = "Apply raw XML-level patches to the sdtPr subtree of a content control."]
2892    pub fn patch_raw_properties<'call>(
2893        &'call self,
2894        params: &'call DocContentControlsPatchRawPropertiesBoundParams,
2895    ) -> impl std::future::Future<Output = Result<DocContentControlsPatchRawPropertiesResult>>
2896           + Send
2897           + 'call {
2898        self.patch_raw_properties_with_options(params, InvokeOptions::default())
2899    }
2900    #[doc = "Apply raw XML-level patches to the sdtPr subtree of a content control."]
2901    pub async fn patch_raw_properties_with_options(
2902        &self,
2903        params: &DocContentControlsPatchRawPropertiesBoundParams,
2904        options: InvokeOptions,
2905    ) -> Result<DocContentControlsPatchRawPropertiesResult> {
2906        let params = serde_json::to_value(params)
2907            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2908        let result = self
2909            .invoker
2910            .invoke("doc.contentControls.patchRawProperties", params, options)
2911            .await?;
2912        serde_json::from_value(result).map_err(|decode| {
2913            let mut error = Error::decode(decode);
2914            error.operation_id = Some("doc.contentControls.patchRawProperties".into());
2915            error.outcome_unknown = true;
2916            self.invoker.handle_decode_error(error)
2917        })
2918    }
2919
2920    #[doc = "Prepend content to the beginning of a content control."]
2921    pub fn prepend_content<'call>(
2922        &'call self,
2923        params: &'call DocContentControlsPrependContentBoundParams,
2924    ) -> impl std::future::Future<Output = Result<DocContentControlsPrependContentResult>> + Send + 'call
2925    {
2926        self.prepend_content_with_options(params, InvokeOptions::default())
2927    }
2928    #[doc = "Prepend content to the beginning of a content control."]
2929    pub async fn prepend_content_with_options(
2930        &self,
2931        params: &DocContentControlsPrependContentBoundParams,
2932        options: InvokeOptions,
2933    ) -> Result<DocContentControlsPrependContentResult> {
2934        let params = serde_json::to_value(params)
2935            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2936        let result = self
2937            .invoker
2938            .invoke("doc.contentControls.prependContent", params, options)
2939            .await?;
2940        serde_json::from_value(result).map_err(|decode| {
2941            let mut error = Error::decode(decode);
2942            error.operation_id = Some("doc.contentControls.prependContent".into());
2943            error.outcome_unknown = true;
2944            self.invoker.handle_decode_error(error)
2945        })
2946    }
2947
2948    #[doc = "Replace the entire content of a content control. For direct V2 edits, overrideContentLock replaces locked content in one history entry while preserving the target lock and identity."]
2949    pub fn replace_content<'call>(
2950        &'call self,
2951        params: &'call DocContentControlsReplaceContentBoundParams,
2952    ) -> impl std::future::Future<Output = Result<DocContentControlsReplaceContentResult>> + Send + 'call
2953    {
2954        self.replace_content_with_options(params, InvokeOptions::default())
2955    }
2956    #[doc = "Replace the entire content of a content control. For direct V2 edits, overrideContentLock replaces locked content in one history entry while preserving the target lock and identity."]
2957    pub async fn replace_content_with_options(
2958        &self,
2959        params: &DocContentControlsReplaceContentBoundParams,
2960        options: InvokeOptions,
2961    ) -> Result<DocContentControlsReplaceContentResult> {
2962        let params = serde_json::to_value(params)
2963            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2964        let result = self
2965            .invoker
2966            .invoke("doc.contentControls.replaceContent", params, options)
2967            .await?;
2968        serde_json::from_value(result).map_err(|decode| {
2969            let mut error = Error::decode(decode);
2970            error.operation_id = Some("doc.contentControls.replaceContent".into());
2971            error.outcome_unknown = true;
2972            self.invoker.handle_decode_error(error)
2973        })
2974    }
2975
2976    #[doc = "Select content controls matching a specific tag value."]
2977    pub fn select_by_tag<'call>(
2978        &'call self,
2979        params: &'call DocContentControlsSelectByTagBoundParams,
2980    ) -> impl std::future::Future<Output = Result<DocContentControlsSelectByTagResult>> + Send + 'call
2981    {
2982        self.select_by_tag_with_options(params, InvokeOptions::default())
2983    }
2984    #[doc = "Select content controls matching a specific tag value."]
2985    pub async fn select_by_tag_with_options(
2986        &self,
2987        params: &DocContentControlsSelectByTagBoundParams,
2988        options: InvokeOptions,
2989    ) -> Result<DocContentControlsSelectByTagResult> {
2990        let params = serde_json::to_value(params)
2991            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
2992        let result = self
2993            .invoker
2994            .invoke("doc.contentControls.selectByTag", params, options)
2995            .await?;
2996        serde_json::from_value(result).map_err(|decode| {
2997            let mut error = Error::decode(decode);
2998            error.operation_id = Some("doc.contentControls.selectByTag".into());
2999            error.outcome_unknown = false;
3000            self.invoker.handle_decode_error(error)
3001        })
3002    }
3003
3004    #[doc = "Select content controls matching a specific title (alias) value."]
3005    pub fn select_by_title<'call>(
3006        &'call self,
3007        params: &'call DocContentControlsSelectByTitleBoundParams,
3008    ) -> impl std::future::Future<Output = Result<DocContentControlsSelectByTitleResult>> + Send + 'call
3009    {
3010        self.select_by_title_with_options(params, InvokeOptions::default())
3011    }
3012    #[doc = "Select content controls matching a specific title (alias) value."]
3013    pub async fn select_by_title_with_options(
3014        &self,
3015        params: &DocContentControlsSelectByTitleBoundParams,
3016        options: InvokeOptions,
3017    ) -> Result<DocContentControlsSelectByTitleResult> {
3018        let params = serde_json::to_value(params)
3019            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3020        let result = self
3021            .invoker
3022            .invoke("doc.contentControls.selectByTitle", params, options)
3023            .await?;
3024        serde_json::from_value(result).map_err(|decode| {
3025            let mut error = Error::decode(decode);
3026            error.operation_id = Some("doc.contentControls.selectByTitle".into());
3027            error.outcome_unknown = false;
3028            self.invoker.handle_decode_error(error)
3029        })
3030    }
3031
3032    #[doc = "Set data binding metadata on a content control."]
3033    pub fn set_binding<'call>(
3034        &'call self,
3035        params: &'call DocContentControlsSetBindingBoundParams,
3036    ) -> impl std::future::Future<Output = Result<DocContentControlsSetBindingResult>> + Send + 'call
3037    {
3038        self.set_binding_with_options(params, InvokeOptions::default())
3039    }
3040    #[doc = "Set data binding metadata on a content control."]
3041    pub async fn set_binding_with_options(
3042        &self,
3043        params: &DocContentControlsSetBindingBoundParams,
3044        options: InvokeOptions,
3045    ) -> Result<DocContentControlsSetBindingResult> {
3046        let params = serde_json::to_value(params)
3047            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3048        let result = self
3049            .invoker
3050            .invoke("doc.contentControls.setBinding", params, options)
3051            .await?;
3052        serde_json::from_value(result).map_err(|decode| {
3053            let mut error = Error::decode(decode);
3054            error.operation_id = Some("doc.contentControls.setBinding".into());
3055            error.outcome_unknown = true;
3056            self.invoker.handle_decode_error(error)
3057        })
3058    }
3059
3060    #[doc = "Set the lock mode on a content control. In non-collaborative V2 sessions, addToHistory: false excludes this lock change while retaining the lock across Undo/Redo."]
3061    pub fn set_lock_mode<'call>(
3062        &'call self,
3063        params: &'call DocContentControlsSetLockModeBoundParams,
3064    ) -> impl std::future::Future<Output = Result<DocContentControlsSetLockModeResult>> + Send + 'call
3065    {
3066        self.set_lock_mode_with_options(params, InvokeOptions::default())
3067    }
3068    #[doc = "Set the lock mode on a content control. In non-collaborative V2 sessions, addToHistory: false excludes this lock change while retaining the lock across Undo/Redo."]
3069    pub async fn set_lock_mode_with_options(
3070        &self,
3071        params: &DocContentControlsSetLockModeBoundParams,
3072        options: InvokeOptions,
3073    ) -> Result<DocContentControlsSetLockModeResult> {
3074        let params = serde_json::to_value(params)
3075            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3076        let result = self
3077            .invoker
3078            .invoke("doc.contentControls.setLockMode", params, options)
3079            .await?;
3080        serde_json::from_value(result).map_err(|decode| {
3081            let mut error = Error::decode(decode);
3082            error.operation_id = Some("doc.contentControls.setLockMode".into());
3083            error.outcome_unknown = true;
3084            self.invoker.handle_decode_error(error)
3085        })
3086    }
3087
3088    #[doc = "Transition a content control to a different semantic type. Metadata-only; no implicit content rewrite."]
3089    pub fn set_type<'call>(
3090        &'call self,
3091        params: &'call DocContentControlsSetTypeBoundParams,
3092    ) -> impl std::future::Future<Output = Result<DocContentControlsSetTypeResult>> + Send + 'call
3093    {
3094        self.set_type_with_options(params, InvokeOptions::default())
3095    }
3096    #[doc = "Transition a content control to a different semantic type. Metadata-only; no implicit content rewrite."]
3097    pub async fn set_type_with_options(
3098        &self,
3099        params: &DocContentControlsSetTypeBoundParams,
3100        options: InvokeOptions,
3101    ) -> Result<DocContentControlsSetTypeResult> {
3102        let params = serde_json::to_value(params)
3103            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3104        let result = self
3105            .invoker
3106            .invoke("doc.contentControls.setType", params, options)
3107            .await?;
3108        serde_json::from_value(result).map_err(|decode| {
3109            let mut error = Error::decode(decode);
3110            error.operation_id = Some("doc.contentControls.setType".into());
3111            error.outcome_unknown = true;
3112            self.invoker.handle_decode_error(error)
3113        })
3114    }
3115
3116    #[doc = "Remove the content control wrapper, preserving its content in place."]
3117    pub fn unwrap<'call>(
3118        &'call self,
3119        params: &'call DocContentControlsUnwrapBoundParams,
3120    ) -> impl std::future::Future<Output = Result<DocContentControlsUnwrapResult>> + Send + 'call
3121    {
3122        self.unwrap_with_options(params, InvokeOptions::default())
3123    }
3124    #[doc = "Remove the content control wrapper, preserving its content in place."]
3125    pub async fn unwrap_with_options(
3126        &self,
3127        params: &DocContentControlsUnwrapBoundParams,
3128        options: InvokeOptions,
3129    ) -> Result<DocContentControlsUnwrapResult> {
3130        let params = serde_json::to_value(params)
3131            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3132        let result = self
3133            .invoker
3134            .invoke("doc.contentControls.unwrap", params, options)
3135            .await?;
3136        serde_json::from_value(result).map_err(|decode| {
3137            let mut error = Error::decode(decode);
3138            error.operation_id = Some("doc.contentControls.unwrap".into());
3139            error.outcome_unknown = true;
3140            self.invoker.handle_decode_error(error)
3141        })
3142    }
3143
3144    #[doc = "Validate a content control for Word compatibility issues."]
3145    pub fn validate_word_compatibility<'call>(
3146        &'call self,
3147        params: &'call DocContentControlsValidateWordCompatibilityBoundParams,
3148    ) -> impl std::future::Future<Output = Result<DocContentControlsValidateWordCompatibilityResult>>
3149           + Send
3150           + 'call {
3151        self.validate_word_compatibility_with_options(params, InvokeOptions::default())
3152    }
3153    #[doc = "Validate a content control for Word compatibility issues."]
3154    pub async fn validate_word_compatibility_with_options(
3155        &self,
3156        params: &DocContentControlsValidateWordCompatibilityBoundParams,
3157        options: InvokeOptions,
3158    ) -> Result<DocContentControlsValidateWordCompatibilityResult> {
3159        let params = serde_json::to_value(params)
3160            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3161        let result = self
3162            .invoker
3163            .invoke(
3164                "doc.contentControls.validateWordCompatibility",
3165                params,
3166                options,
3167            )
3168            .await?;
3169        serde_json::from_value(result).map_err(|decode| {
3170            let mut error = Error::decode(decode);
3171            error.operation_id = Some("doc.contentControls.validateWordCompatibility".into());
3172            error.outcome_unknown = false;
3173            self.invoker.handle_decode_error(error)
3174        })
3175    }
3176
3177    #[doc = "Wrap existing content with a new content control."]
3178    pub fn wrap<'call>(
3179        &'call self,
3180        params: &'call DocContentControlsWrapBoundParams,
3181    ) -> impl std::future::Future<Output = Result<DocContentControlsWrapResult>> + Send + 'call
3182    {
3183        self.wrap_with_options(params, InvokeOptions::default())
3184    }
3185    #[doc = "Wrap existing content with a new content control."]
3186    pub async fn wrap_with_options(
3187        &self,
3188        params: &DocContentControlsWrapBoundParams,
3189        options: InvokeOptions,
3190    ) -> Result<DocContentControlsWrapResult> {
3191        let params = serde_json::to_value(params)
3192            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3193        let result = self
3194            .invoker
3195            .invoke("doc.contentControls.wrap", params, options)
3196            .await?;
3197        serde_json::from_value(result).map_err(|decode| {
3198            let mut error = Error::decode(decode);
3199            error.operation_id = Some("doc.contentControls.wrap".into());
3200            error.outcome_unknown = true;
3201            self.invoker.handle_decode_error(error)
3202        })
3203    }
3204}
3205
3206pub struct DocApiContentControlsCheckbox<'a, I: Invoker> {
3207    invoker: &'a I,
3208}
3209impl<'a, I: Invoker> DocApiContentControlsCheckbox<'a, I> {
3210    pub fn new(invoker: &'a I) -> Self {
3211        Self { invoker }
3212    }
3213
3214    #[doc = "Get the checked state of a checkbox content control."]
3215    pub fn get_state<'call>(
3216        &'call self,
3217        params: &'call DocContentControlsCheckboxGetStateBoundParams,
3218    ) -> impl std::future::Future<Output = Result<DocContentControlsCheckboxGetStateResult>> + Send + 'call
3219    {
3220        self.get_state_with_options(params, InvokeOptions::default())
3221    }
3222    #[doc = "Get the checked state of a checkbox content control."]
3223    pub async fn get_state_with_options(
3224        &self,
3225        params: &DocContentControlsCheckboxGetStateBoundParams,
3226        options: InvokeOptions,
3227    ) -> Result<DocContentControlsCheckboxGetStateResult> {
3228        let params = serde_json::to_value(params)
3229            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3230        let result = self
3231            .invoker
3232            .invoke("doc.contentControls.checkbox.getState", params, options)
3233            .await?;
3234        serde_json::from_value(result).map_err(|decode| {
3235            let mut error = Error::decode(decode);
3236            error.operation_id = Some("doc.contentControls.checkbox.getState".into());
3237            error.outcome_unknown = false;
3238            self.invoker.handle_decode_error(error)
3239        })
3240    }
3241
3242    #[doc = "Set the checked state of a checkbox content control."]
3243    pub fn set_state<'call>(
3244        &'call self,
3245        params: &'call DocContentControlsCheckboxSetStateBoundParams,
3246    ) -> impl std::future::Future<Output = Result<DocContentControlsCheckboxSetStateResult>> + Send + 'call
3247    {
3248        self.set_state_with_options(params, InvokeOptions::default())
3249    }
3250    #[doc = "Set the checked state of a checkbox content control."]
3251    pub async fn set_state_with_options(
3252        &self,
3253        params: &DocContentControlsCheckboxSetStateBoundParams,
3254        options: InvokeOptions,
3255    ) -> Result<DocContentControlsCheckboxSetStateResult> {
3256        let params = serde_json::to_value(params)
3257            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3258        let result = self
3259            .invoker
3260            .invoke("doc.contentControls.checkbox.setState", params, options)
3261            .await?;
3262        serde_json::from_value(result).map_err(|decode| {
3263            let mut error = Error::decode(decode);
3264            error.operation_id = Some("doc.contentControls.checkbox.setState".into());
3265            error.outcome_unknown = true;
3266            self.invoker.handle_decode_error(error)
3267        })
3268    }
3269
3270    #[doc = "Set the checked and unchecked symbol glyphs for a checkbox content control."]
3271    pub fn set_symbol_pair<'call>(
3272        &'call self,
3273        params: &'call DocContentControlsCheckboxSetSymbolPairBoundParams,
3274    ) -> impl std::future::Future<Output = Result<DocContentControlsCheckboxSetSymbolPairResult>>
3275           + Send
3276           + 'call {
3277        self.set_symbol_pair_with_options(params, InvokeOptions::default())
3278    }
3279    #[doc = "Set the checked and unchecked symbol glyphs for a checkbox content control."]
3280    pub async fn set_symbol_pair_with_options(
3281        &self,
3282        params: &DocContentControlsCheckboxSetSymbolPairBoundParams,
3283        options: InvokeOptions,
3284    ) -> Result<DocContentControlsCheckboxSetSymbolPairResult> {
3285        let params = serde_json::to_value(params)
3286            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3287        let result = self
3288            .invoker
3289            .invoke(
3290                "doc.contentControls.checkbox.setSymbolPair",
3291                params,
3292                options,
3293            )
3294            .await?;
3295        serde_json::from_value(result).map_err(|decode| {
3296            let mut error = Error::decode(decode);
3297            error.operation_id = Some("doc.contentControls.checkbox.setSymbolPair".into());
3298            error.outcome_unknown = true;
3299            self.invoker.handle_decode_error(error)
3300        })
3301    }
3302
3303    #[doc = "Toggle the checked state of a checkbox content control."]
3304    pub fn toggle<'call>(
3305        &'call self,
3306        params: &'call DocContentControlsCheckboxToggleBoundParams,
3307    ) -> impl std::future::Future<Output = Result<DocContentControlsCheckboxToggleResult>> + Send + 'call
3308    {
3309        self.toggle_with_options(params, InvokeOptions::default())
3310    }
3311    #[doc = "Toggle the checked state of a checkbox content control."]
3312    pub async fn toggle_with_options(
3313        &self,
3314        params: &DocContentControlsCheckboxToggleBoundParams,
3315        options: InvokeOptions,
3316    ) -> Result<DocContentControlsCheckboxToggleResult> {
3317        let params = serde_json::to_value(params)
3318            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3319        let result = self
3320            .invoker
3321            .invoke("doc.contentControls.checkbox.toggle", params, options)
3322            .await?;
3323        serde_json::from_value(result).map_err(|decode| {
3324            let mut error = Error::decode(decode);
3325            error.operation_id = Some("doc.contentControls.checkbox.toggle".into());
3326            error.outcome_unknown = true;
3327            self.invoker.handle_decode_error(error)
3328        })
3329    }
3330}
3331
3332pub struct DocApiContentControlsChoiceList<'a, I: Invoker> {
3333    invoker: &'a I,
3334}
3335impl<'a, I: Invoker> DocApiContentControlsChoiceList<'a, I> {
3336    pub fn new(invoker: &'a I) -> Self {
3337        Self { invoker }
3338    }
3339
3340    #[doc = "Get the list items and selected value of a comboBox or dropDownList content control."]
3341    pub fn get_items<'call>(
3342        &'call self,
3343        params: &'call DocContentControlsChoiceListGetItemsBoundParams,
3344    ) -> impl std::future::Future<Output = Result<DocContentControlsChoiceListGetItemsResult>>
3345           + Send
3346           + 'call {
3347        self.get_items_with_options(params, InvokeOptions::default())
3348    }
3349    #[doc = "Get the list items and selected value of a comboBox or dropDownList content control."]
3350    pub async fn get_items_with_options(
3351        &self,
3352        params: &DocContentControlsChoiceListGetItemsBoundParams,
3353        options: InvokeOptions,
3354    ) -> Result<DocContentControlsChoiceListGetItemsResult> {
3355        let params = serde_json::to_value(params)
3356            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3357        let result = self
3358            .invoker
3359            .invoke("doc.contentControls.choiceList.getItems", params, options)
3360            .await?;
3361        serde_json::from_value(result).map_err(|decode| {
3362            let mut error = Error::decode(decode);
3363            error.operation_id = Some("doc.contentControls.choiceList.getItems".into());
3364            error.outcome_unknown = false;
3365            self.invoker.handle_decode_error(error)
3366        })
3367    }
3368
3369    #[doc = "Replace the list items of a comboBox or dropDownList content control."]
3370    pub fn set_items<'call>(
3371        &'call self,
3372        params: &'call DocContentControlsChoiceListSetItemsBoundParams,
3373    ) -> impl std::future::Future<Output = Result<DocContentControlsChoiceListSetItemsResult>>
3374           + Send
3375           + 'call {
3376        self.set_items_with_options(params, InvokeOptions::default())
3377    }
3378    #[doc = "Replace the list items of a comboBox or dropDownList content control."]
3379    pub async fn set_items_with_options(
3380        &self,
3381        params: &DocContentControlsChoiceListSetItemsBoundParams,
3382        options: InvokeOptions,
3383    ) -> Result<DocContentControlsChoiceListSetItemsResult> {
3384        let params = serde_json::to_value(params)
3385            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3386        let result = self
3387            .invoker
3388            .invoke("doc.contentControls.choiceList.setItems", params, options)
3389            .await?;
3390        serde_json::from_value(result).map_err(|decode| {
3391            let mut error = Error::decode(decode);
3392            error.operation_id = Some("doc.contentControls.choiceList.setItems".into());
3393            error.outcome_unknown = true;
3394            self.invoker.handle_decode_error(error)
3395        })
3396    }
3397
3398    #[doc = "Set the selected value of a comboBox or dropDownList content control."]
3399    pub fn set_selected<'call>(
3400        &'call self,
3401        params: &'call DocContentControlsChoiceListSetSelectedBoundParams,
3402    ) -> impl std::future::Future<Output = Result<DocContentControlsChoiceListSetSelectedResult>>
3403           + Send
3404           + 'call {
3405        self.set_selected_with_options(params, InvokeOptions::default())
3406    }
3407    #[doc = "Set the selected value of a comboBox or dropDownList content control."]
3408    pub async fn set_selected_with_options(
3409        &self,
3410        params: &DocContentControlsChoiceListSetSelectedBoundParams,
3411        options: InvokeOptions,
3412    ) -> Result<DocContentControlsChoiceListSetSelectedResult> {
3413        let params = serde_json::to_value(params)
3414            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3415        let result = self
3416            .invoker
3417            .invoke(
3418                "doc.contentControls.choiceList.setSelected",
3419                params,
3420                options,
3421            )
3422            .await?;
3423        serde_json::from_value(result).map_err(|decode| {
3424            let mut error = Error::decode(decode);
3425            error.operation_id = Some("doc.contentControls.choiceList.setSelected".into());
3426            error.outcome_unknown = true;
3427            self.invoker.handle_decode_error(error)
3428        })
3429    }
3430}
3431
3432pub struct DocApiContentControlsDate<'a, I: Invoker> {
3433    invoker: &'a I,
3434}
3435impl<'a, I: Invoker> DocApiContentControlsDate<'a, I> {
3436    pub fn new(invoker: &'a I) -> Self {
3437        Self { invoker }
3438    }
3439
3440    #[doc = "Clear the date value of a date content control."]
3441    pub fn clear_value<'call>(
3442        &'call self,
3443        params: &'call DocContentControlsDateClearValueBoundParams,
3444    ) -> impl std::future::Future<Output = Result<DocContentControlsDateClearValueResult>> + Send + 'call
3445    {
3446        self.clear_value_with_options(params, InvokeOptions::default())
3447    }
3448    #[doc = "Clear the date value of a date content control."]
3449    pub async fn clear_value_with_options(
3450        &self,
3451        params: &DocContentControlsDateClearValueBoundParams,
3452        options: InvokeOptions,
3453    ) -> Result<DocContentControlsDateClearValueResult> {
3454        let params = serde_json::to_value(params)
3455            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3456        let result = self
3457            .invoker
3458            .invoke("doc.contentControls.date.clearValue", params, options)
3459            .await?;
3460        serde_json::from_value(result).map_err(|decode| {
3461            let mut error = Error::decode(decode);
3462            error.operation_id = Some("doc.contentControls.date.clearValue".into());
3463            error.outcome_unknown = true;
3464            self.invoker.handle_decode_error(error)
3465        })
3466    }
3467
3468    #[doc = "Set the calendar type for a date content control."]
3469    pub fn set_calendar<'call>(
3470        &'call self,
3471        params: &'call DocContentControlsDateSetCalendarBoundParams,
3472    ) -> impl std::future::Future<Output = Result<DocContentControlsDateSetCalendarResult>> + Send + 'call
3473    {
3474        self.set_calendar_with_options(params, InvokeOptions::default())
3475    }
3476    #[doc = "Set the calendar type for a date content control."]
3477    pub async fn set_calendar_with_options(
3478        &self,
3479        params: &DocContentControlsDateSetCalendarBoundParams,
3480        options: InvokeOptions,
3481    ) -> Result<DocContentControlsDateSetCalendarResult> {
3482        let params = serde_json::to_value(params)
3483            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3484        let result = self
3485            .invoker
3486            .invoke("doc.contentControls.date.setCalendar", params, options)
3487            .await?;
3488        serde_json::from_value(result).map_err(|decode| {
3489            let mut error = Error::decode(decode);
3490            error.operation_id = Some("doc.contentControls.date.setCalendar".into());
3491            error.outcome_unknown = true;
3492            self.invoker.handle_decode_error(error)
3493        })
3494    }
3495
3496    #[doc = "Set the display format string for a date content control."]
3497    pub fn set_display_format<'call>(
3498        &'call self,
3499        params: &'call DocContentControlsDateSetDisplayFormatBoundParams,
3500    ) -> impl std::future::Future<Output = Result<DocContentControlsDateSetDisplayFormatResult>>
3501           + Send
3502           + 'call {
3503        self.set_display_format_with_options(params, InvokeOptions::default())
3504    }
3505    #[doc = "Set the display format string for a date content control."]
3506    pub async fn set_display_format_with_options(
3507        &self,
3508        params: &DocContentControlsDateSetDisplayFormatBoundParams,
3509        options: InvokeOptions,
3510    ) -> Result<DocContentControlsDateSetDisplayFormatResult> {
3511        let params = serde_json::to_value(params)
3512            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3513        let result = self
3514            .invoker
3515            .invoke("doc.contentControls.date.setDisplayFormat", params, options)
3516            .await?;
3517        serde_json::from_value(result).map_err(|decode| {
3518            let mut error = Error::decode(decode);
3519            error.operation_id = Some("doc.contentControls.date.setDisplayFormat".into());
3520            error.outcome_unknown = true;
3521            self.invoker.handle_decode_error(error)
3522        })
3523    }
3524
3525    #[doc = "Set the display locale for a date content control."]
3526    pub fn set_display_locale<'call>(
3527        &'call self,
3528        params: &'call DocContentControlsDateSetDisplayLocaleBoundParams,
3529    ) -> impl std::future::Future<Output = Result<DocContentControlsDateSetDisplayLocaleResult>>
3530           + Send
3531           + 'call {
3532        self.set_display_locale_with_options(params, InvokeOptions::default())
3533    }
3534    #[doc = "Set the display locale for a date content control."]
3535    pub async fn set_display_locale_with_options(
3536        &self,
3537        params: &DocContentControlsDateSetDisplayLocaleBoundParams,
3538        options: InvokeOptions,
3539    ) -> Result<DocContentControlsDateSetDisplayLocaleResult> {
3540        let params = serde_json::to_value(params)
3541            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3542        let result = self
3543            .invoker
3544            .invoke("doc.contentControls.date.setDisplayLocale", params, options)
3545            .await?;
3546        serde_json::from_value(result).map_err(|decode| {
3547            let mut error = Error::decode(decode);
3548            error.operation_id = Some("doc.contentControls.date.setDisplayLocale".into());
3549            error.outcome_unknown = true;
3550            self.invoker.handle_decode_error(error)
3551        })
3552    }
3553
3554    #[doc = "Set the XML storage format for a date content control."]
3555    pub fn set_storage_format<'call>(
3556        &'call self,
3557        params: &'call DocContentControlsDateSetStorageFormatBoundParams,
3558    ) -> impl std::future::Future<Output = Result<DocContentControlsDateSetStorageFormatResult>>
3559           + Send
3560           + 'call {
3561        self.set_storage_format_with_options(params, InvokeOptions::default())
3562    }
3563    #[doc = "Set the XML storage format for a date content control."]
3564    pub async fn set_storage_format_with_options(
3565        &self,
3566        params: &DocContentControlsDateSetStorageFormatBoundParams,
3567        options: InvokeOptions,
3568    ) -> Result<DocContentControlsDateSetStorageFormatResult> {
3569        let params = serde_json::to_value(params)
3570            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3571        let result = self
3572            .invoker
3573            .invoke("doc.contentControls.date.setStorageFormat", params, options)
3574            .await?;
3575        serde_json::from_value(result).map_err(|decode| {
3576            let mut error = Error::decode(decode);
3577            error.operation_id = Some("doc.contentControls.date.setStorageFormat".into());
3578            error.outcome_unknown = true;
3579            self.invoker.handle_decode_error(error)
3580        })
3581    }
3582
3583    #[doc = "Set the date value of a date content control."]
3584    pub fn set_value<'call>(
3585        &'call self,
3586        params: &'call DocContentControlsDateSetValueBoundParams,
3587    ) -> impl std::future::Future<Output = Result<DocContentControlsDateSetValueResult>> + Send + 'call
3588    {
3589        self.set_value_with_options(params, InvokeOptions::default())
3590    }
3591    #[doc = "Set the date value of a date content control."]
3592    pub async fn set_value_with_options(
3593        &self,
3594        params: &DocContentControlsDateSetValueBoundParams,
3595        options: InvokeOptions,
3596    ) -> Result<DocContentControlsDateSetValueResult> {
3597        let params = serde_json::to_value(params)
3598            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3599        let result = self
3600            .invoker
3601            .invoke("doc.contentControls.date.setValue", params, options)
3602            .await?;
3603        serde_json::from_value(result).map_err(|decode| {
3604            let mut error = Error::decode(decode);
3605            error.operation_id = Some("doc.contentControls.date.setValue".into());
3606            error.outcome_unknown = true;
3607            self.invoker.handle_decode_error(error)
3608        })
3609    }
3610}
3611
3612pub struct DocApiContentControlsGroup<'a, I: Invoker> {
3613    invoker: &'a I,
3614}
3615impl<'a, I: Invoker> DocApiContentControlsGroup<'a, I> {
3616    pub fn new(invoker: &'a I) -> Self {
3617        Self { invoker }
3618    }
3619
3620    #[doc = "Remove the group designation from a group content control."]
3621    pub fn ungroup<'call>(
3622        &'call self,
3623        params: &'call DocContentControlsGroupUngroupBoundParams,
3624    ) -> impl std::future::Future<Output = Result<DocContentControlsGroupUngroupResult>> + Send + 'call
3625    {
3626        self.ungroup_with_options(params, InvokeOptions::default())
3627    }
3628    #[doc = "Remove the group designation from a group content control."]
3629    pub async fn ungroup_with_options(
3630        &self,
3631        params: &DocContentControlsGroupUngroupBoundParams,
3632        options: InvokeOptions,
3633    ) -> Result<DocContentControlsGroupUngroupResult> {
3634        let params = serde_json::to_value(params)
3635            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3636        let result = self
3637            .invoker
3638            .invoke("doc.contentControls.group.ungroup", params, options)
3639            .await?;
3640        serde_json::from_value(result).map_err(|decode| {
3641            let mut error = Error::decode(decode);
3642            error.operation_id = Some("doc.contentControls.group.ungroup".into());
3643            error.outcome_unknown = true;
3644            self.invoker.handle_decode_error(error)
3645        })
3646    }
3647
3648    #[doc = "Wrap a content control inside a new group content control. Always nests; not idempotent."]
3649    pub fn wrap<'call>(
3650        &'call self,
3651        params: &'call DocContentControlsGroupWrapBoundParams,
3652    ) -> impl std::future::Future<Output = Result<DocContentControlsGroupWrapResult>> + Send + 'call
3653    {
3654        self.wrap_with_options(params, InvokeOptions::default())
3655    }
3656    #[doc = "Wrap a content control inside a new group content control. Always nests; not idempotent."]
3657    pub async fn wrap_with_options(
3658        &self,
3659        params: &DocContentControlsGroupWrapBoundParams,
3660        options: InvokeOptions,
3661    ) -> Result<DocContentControlsGroupWrapResult> {
3662        let params = serde_json::to_value(params)
3663            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3664        let result = self
3665            .invoker
3666            .invoke("doc.contentControls.group.wrap", params, options)
3667            .await?;
3668        serde_json::from_value(result).map_err(|decode| {
3669            let mut error = Error::decode(decode);
3670            error.operation_id = Some("doc.contentControls.group.wrap".into());
3671            error.outcome_unknown = true;
3672            self.invoker.handle_decode_error(error)
3673        })
3674    }
3675}
3676
3677pub struct DocApiContentControlsRepeatingSection<'a, I: Invoker> {
3678    invoker: &'a I,
3679}
3680impl<'a, I: Invoker> DocApiContentControlsRepeatingSection<'a, I> {
3681    pub fn new(invoker: &'a I) -> Self {
3682        Self { invoker }
3683    }
3684
3685    #[doc = "Clone a repeating section item at the given index. Cloned SDTs receive new IDs."]
3686    pub fn clone_item<'call>(
3687        &'call self,
3688        params: &'call DocContentControlsRepeatingSectionCloneItemBoundParams,
3689    ) -> impl std::future::Future<Output = Result<DocContentControlsRepeatingSectionCloneItemResult>>
3690           + Send
3691           + 'call {
3692        self.clone_item_with_options(params, InvokeOptions::default())
3693    }
3694    #[doc = "Clone a repeating section item at the given index. Cloned SDTs receive new IDs."]
3695    pub async fn clone_item_with_options(
3696        &self,
3697        params: &DocContentControlsRepeatingSectionCloneItemBoundParams,
3698        options: InvokeOptions,
3699    ) -> Result<DocContentControlsRepeatingSectionCloneItemResult> {
3700        let params = serde_json::to_value(params)
3701            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3702        let result = self
3703            .invoker
3704            .invoke(
3705                "doc.contentControls.repeatingSection.cloneItem",
3706                params,
3707                options,
3708            )
3709            .await?;
3710        serde_json::from_value(result).map_err(|decode| {
3711            let mut error = Error::decode(decode);
3712            error.operation_id = Some("doc.contentControls.repeatingSection.cloneItem".into());
3713            error.outcome_unknown = true;
3714            self.invoker.handle_decode_error(error)
3715        })
3716    }
3717
3718    #[doc = "Delete a repeating section item at the given index."]
3719    pub fn delete_item<'call>(
3720        &'call self,
3721        params: &'call DocContentControlsRepeatingSectionDeleteItemBoundParams,
3722    ) -> impl std::future::Future<Output = Result<DocContentControlsRepeatingSectionDeleteItemResult>>
3723           + Send
3724           + 'call {
3725        self.delete_item_with_options(params, InvokeOptions::default())
3726    }
3727    #[doc = "Delete a repeating section item at the given index."]
3728    pub async fn delete_item_with_options(
3729        &self,
3730        params: &DocContentControlsRepeatingSectionDeleteItemBoundParams,
3731        options: InvokeOptions,
3732    ) -> Result<DocContentControlsRepeatingSectionDeleteItemResult> {
3733        let params = serde_json::to_value(params)
3734            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3735        let result = self
3736            .invoker
3737            .invoke(
3738                "doc.contentControls.repeatingSection.deleteItem",
3739                params,
3740                options,
3741            )
3742            .await?;
3743        serde_json::from_value(result).map_err(|decode| {
3744            let mut error = Error::decode(decode);
3745            error.operation_id = Some("doc.contentControls.repeatingSection.deleteItem".into());
3746            error.outcome_unknown = true;
3747            self.invoker.handle_decode_error(error)
3748        })
3749    }
3750
3751    #[doc = "Insert a new item after a specific index in a repeating section."]
3752    pub fn insert_item_after<'call>(
3753        &'call self,
3754        params: &'call DocContentControlsRepeatingSectionInsertItemAfterBoundParams,
3755    ) -> impl std::future::Future<
3756        Output = Result<DocContentControlsRepeatingSectionInsertItemAfterResult>,
3757    > + Send
3758           + 'call {
3759        self.insert_item_after_with_options(params, InvokeOptions::default())
3760    }
3761    #[doc = "Insert a new item after a specific index in a repeating section."]
3762    pub async fn insert_item_after_with_options(
3763        &self,
3764        params: &DocContentControlsRepeatingSectionInsertItemAfterBoundParams,
3765        options: InvokeOptions,
3766    ) -> Result<DocContentControlsRepeatingSectionInsertItemAfterResult> {
3767        let params = serde_json::to_value(params)
3768            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3769        let result = self
3770            .invoker
3771            .invoke(
3772                "doc.contentControls.repeatingSection.insertItemAfter",
3773                params,
3774                options,
3775            )
3776            .await?;
3777        serde_json::from_value(result).map_err(|decode| {
3778            let mut error = Error::decode(decode);
3779            error.operation_id =
3780                Some("doc.contentControls.repeatingSection.insertItemAfter".into());
3781            error.outcome_unknown = true;
3782            self.invoker.handle_decode_error(error)
3783        })
3784    }
3785
3786    #[doc = "Insert a new item before a specific index in a repeating section."]
3787    pub fn insert_item_before<'call>(
3788        &'call self,
3789        params: &'call DocContentControlsRepeatingSectionInsertItemBeforeBoundParams,
3790    ) -> impl std::future::Future<
3791        Output = Result<DocContentControlsRepeatingSectionInsertItemBeforeResult>,
3792    > + Send
3793           + 'call {
3794        self.insert_item_before_with_options(params, InvokeOptions::default())
3795    }
3796    #[doc = "Insert a new item before a specific index in a repeating section."]
3797    pub async fn insert_item_before_with_options(
3798        &self,
3799        params: &DocContentControlsRepeatingSectionInsertItemBeforeBoundParams,
3800        options: InvokeOptions,
3801    ) -> Result<DocContentControlsRepeatingSectionInsertItemBeforeResult> {
3802        let params = serde_json::to_value(params)
3803            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3804        let result = self
3805            .invoker
3806            .invoke(
3807                "doc.contentControls.repeatingSection.insertItemBefore",
3808                params,
3809                options,
3810            )
3811            .await?;
3812        serde_json::from_value(result).map_err(|decode| {
3813            let mut error = Error::decode(decode);
3814            error.operation_id =
3815                Some("doc.contentControls.repeatingSection.insertItemBefore".into());
3816            error.outcome_unknown = true;
3817            self.invoker.handle_decode_error(error)
3818        })
3819    }
3820
3821    #[doc = "List the repeating section items inside a repeating section content control."]
3822    pub fn list_items<'call>(
3823        &'call self,
3824        params: &'call DocContentControlsRepeatingSectionListItemsBoundParams,
3825    ) -> impl std::future::Future<Output = Result<DocContentControlsRepeatingSectionListItemsResult>>
3826           + Send
3827           + 'call {
3828        self.list_items_with_options(params, InvokeOptions::default())
3829    }
3830    #[doc = "List the repeating section items inside a repeating section content control."]
3831    pub async fn list_items_with_options(
3832        &self,
3833        params: &DocContentControlsRepeatingSectionListItemsBoundParams,
3834        options: InvokeOptions,
3835    ) -> Result<DocContentControlsRepeatingSectionListItemsResult> {
3836        let params = serde_json::to_value(params)
3837            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3838        let result = self
3839            .invoker
3840            .invoke(
3841                "doc.contentControls.repeatingSection.listItems",
3842                params,
3843                options,
3844            )
3845            .await?;
3846        serde_json::from_value(result).map_err(|decode| {
3847            let mut error = Error::decode(decode);
3848            error.operation_id = Some("doc.contentControls.repeatingSection.listItems".into());
3849            error.outcome_unknown = false;
3850            self.invoker.handle_decode_error(error)
3851        })
3852    }
3853
3854    #[doc = "Set the allowInsertDelete flag on a repeating section."]
3855    pub fn set_allow_insert_delete<'call>(
3856        &'call self,
3857        params: &'call DocContentControlsRepeatingSectionSetAllowInsertDeleteBoundParams,
3858    ) -> impl std::future::Future<
3859        Output = Result<DocContentControlsRepeatingSectionSetAllowInsertDeleteResult>,
3860    > + Send
3861           + 'call {
3862        self.set_allow_insert_delete_with_options(params, InvokeOptions::default())
3863    }
3864    #[doc = "Set the allowInsertDelete flag on a repeating section."]
3865    pub async fn set_allow_insert_delete_with_options(
3866        &self,
3867        params: &DocContentControlsRepeatingSectionSetAllowInsertDeleteBoundParams,
3868        options: InvokeOptions,
3869    ) -> Result<DocContentControlsRepeatingSectionSetAllowInsertDeleteResult> {
3870        let params = serde_json::to_value(params)
3871            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3872        let result = self
3873            .invoker
3874            .invoke(
3875                "doc.contentControls.repeatingSection.setAllowInsertDelete",
3876                params,
3877                options,
3878            )
3879            .await?;
3880        serde_json::from_value(result).map_err(|decode| {
3881            let mut error = Error::decode(decode);
3882            error.operation_id =
3883                Some("doc.contentControls.repeatingSection.setAllowInsertDelete".into());
3884            error.outcome_unknown = true;
3885            self.invoker.handle_decode_error(error)
3886        })
3887    }
3888}
3889
3890pub struct DocApiContentControlsText<'a, I: Invoker> {
3891    invoker: &'a I,
3892}
3893impl<'a, I: Invoker> DocApiContentControlsText<'a, I> {
3894    pub fn new(invoker: &'a I) -> Self {
3895        Self { invoker }
3896    }
3897
3898    #[doc = "Clear the text value of a plain-text content control."]
3899    pub fn clear_value<'call>(
3900        &'call self,
3901        params: &'call DocContentControlsTextClearValueBoundParams,
3902    ) -> impl std::future::Future<Output = Result<DocContentControlsTextClearValueResult>> + Send + 'call
3903    {
3904        self.clear_value_with_options(params, InvokeOptions::default())
3905    }
3906    #[doc = "Clear the text value of a plain-text content control."]
3907    pub async fn clear_value_with_options(
3908        &self,
3909        params: &DocContentControlsTextClearValueBoundParams,
3910        options: InvokeOptions,
3911    ) -> Result<DocContentControlsTextClearValueResult> {
3912        let params = serde_json::to_value(params)
3913            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3914        let result = self
3915            .invoker
3916            .invoke("doc.contentControls.text.clearValue", params, options)
3917            .await?;
3918        serde_json::from_value(result).map_err(|decode| {
3919            let mut error = Error::decode(decode);
3920            error.operation_id = Some("doc.contentControls.text.clearValue".into());
3921            error.outcome_unknown = true;
3922            self.invoker.handle_decode_error(error)
3923        })
3924    }
3925
3926    #[doc = "Set or clear the multiline attribute on a plain-text content control."]
3927    pub fn set_multiline<'call>(
3928        &'call self,
3929        params: &'call DocContentControlsTextSetMultilineBoundParams,
3930    ) -> impl std::future::Future<Output = Result<DocContentControlsTextSetMultilineResult>> + Send + 'call
3931    {
3932        self.set_multiline_with_options(params, InvokeOptions::default())
3933    }
3934    #[doc = "Set or clear the multiline attribute on a plain-text content control."]
3935    pub async fn set_multiline_with_options(
3936        &self,
3937        params: &DocContentControlsTextSetMultilineBoundParams,
3938        options: InvokeOptions,
3939    ) -> Result<DocContentControlsTextSetMultilineResult> {
3940        let params = serde_json::to_value(params)
3941            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3942        let result = self
3943            .invoker
3944            .invoke("doc.contentControls.text.setMultiline", params, options)
3945            .await?;
3946        serde_json::from_value(result).map_err(|decode| {
3947            let mut error = Error::decode(decode);
3948            error.operation_id = Some("doc.contentControls.text.setMultiline".into());
3949            error.outcome_unknown = true;
3950            self.invoker.handle_decode_error(error)
3951        })
3952    }
3953
3954    #[doc = "Set the text value of a plain-text content control."]
3955    pub fn set_value<'call>(
3956        &'call self,
3957        params: &'call DocContentControlsTextSetValueBoundParams,
3958    ) -> impl std::future::Future<Output = Result<DocContentControlsTextSetValueResult>> + Send + 'call
3959    {
3960        self.set_value_with_options(params, InvokeOptions::default())
3961    }
3962    #[doc = "Set the text value of a plain-text content control."]
3963    pub async fn set_value_with_options(
3964        &self,
3965        params: &DocContentControlsTextSetValueBoundParams,
3966        options: InvokeOptions,
3967    ) -> Result<DocContentControlsTextSetValueResult> {
3968        let params = serde_json::to_value(params)
3969            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
3970        let result = self
3971            .invoker
3972            .invoke("doc.contentControls.text.setValue", params, options)
3973            .await?;
3974        serde_json::from_value(result).map_err(|decode| {
3975            let mut error = Error::decode(decode);
3976            error.operation_id = Some("doc.contentControls.text.setValue".into());
3977            error.outcome_unknown = true;
3978            self.invoker.handle_decode_error(error)
3979        })
3980    }
3981}
3982
3983pub struct DocApiCreate<'a, I: Invoker> {
3984    invoker: &'a I,
3985}
3986impl<'a, I: Invoker> DocApiCreate<'a, I> {
3987    pub fn new(invoker: &'a I) -> Self {
3988        Self { invoker }
3989    }
3990
3991    #[doc = "Create a new content control (SDT) in the document, optionally seeded with plain text or structured block preset content. Inline plain-text creation at a selection inherits the document run formatting at the caret or first selected character when inline is omitted; pending browser caret overrides are excluded. To include pending overrides, capture format.readSelection({ selection: \"current\" }) and pass its uniform values through inline. An explicit inline payload supplies fontFamily, fontSize, bold, italic, underline and strike values instead, with unspecified properties inheriting from the destination paragraph. It requires explicit content and commits formatting, content, tag and lockMode in one undoable operation. If inherited formatting cannot be resolved, creation returns CAPABILITY_UNAVAILABLE without changing the document or history; pass explicit inline values to bypass automatic inheritance."]
3992    pub fn content_control<'call>(
3993        &'call self,
3994        params: &'call DocCreateContentControlBoundParams,
3995    ) -> impl std::future::Future<Output = Result<DocCreateContentControlResult>> + Send + 'call
3996    {
3997        self.content_control_with_options(params, InvokeOptions::default())
3998    }
3999    #[doc = "Create a new content control (SDT) in the document, optionally seeded with plain text or structured block preset content. Inline plain-text creation at a selection inherits the document run formatting at the caret or first selected character when inline is omitted; pending browser caret overrides are excluded. To include pending overrides, capture format.readSelection({ selection: \"current\" }) and pass its uniform values through inline. An explicit inline payload supplies fontFamily, fontSize, bold, italic, underline and strike values instead, with unspecified properties inheriting from the destination paragraph. It requires explicit content and commits formatting, content, tag and lockMode in one undoable operation. If inherited formatting cannot be resolved, creation returns CAPABILITY_UNAVAILABLE without changing the document or history; pass explicit inline values to bypass automatic inheritance."]
4000    pub async fn content_control_with_options(
4001        &self,
4002        params: &DocCreateContentControlBoundParams,
4003        options: InvokeOptions,
4004    ) -> Result<DocCreateContentControlResult> {
4005        let params = serde_json::to_value(params)
4006            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4007        let result = self
4008            .invoker
4009            .invoke("doc.create.contentControl", params, options)
4010            .await?;
4011        serde_json::from_value(result).map_err(|decode| {
4012            let mut error = Error::decode(decode);
4013            error.operation_id = Some("doc.create.contentControl".into());
4014            error.outcome_unknown = true;
4015            self.invoker.handle_decode_error(error)
4016        })
4017    }
4018
4019    #[doc = "Create a new heading at the target position."]
4020    pub fn heading<'call>(
4021        &'call self,
4022        params: &'call DocCreateHeadingBoundParams,
4023    ) -> impl std::future::Future<Output = Result<DocCreateHeadingResult>> + Send + 'call {
4024        self.heading_with_options(params, InvokeOptions::default())
4025    }
4026    #[doc = "Create a new heading at the target position."]
4027    pub async fn heading_with_options(
4028        &self,
4029        params: &DocCreateHeadingBoundParams,
4030        options: InvokeOptions,
4031    ) -> Result<DocCreateHeadingResult> {
4032        let params = serde_json::to_value(params)
4033            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4034        let result = self
4035            .invoker
4036            .invoke("doc.create.heading", params, options)
4037            .await?;
4038        serde_json::from_value(result).map_err(|decode| {
4039            let mut error = Error::decode(decode);
4040            error.operation_id = Some("doc.create.heading".into());
4041            error.outcome_unknown = true;
4042            self.invoker.handle_decode_error(error)
4043        })
4044    }
4045
4046    #[doc = "Insert a new image at the target position."]
4047    pub fn image<'call>(
4048        &'call self,
4049        params: &'call DocCreateImageBoundParams,
4050    ) -> impl std::future::Future<Output = Result<DocCreateImageResult>> + Send + 'call {
4051        self.image_with_options(params, InvokeOptions::default())
4052    }
4053    #[doc = "Insert a new image at the target position."]
4054    pub async fn image_with_options(
4055        &self,
4056        params: &DocCreateImageBoundParams,
4057        options: InvokeOptions,
4058    ) -> Result<DocCreateImageResult> {
4059        let params = serde_json::to_value(params)
4060            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4061        let result = self
4062            .invoker
4063            .invoke("doc.create.image", params, options)
4064            .await?;
4065        serde_json::from_value(result).map_err(|decode| {
4066            let mut error = Error::decode(decode);
4067            error.operation_id = Some("doc.create.image".into());
4068            error.outcome_unknown = true;
4069            self.invoker.handle_decode_error(error)
4070        })
4071    }
4072
4073    #[doc = "Create a standalone paragraph at the target position. To add a list item, use lists.insert instead."]
4074    pub fn paragraph<'call>(
4075        &'call self,
4076        params: &'call DocCreateParagraphBoundParams,
4077    ) -> impl std::future::Future<Output = Result<DocCreateParagraphResult>> + Send + 'call {
4078        self.paragraph_with_options(params, InvokeOptions::default())
4079    }
4080    #[doc = "Create a standalone paragraph at the target position. To add a list item, use lists.insert instead."]
4081    pub async fn paragraph_with_options(
4082        &self,
4083        params: &DocCreateParagraphBoundParams,
4084        options: InvokeOptions,
4085    ) -> Result<DocCreateParagraphResult> {
4086        let params = serde_json::to_value(params)
4087            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4088        let result = self
4089            .invoker
4090            .invoke("doc.create.paragraph", params, options)
4091            .await?;
4092        serde_json::from_value(result).map_err(|decode| {
4093            let mut error = Error::decode(decode);
4094            error.operation_id = Some("doc.create.paragraph".into());
4095            error.outcome_unknown = true;
4096            self.invoker.handle_decode_error(error)
4097        })
4098    }
4099
4100    #[doc = "Create a section break at the target location with optional initial section properties."]
4101    pub fn section_break<'call>(
4102        &'call self,
4103        params: &'call DocCreateSectionBreakBoundParams,
4104    ) -> impl std::future::Future<Output = Result<DocCreateSectionBreakResult>> + Send + 'call {
4105        self.section_break_with_options(params, InvokeOptions::default())
4106    }
4107    #[doc = "Create a section break at the target location with optional initial section properties."]
4108    pub async fn section_break_with_options(
4109        &self,
4110        params: &DocCreateSectionBreakBoundParams,
4111        options: InvokeOptions,
4112    ) -> Result<DocCreateSectionBreakResult> {
4113        let params = serde_json::to_value(params)
4114            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4115        let result = self
4116            .invoker
4117            .invoke("doc.create.sectionBreak", params, options)
4118            .await?;
4119        serde_json::from_value(result).map_err(|decode| {
4120            let mut error = Error::decode(decode);
4121            error.operation_id = Some("doc.create.sectionBreak".into());
4122            error.outcome_unknown = true;
4123            self.invoker.handle_decode_error(error)
4124        })
4125    }
4126
4127    #[doc = "Create a new table at the target position."]
4128    pub fn table<'call>(
4129        &'call self,
4130        params: &'call DocCreateTableBoundParams,
4131    ) -> impl std::future::Future<Output = Result<DocCreateTableResult>> + Send + 'call {
4132        self.table_with_options(params, InvokeOptions::default())
4133    }
4134    #[doc = "Create a new table at the target position."]
4135    pub async fn table_with_options(
4136        &self,
4137        params: &DocCreateTableBoundParams,
4138        options: InvokeOptions,
4139    ) -> Result<DocCreateTableResult> {
4140        let params = serde_json::to_value(params)
4141            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4142        let result = self
4143            .invoker
4144            .invoke("doc.create.table", params, options)
4145            .await?;
4146        serde_json::from_value(result).map_err(|decode| {
4147            let mut error = Error::decode(decode);
4148            error.operation_id = Some("doc.create.table".into());
4149            error.outcome_unknown = true;
4150            self.invoker.handle_decode_error(error)
4151        })
4152    }
4153
4154    #[doc = "Insert a new table of contents at the target position."]
4155    pub fn table_of_contents<'call>(
4156        &'call self,
4157        params: &'call DocCreateTableOfContentsBoundParams,
4158    ) -> impl std::future::Future<Output = Result<DocCreateTableOfContentsResult>> + Send + 'call
4159    {
4160        self.table_of_contents_with_options(params, InvokeOptions::default())
4161    }
4162    #[doc = "Insert a new table of contents at the target position."]
4163    pub async fn table_of_contents_with_options(
4164        &self,
4165        params: &DocCreateTableOfContentsBoundParams,
4166        options: InvokeOptions,
4167    ) -> Result<DocCreateTableOfContentsResult> {
4168        let params = serde_json::to_value(params)
4169            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4170        let result = self
4171            .invoker
4172            .invoke("doc.create.tableOfContents", params, options)
4173            .await?;
4174        serde_json::from_value(result).map_err(|decode| {
4175            let mut error = Error::decode(decode);
4176            error.operation_id = Some("doc.create.tableOfContents".into());
4177            error.outcome_unknown = true;
4178            self.invoker.handle_decode_error(error)
4179        })
4180    }
4181}
4182
4183pub struct DocApiCrossRefs<'a, I: Invoker> {
4184    invoker: &'a I,
4185}
4186impl<'a, I: Invoker> DocApiCrossRefs<'a, I> {
4187    pub fn new(invoker: &'a I) -> Self {
4188        Self { invoker }
4189    }
4190
4191    #[doc = "Get detailed information about a specific cross-reference field."]
4192    pub fn get<'call>(
4193        &'call self,
4194        params: &'call DocCrossRefsGetBoundParams,
4195    ) -> impl std::future::Future<Output = Result<DocCrossRefsGetResult>> + Send + 'call {
4196        self.get_with_options(params, InvokeOptions::default())
4197    }
4198    #[doc = "Get detailed information about a specific cross-reference field."]
4199    pub async fn get_with_options(
4200        &self,
4201        params: &DocCrossRefsGetBoundParams,
4202        options: InvokeOptions,
4203    ) -> Result<DocCrossRefsGetResult> {
4204        let params = serde_json::to_value(params)
4205            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4206        let result = self
4207            .invoker
4208            .invoke("doc.crossRefs.get", params, options)
4209            .await?;
4210        serde_json::from_value(result).map_err(|decode| {
4211            let mut error = Error::decode(decode);
4212            error.operation_id = Some("doc.crossRefs.get".into());
4213            error.outcome_unknown = false;
4214            self.invoker.handle_decode_error(error)
4215        })
4216    }
4217
4218    #[doc = "Insert a new cross-reference field at a target location."]
4219    pub fn insert<'call>(
4220        &'call self,
4221        params: &'call DocCrossRefsInsertBoundParams,
4222    ) -> impl std::future::Future<Output = Result<DocCrossRefsInsertResult>> + Send + 'call {
4223        self.insert_with_options(params, InvokeOptions::default())
4224    }
4225    #[doc = "Insert a new cross-reference field at a target location."]
4226    pub async fn insert_with_options(
4227        &self,
4228        params: &DocCrossRefsInsertBoundParams,
4229        options: InvokeOptions,
4230    ) -> Result<DocCrossRefsInsertResult> {
4231        let params = serde_json::to_value(params)
4232            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4233        let result = self
4234            .invoker
4235            .invoke("doc.crossRefs.insert", params, options)
4236            .await?;
4237        serde_json::from_value(result).map_err(|decode| {
4238            let mut error = Error::decode(decode);
4239            error.operation_id = Some("doc.crossRefs.insert".into());
4240            error.outcome_unknown = true;
4241            self.invoker.handle_decode_error(error)
4242        })
4243    }
4244
4245    #[doc = "List all cross-reference fields in the document."]
4246    pub fn list<'call>(
4247        &'call self,
4248        params: &'call DocCrossRefsListBoundParams,
4249    ) -> impl std::future::Future<Output = Result<DocCrossRefsListResult>> + Send + 'call {
4250        self.list_with_options(params, InvokeOptions::default())
4251    }
4252    #[doc = "List all cross-reference fields in the document."]
4253    pub async fn list_with_options(
4254        &self,
4255        params: &DocCrossRefsListBoundParams,
4256        options: InvokeOptions,
4257    ) -> Result<DocCrossRefsListResult> {
4258        let params = serde_json::to_value(params)
4259            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4260        let result = self
4261            .invoker
4262            .invoke("doc.crossRefs.list", params, options)
4263            .await?;
4264        serde_json::from_value(result).map_err(|decode| {
4265            let mut error = Error::decode(decode);
4266            error.operation_id = Some("doc.crossRefs.list".into());
4267            error.outcome_unknown = false;
4268            self.invoker.handle_decode_error(error)
4269        })
4270    }
4271
4272    #[doc = "Rebuild (recalculate) a cross-reference field."]
4273    pub fn rebuild<'call>(
4274        &'call self,
4275        params: &'call DocCrossRefsRebuildBoundParams,
4276    ) -> impl std::future::Future<Output = Result<DocCrossRefsRebuildResult>> + Send + 'call {
4277        self.rebuild_with_options(params, InvokeOptions::default())
4278    }
4279    #[doc = "Rebuild (recalculate) a cross-reference field."]
4280    pub async fn rebuild_with_options(
4281        &self,
4282        params: &DocCrossRefsRebuildBoundParams,
4283        options: InvokeOptions,
4284    ) -> Result<DocCrossRefsRebuildResult> {
4285        let params = serde_json::to_value(params)
4286            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4287        let result = self
4288            .invoker
4289            .invoke("doc.crossRefs.rebuild", params, options)
4290            .await?;
4291        serde_json::from_value(result).map_err(|decode| {
4292            let mut error = Error::decode(decode);
4293            error.operation_id = Some("doc.crossRefs.rebuild".into());
4294            error.outcome_unknown = true;
4295            self.invoker.handle_decode_error(error)
4296        })
4297    }
4298
4299    #[doc = "Remove a cross-reference field from the document."]
4300    pub fn remove<'call>(
4301        &'call self,
4302        params: &'call DocCrossRefsRemoveBoundParams,
4303    ) -> impl std::future::Future<Output = Result<DocCrossRefsRemoveResult>> + Send + 'call {
4304        self.remove_with_options(params, InvokeOptions::default())
4305    }
4306    #[doc = "Remove a cross-reference field from the document."]
4307    pub async fn remove_with_options(
4308        &self,
4309        params: &DocCrossRefsRemoveBoundParams,
4310        options: InvokeOptions,
4311    ) -> Result<DocCrossRefsRemoveResult> {
4312        let params = serde_json::to_value(params)
4313            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4314        let result = self
4315            .invoker
4316            .invoke("doc.crossRefs.remove", params, options)
4317            .await?;
4318        serde_json::from_value(result).map_err(|decode| {
4319            let mut error = Error::decode(decode);
4320            error.operation_id = Some("doc.crossRefs.remove".into());
4321            error.outcome_unknown = true;
4322            self.invoker.handle_decode_error(error)
4323        })
4324    }
4325}
4326
4327pub struct DocApiCustomXml<'a, I: Invoker> {
4328    invoker: &'a I,
4329}
4330impl<'a, I: Invoker> DocApiCustomXml<'a, I> {
4331    pub fn new(invoker: &'a I) -> Self {
4332        Self { invoker }
4333    }
4334    pub fn parts(&self) -> DocApiCustomXmlParts<'a, I> {
4335        DocApiCustomXmlParts::new(self.invoker)
4336    }
4337}
4338
4339pub struct DocApiCustomXmlParts<'a, I: Invoker> {
4340    invoker: &'a I,
4341}
4342impl<'a, I: Invoker> DocApiCustomXmlParts<'a, I> {
4343    pub fn new(invoker: &'a I) -> Self {
4344        Self { invoker }
4345    }
4346
4347    #[doc = "Add a new Custom XML Data Storage Part to the document. Generates a fresh itemID GUID and emits the Properties Part."]
4348    pub fn create<'call>(
4349        &'call self,
4350        params: &'call DocCustomXmlPartsCreateBoundParams,
4351    ) -> impl std::future::Future<Output = Result<DocCustomXmlPartsCreateResult>> + Send + 'call
4352    {
4353        self.create_with_options(params, InvokeOptions::default())
4354    }
4355    #[doc = "Add a new Custom XML Data Storage Part to the document. Generates a fresh itemID GUID and emits the Properties Part."]
4356    pub async fn create_with_options(
4357        &self,
4358        params: &DocCustomXmlPartsCreateBoundParams,
4359        options: InvokeOptions,
4360    ) -> Result<DocCustomXmlPartsCreateResult> {
4361        let params = serde_json::to_value(params)
4362            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4363        let result = self
4364            .invoker
4365            .invoke("doc.customXml.parts.create", params, options)
4366            .await?;
4367        serde_json::from_value(result).map_err(|decode| {
4368            let mut error = Error::decode(decode);
4369            error.operation_id = Some("doc.customXml.parts.create".into());
4370            error.outcome_unknown = true;
4371            self.invoker.handle_decode_error(error)
4372        })
4373    }
4374
4375    #[doc = "Get a single Custom XML Data Storage Part by itemID or package part name, including its full content. v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4376    pub fn get<'call>(
4377        &'call self,
4378        params: &'call DocCustomXmlPartsGetBoundParams,
4379    ) -> impl std::future::Future<Output = Result<DocCustomXmlPartsGetResult>> + Send + 'call {
4380        self.get_with_options(params, InvokeOptions::default())
4381    }
4382    #[doc = "Get a single Custom XML Data Storage Part by itemID or package part name, including its full content. v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4383    pub async fn get_with_options(
4384        &self,
4385        params: &DocCustomXmlPartsGetBoundParams,
4386        options: InvokeOptions,
4387    ) -> Result<DocCustomXmlPartsGetResult> {
4388        let params = serde_json::to_value(params)
4389            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4390        let result = self
4391            .invoker
4392            .invoke("doc.customXml.parts.get", params, options)
4393            .await?;
4394        serde_json::from_value(result).map_err(|decode| {
4395            let mut error = Error::decode(decode);
4396            error.operation_id = Some("doc.customXml.parts.get".into());
4397            error.outcome_unknown = false;
4398            self.invoker.handle_decode_error(error)
4399        })
4400    }
4401
4402    #[doc = "List Custom XML Data Storage Parts in the document, optionally filtered by root namespace or schema reference."]
4403    pub fn list<'call>(
4404        &'call self,
4405        params: &'call DocCustomXmlPartsListBoundParams,
4406    ) -> impl std::future::Future<Output = Result<DocCustomXmlPartsListResult>> + Send + 'call {
4407        self.list_with_options(params, InvokeOptions::default())
4408    }
4409    #[doc = "List Custom XML Data Storage Parts in the document, optionally filtered by root namespace or schema reference."]
4410    pub async fn list_with_options(
4411        &self,
4412        params: &DocCustomXmlPartsListBoundParams,
4413        options: InvokeOptions,
4414    ) -> Result<DocCustomXmlPartsListResult> {
4415        let params = serde_json::to_value(params)
4416            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4417        let result = self
4418            .invoker
4419            .invoke("doc.customXml.parts.list", params, options)
4420            .await?;
4421        serde_json::from_value(result).map_err(|decode| {
4422            let mut error = Error::decode(decode);
4423            error.operation_id = Some("doc.customXml.parts.list".into());
4424            error.outcome_unknown = false;
4425            self.invoker.handle_decode_error(error)
4426        })
4427    }
4428
4429    #[doc = "Replace the content and/or schemaRefs of an existing Custom XML Data Storage Part. At least one of content or schemaRefs is required. v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4430    pub fn patch<'call>(
4431        &'call self,
4432        params: &'call DocCustomXmlPartsPatchBoundParams,
4433    ) -> impl std::future::Future<Output = Result<DocCustomXmlPartsPatchResult>> + Send + 'call
4434    {
4435        self.patch_with_options(params, InvokeOptions::default())
4436    }
4437    #[doc = "Replace the content and/or schemaRefs of an existing Custom XML Data Storage Part. At least one of content or schemaRefs is required. v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4438    pub async fn patch_with_options(
4439        &self,
4440        params: &DocCustomXmlPartsPatchBoundParams,
4441        options: InvokeOptions,
4442    ) -> Result<DocCustomXmlPartsPatchResult> {
4443        let params = serde_json::to_value(params)
4444            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4445        let result = self
4446            .invoker
4447            .invoke("doc.customXml.parts.patch", params, options)
4448            .await?;
4449        serde_json::from_value(result).map_err(|decode| {
4450            let mut error = Error::decode(decode);
4451            error.operation_id = Some("doc.customXml.parts.patch".into());
4452            error.outcome_unknown = true;
4453            self.invoker.handle_decode_error(error)
4454        })
4455    }
4456
4457    #[doc = "Remove a Custom XML Data Storage Part and clean up all linked package files (item, props, rels, content-types entry). v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4458    pub fn remove<'call>(
4459        &'call self,
4460        params: &'call DocCustomXmlPartsRemoveBoundParams,
4461    ) -> impl std::future::Future<Output = Result<DocCustomXmlPartsRemoveResult>> + Send + 'call
4462    {
4463        self.remove_with_options(params, InvokeOptions::default())
4464    }
4465    #[doc = "Remove a Custom XML Data Storage Part and clean up all linked package files (item, props, rels, content-types entry). v1 partName targeting is limited to Word-style customXml/itemN.xml paths."]
4466    pub async fn remove_with_options(
4467        &self,
4468        params: &DocCustomXmlPartsRemoveBoundParams,
4469        options: InvokeOptions,
4470    ) -> Result<DocCustomXmlPartsRemoveResult> {
4471        let params = serde_json::to_value(params)
4472            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4473        let result = self
4474            .invoker
4475            .invoke("doc.customXml.parts.remove", params, options)
4476            .await?;
4477        serde_json::from_value(result).map_err(|decode| {
4478            let mut error = Error::decode(decode);
4479            error.operation_id = Some("doc.customXml.parts.remove".into());
4480            error.outcome_unknown = true;
4481            self.invoker.handle_decode_error(error)
4482        })
4483    }
4484}
4485
4486pub struct DocApiDiff<'a, I: Invoker> {
4487    invoker: &'a I,
4488}
4489impl<'a, I: Invoker> DocApiDiff<'a, I> {
4490    pub fn new(invoker: &'a I) -> Self {
4491        Self { invoker }
4492    }
4493
4494    #[doc = "Apply a previously computed diff payload to the current document. The document fingerprint must match the diff base fingerprint. Omitted changeMode applies story content directly; explicit tracked mode governs all four story families (body, header/footer parts, footnotes, endnotes). Comments, styles, and numbering are always applied directly. Supported mixed full-diff payloads apply atomically across body, comments, styles, numbering, and header/footers. Unsupported/deferred families such as package-graph/media/hyperlink closure, settings/theme, and textboxes fail closed before mutation."]
4495    pub fn apply<'call>(
4496        &'call self,
4497        params: &'call DocDiffApplyBoundParams,
4498    ) -> impl std::future::Future<Output = Result<DocDiffApplyResult>> + Send + 'call {
4499        self.apply_with_options(params, InvokeOptions::default())
4500    }
4501    #[doc = "Apply a previously computed diff payload to the current document. The document fingerprint must match the diff base fingerprint. Omitted changeMode applies story content directly; explicit tracked mode governs all four story families (body, header/footer parts, footnotes, endnotes). Comments, styles, and numbering are always applied directly. Supported mixed full-diff payloads apply atomically across body, comments, styles, numbering, and header/footers. Unsupported/deferred families such as package-graph/media/hyperlink closure, settings/theme, and textboxes fail closed before mutation."]
4502    pub async fn apply_with_options(
4503        &self,
4504        params: &DocDiffApplyBoundParams,
4505        options: InvokeOptions,
4506    ) -> Result<DocDiffApplyResult> {
4507        let params = serde_json::to_value(params)
4508            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4509        let result = self
4510            .invoker
4511            .invoke("doc.diff.apply", params, options)
4512            .await?;
4513        serde_json::from_value(result).map_err(|decode| {
4514            let mut error = Error::decode(decode);
4515            error.operation_id = Some("doc.diff.apply".into());
4516            error.outcome_unknown = true;
4517            self.invoker.handle_decode_error(error)
4518        })
4519    }
4520
4521    #[doc = "Capture the current document's diffable state as a versioned snapshot. v2 capture requires source-complete state and reports coverage for body, comments, styles, numbering, and header/footers, with extended family coverage carried in the opaque payload. Legacy body-only v2 artifacts remain accepted for compare/apply compatibility."]
4522    pub fn capture<'call>(
4523        &'call self,
4524        params: &'call DocDiffCaptureBoundParams,
4525    ) -> impl std::future::Future<Output = Result<DocDiffCaptureResult>> + Send + 'call {
4526        self.capture_with_options(params, InvokeOptions::default())
4527    }
4528    #[doc = "Capture the current document's diffable state as a versioned snapshot. v2 capture requires source-complete state and reports coverage for body, comments, styles, numbering, and header/footers, with extended family coverage carried in the opaque payload. Legacy body-only v2 artifacts remain accepted for compare/apply compatibility."]
4529    pub async fn capture_with_options(
4530        &self,
4531        params: &DocDiffCaptureBoundParams,
4532        options: InvokeOptions,
4533    ) -> Result<DocDiffCaptureResult> {
4534        let params = serde_json::to_value(params)
4535            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4536        let result = self
4537            .invoker
4538            .invoke("doc.diff.capture", params, options)
4539            .await?;
4540        serde_json::from_value(result).map_err(|decode| {
4541            let mut error = Error::decode(decode);
4542            error.operation_id = Some("doc.diff.capture".into());
4543            error.outcome_unknown = false;
4544            self.invoker.handle_decode_error(error)
4545        })
4546    }
4547
4548    #[doc = "Compare the current document (base) against a previously captured target snapshot. Returns a versioned diff payload whose summary reports which components changed: body, comments, styles, numbering, header/footers, and parts."]
4549    pub fn compare<'call>(
4550        &'call self,
4551        params: &'call DocDiffCompareBoundParams,
4552    ) -> impl std::future::Future<Output = Result<DocDiffCompareResult>> + Send + 'call {
4553        self.compare_with_options(params, InvokeOptions::default())
4554    }
4555    #[doc = "Compare the current document (base) against a previously captured target snapshot. Returns a versioned diff payload whose summary reports which components changed: body, comments, styles, numbering, header/footers, and parts."]
4556    pub async fn compare_with_options(
4557        &self,
4558        params: &DocDiffCompareBoundParams,
4559        options: InvokeOptions,
4560    ) -> Result<DocDiffCompareResult> {
4561        let params = serde_json::to_value(params)
4562            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4563        let result = self
4564            .invoker
4565            .invoke("doc.diff.compare", params, options)
4566            .await?;
4567        serde_json::from_value(result).map_err(|decode| {
4568            let mut error = Error::decode(decode);
4569            error.operation_id = Some("doc.diff.compare".into());
4570            error.outcome_unknown = false;
4571            self.invoker.handle_decode_error(error)
4572        })
4573    }
4574}
4575
4576pub struct DocApiExport<'a, I: Invoker> {
4577    invoker: &'a I,
4578}
4579impl<'a, I: Invoker> DocApiExport<'a, I> {
4580    pub fn new(invoker: &'a I) -> Self {
4581        Self { invoker }
4582    }
4583
4584    #[doc = "Serialize a copy of the current document with independent policies for trackedChanges (review-preserving, final, original), comments (preserve, resolve, remove), and contentControls (preserve, flatten). Defaults preserve all three. Resolve closes every open comment thread in the copy. The mode alias selects trackedChanges; conflicting values and unknown policies reject with INVALID_INPUT. Unsupported revision semantics, loss of preserved comment anchors, and collaborative Document API export reject with CAPABILITY_UNSUPPORTED before returning bytes. Use browser export for collaborative sessions. Returns exported bytes and a structured report of allowed warnings without changing the live document."]
4585    pub fn to_docx<'call>(
4586        &'call self,
4587        params: &'call DocExportToDocxBoundParams,
4588    ) -> impl std::future::Future<Output = Result<DocExportToDocxResult>> + Send + 'call {
4589        self.to_docx_with_options(params, InvokeOptions::default())
4590    }
4591    #[doc = "Serialize a copy of the current document with independent policies for trackedChanges (review-preserving, final, original), comments (preserve, resolve, remove), and contentControls (preserve, flatten). Defaults preserve all three. Resolve closes every open comment thread in the copy. The mode alias selects trackedChanges; conflicting values and unknown policies reject with INVALID_INPUT. Unsupported revision semantics, loss of preserved comment anchors, and collaborative Document API export reject with CAPABILITY_UNSUPPORTED before returning bytes. Use browser export for collaborative sessions. Returns exported bytes and a structured report of allowed warnings without changing the live document."]
4592    pub async fn to_docx_with_options(
4593        &self,
4594        params: &DocExportToDocxBoundParams,
4595        options: InvokeOptions,
4596    ) -> Result<DocExportToDocxResult> {
4597        let params = serde_json::to_value(params)
4598            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4599        let result = self
4600            .invoker
4601            .invoke("doc.export.toDocx", params, options)
4602            .await?;
4603        serde_json::from_value(result).map_err(|decode| {
4604            let mut error = Error::decode(decode);
4605            error.operation_id = Some("doc.export.toDocx".into());
4606            error.outcome_unknown = false;
4607            self.invoker.handle_decode_error(error)
4608        })
4609    }
4610}
4611
4612pub struct DocApiFields<'a, I: Invoker> {
4613    invoker: &'a I,
4614}
4615impl<'a, I: Invoker> DocApiFields<'a, I> {
4616    pub fn new(invoker: &'a I) -> Self {
4617        Self { invoker }
4618    }
4619
4620    #[doc = "Get detailed information about a specific field."]
4621    pub fn get<'call>(
4622        &'call self,
4623        params: &'call DocFieldsGetBoundParams,
4624    ) -> impl std::future::Future<Output = Result<DocFieldsGetResult>> + Send + 'call {
4625        self.get_with_options(params, InvokeOptions::default())
4626    }
4627    #[doc = "Get detailed information about a specific field."]
4628    pub async fn get_with_options(
4629        &self,
4630        params: &DocFieldsGetBoundParams,
4631        options: InvokeOptions,
4632    ) -> Result<DocFieldsGetResult> {
4633        let params = serde_json::to_value(params)
4634            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4635        let result = self
4636            .invoker
4637            .invoke("doc.fields.get", params, options)
4638            .await?;
4639        serde_json::from_value(result).map_err(|decode| {
4640            let mut error = Error::decode(decode);
4641            error.operation_id = Some("doc.fields.get".into());
4642            error.outcome_unknown = false;
4643            self.invoker.handle_decode_error(error)
4644        })
4645    }
4646
4647    #[doc = "Insert a raw field code at a target location, optionally preserving cached result text."]
4648    pub fn insert<'call>(
4649        &'call self,
4650        params: &'call DocFieldsInsertBoundParams,
4651    ) -> impl std::future::Future<Output = Result<DocFieldsInsertResult>> + Send + 'call {
4652        self.insert_with_options(params, InvokeOptions::default())
4653    }
4654    #[doc = "Insert a raw field code at a target location, optionally preserving cached result text."]
4655    pub async fn insert_with_options(
4656        &self,
4657        params: &DocFieldsInsertBoundParams,
4658        options: InvokeOptions,
4659    ) -> Result<DocFieldsInsertResult> {
4660        let params = serde_json::to_value(params)
4661            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4662        let result = self
4663            .invoker
4664            .invoke("doc.fields.insert", params, options)
4665            .await?;
4666        serde_json::from_value(result).map_err(|decode| {
4667            let mut error = Error::decode(decode);
4668            error.operation_id = Some("doc.fields.insert".into());
4669            error.outcome_unknown = true;
4670            self.invoker.handle_decode_error(error)
4671        })
4672    }
4673
4674    #[doc = "List all fields in the document."]
4675    pub fn list<'call>(
4676        &'call self,
4677        params: &'call DocFieldsListBoundParams,
4678    ) -> impl std::future::Future<Output = Result<DocFieldsListResult>> + Send + 'call {
4679        self.list_with_options(params, InvokeOptions::default())
4680    }
4681    #[doc = "List all fields in the document."]
4682    pub async fn list_with_options(
4683        &self,
4684        params: &DocFieldsListBoundParams,
4685        options: InvokeOptions,
4686    ) -> Result<DocFieldsListResult> {
4687        let params = serde_json::to_value(params)
4688            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4689        let result = self
4690            .invoker
4691            .invoke("doc.fields.list", params, options)
4692            .await?;
4693        serde_json::from_value(result).map_err(|decode| {
4694            let mut error = Error::decode(decode);
4695            error.operation_id = Some("doc.fields.list".into());
4696            error.outcome_unknown = false;
4697            self.invoker.handle_decode_error(error)
4698        })
4699    }
4700
4701    #[doc = "Rebuild (recalculate) a field."]
4702    pub fn rebuild<'call>(
4703        &'call self,
4704        params: &'call DocFieldsRebuildBoundParams,
4705    ) -> impl std::future::Future<Output = Result<DocFieldsRebuildResult>> + Send + 'call {
4706        self.rebuild_with_options(params, InvokeOptions::default())
4707    }
4708    #[doc = "Rebuild (recalculate) a field."]
4709    pub async fn rebuild_with_options(
4710        &self,
4711        params: &DocFieldsRebuildBoundParams,
4712        options: InvokeOptions,
4713    ) -> Result<DocFieldsRebuildResult> {
4714        let params = serde_json::to_value(params)
4715            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4716        let result = self
4717            .invoker
4718            .invoke("doc.fields.rebuild", params, options)
4719            .await?;
4720        serde_json::from_value(result).map_err(|decode| {
4721            let mut error = Error::decode(decode);
4722            error.operation_id = Some("doc.fields.rebuild".into());
4723            error.outcome_unknown = true;
4724            self.invoker.handle_decode_error(error)
4725        })
4726    }
4727
4728    #[doc = "Remove a field from the document."]
4729    pub fn remove<'call>(
4730        &'call self,
4731        params: &'call DocFieldsRemoveBoundParams,
4732    ) -> impl std::future::Future<Output = Result<DocFieldsRemoveResult>> + Send + 'call {
4733        self.remove_with_options(params, InvokeOptions::default())
4734    }
4735    #[doc = "Remove a field from the document."]
4736    pub async fn remove_with_options(
4737        &self,
4738        params: &DocFieldsRemoveBoundParams,
4739        options: InvokeOptions,
4740    ) -> Result<DocFieldsRemoveResult> {
4741        let params = serde_json::to_value(params)
4742            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4743        let result = self
4744            .invoker
4745            .invoke("doc.fields.remove", params, options)
4746            .await?;
4747        serde_json::from_value(result).map_err(|decode| {
4748            let mut error = Error::decode(decode);
4749            error.operation_id = Some("doc.fields.remove".into());
4750            error.outcome_unknown = true;
4751            self.invoker.handle_decode_error(error)
4752        })
4753    }
4754}
4755
4756pub struct DocApiFootnotes<'a, I: Invoker> {
4757    invoker: &'a I,
4758}
4759impl<'a, I: Invoker> DocApiFootnotes<'a, I> {
4760    pub fn new(invoker: &'a I) -> Self {
4761        Self { invoker }
4762    }
4763
4764    #[doc = "Configure numbering and placement for footnotes or endnotes."]
4765    pub fn configure<'call>(
4766        &'call self,
4767        params: &'call DocFootnotesConfigureBoundParams,
4768    ) -> impl std::future::Future<Output = Result<DocFootnotesConfigureResult>> + Send + 'call {
4769        self.configure_with_options(params, InvokeOptions::default())
4770    }
4771    #[doc = "Configure numbering and placement for footnotes or endnotes."]
4772    pub async fn configure_with_options(
4773        &self,
4774        params: &DocFootnotesConfigureBoundParams,
4775        options: InvokeOptions,
4776    ) -> Result<DocFootnotesConfigureResult> {
4777        let params = serde_json::to_value(params)
4778            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4779        let result = self
4780            .invoker
4781            .invoke("doc.footnotes.configure", params, options)
4782            .await?;
4783        serde_json::from_value(result).map_err(|decode| {
4784            let mut error = Error::decode(decode);
4785            error.operation_id = Some("doc.footnotes.configure".into());
4786            error.outcome_unknown = true;
4787            self.invoker.handle_decode_error(error)
4788        })
4789    }
4790
4791    #[doc = "Get detailed information about a specific footnote or endnote."]
4792    pub fn get<'call>(
4793        &'call self,
4794        params: &'call DocFootnotesGetBoundParams,
4795    ) -> impl std::future::Future<Output = Result<DocFootnotesGetResult>> + Send + 'call {
4796        self.get_with_options(params, InvokeOptions::default())
4797    }
4798    #[doc = "Get detailed information about a specific footnote or endnote."]
4799    pub async fn get_with_options(
4800        &self,
4801        params: &DocFootnotesGetBoundParams,
4802        options: InvokeOptions,
4803    ) -> Result<DocFootnotesGetResult> {
4804        let params = serde_json::to_value(params)
4805            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4806        let result = self
4807            .invoker
4808            .invoke("doc.footnotes.get", params, options)
4809            .await?;
4810        serde_json::from_value(result).map_err(|decode| {
4811            let mut error = Error::decode(decode);
4812            error.operation_id = Some("doc.footnotes.get".into());
4813            error.outcome_unknown = false;
4814            self.invoker.handle_decode_error(error)
4815        })
4816    }
4817
4818    #[doc = "Insert a new footnote or endnote at a target location or the current selection."]
4819    pub fn insert<'call>(
4820        &'call self,
4821        params: &'call DocFootnotesInsertBoundParams,
4822    ) -> impl std::future::Future<Output = Result<DocFootnotesInsertResult>> + Send + 'call {
4823        self.insert_with_options(params, InvokeOptions::default())
4824    }
4825    #[doc = "Insert a new footnote or endnote at a target location or the current selection."]
4826    pub async fn insert_with_options(
4827        &self,
4828        params: &DocFootnotesInsertBoundParams,
4829        options: InvokeOptions,
4830    ) -> Result<DocFootnotesInsertResult> {
4831        let params = serde_json::to_value(params)
4832            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4833        let result = self
4834            .invoker
4835            .invoke("doc.footnotes.insert", params, options)
4836            .await?;
4837        serde_json::from_value(result).map_err(|decode| {
4838            let mut error = Error::decode(decode);
4839            error.operation_id = Some("doc.footnotes.insert".into());
4840            error.outcome_unknown = true;
4841            self.invoker.handle_decode_error(error)
4842        })
4843    }
4844
4845    #[doc = "List all footnotes and endnotes in the document."]
4846    pub fn list<'call>(
4847        &'call self,
4848        params: &'call DocFootnotesListBoundParams,
4849    ) -> impl std::future::Future<Output = Result<DocFootnotesListResult>> + Send + 'call {
4850        self.list_with_options(params, InvokeOptions::default())
4851    }
4852    #[doc = "List all footnotes and endnotes in the document."]
4853    pub async fn list_with_options(
4854        &self,
4855        params: &DocFootnotesListBoundParams,
4856        options: InvokeOptions,
4857    ) -> Result<DocFootnotesListResult> {
4858        let params = serde_json::to_value(params)
4859            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4860        let result = self
4861            .invoker
4862            .invoke("doc.footnotes.list", params, options)
4863            .await?;
4864        serde_json::from_value(result).map_err(|decode| {
4865            let mut error = Error::decode(decode);
4866            error.operation_id = Some("doc.footnotes.list".into());
4867            error.outcome_unknown = false;
4868            self.invoker.handle_decode_error(error)
4869        })
4870    }
4871
4872    #[doc = "Remove a footnote or endnote from the document."]
4873    pub fn remove<'call>(
4874        &'call self,
4875        params: &'call DocFootnotesRemoveBoundParams,
4876    ) -> impl std::future::Future<Output = Result<DocFootnotesRemoveResult>> + Send + 'call {
4877        self.remove_with_options(params, InvokeOptions::default())
4878    }
4879    #[doc = "Remove a footnote or endnote from the document."]
4880    pub async fn remove_with_options(
4881        &self,
4882        params: &DocFootnotesRemoveBoundParams,
4883        options: InvokeOptions,
4884    ) -> Result<DocFootnotesRemoveResult> {
4885        let params = serde_json::to_value(params)
4886            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4887        let result = self
4888            .invoker
4889            .invoke("doc.footnotes.remove", params, options)
4890            .await?;
4891        serde_json::from_value(result).map_err(|decode| {
4892            let mut error = Error::decode(decode);
4893            error.operation_id = Some("doc.footnotes.remove".into());
4894            error.outcome_unknown = true;
4895            self.invoker.handle_decode_error(error)
4896        })
4897    }
4898
4899    #[doc = "Update the content of an existing footnote or endnote."]
4900    pub fn update<'call>(
4901        &'call self,
4902        params: &'call DocFootnotesUpdateBoundParams,
4903    ) -> impl std::future::Future<Output = Result<DocFootnotesUpdateResult>> + Send + 'call {
4904        self.update_with_options(params, InvokeOptions::default())
4905    }
4906    #[doc = "Update the content of an existing footnote or endnote."]
4907    pub async fn update_with_options(
4908        &self,
4909        params: &DocFootnotesUpdateBoundParams,
4910        options: InvokeOptions,
4911    ) -> Result<DocFootnotesUpdateResult> {
4912        let params = serde_json::to_value(params)
4913            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4914        let result = self
4915            .invoker
4916            .invoke("doc.footnotes.update", params, options)
4917            .await?;
4918        serde_json::from_value(result).map_err(|decode| {
4919            let mut error = Error::decode(decode);
4920            error.operation_id = Some("doc.footnotes.update".into());
4921            error.outcome_unknown = true;
4922            self.invoker.handle_decode_error(error)
4923        })
4924    }
4925}
4926
4927pub struct DocApiFormat<'a, I: Invoker> {
4928    invoker: &'a I,
4929}
4930impl<'a, I: Invoker> DocApiFormat<'a, I> {
4931    pub fn new(invoker: &'a I) -> Self {
4932        Self { invoker }
4933    }
4934    pub fn paragraph(&self) -> DocApiFormatParagraph<'a, I> {
4935        DocApiFormatParagraph::new(self.invoker)
4936    }
4937
4938    #[doc = "Apply inline run-property patch changes to the target range with explicit set/clear semantics."]
4939    pub fn apply<'call>(
4940        &'call self,
4941        params: &'call DocFormatApplyBoundParams,
4942    ) -> impl std::future::Future<Output = Result<DocFormatApplyResult>> + Send + 'call {
4943        self.apply_with_options(params, InvokeOptions::default())
4944    }
4945    #[doc = "Apply inline run-property patch changes to the target range with explicit set/clear semantics."]
4946    pub async fn apply_with_options(
4947        &self,
4948        params: &DocFormatApplyBoundParams,
4949        options: InvokeOptions,
4950    ) -> Result<DocFormatApplyResult> {
4951        let params = serde_json::to_value(params)
4952            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4953        let result = self
4954            .invoker
4955            .invoke("doc.format.apply", params, options)
4956            .await?;
4957        serde_json::from_value(result).map_err(|decode| {
4958            let mut error = Error::decode(decode);
4959            error.operation_id = Some("doc.format.apply".into());
4960            error.outcome_unknown = true;
4961            self.invoker.handle_decode_error(error)
4962        })
4963    }
4964
4965    #[doc = "Set or clear the `bCs` inline run property on the target text range."]
4966    pub fn b_cs<'call>(
4967        &'call self,
4968        params: &'call DocFormatBCsBoundParams,
4969    ) -> impl std::future::Future<Output = Result<DocFormatBCsResult>> + Send + 'call {
4970        self.b_cs_with_options(params, InvokeOptions::default())
4971    }
4972    #[doc = "Set or clear the `bCs` inline run property on the target text range."]
4973    pub async fn b_cs_with_options(
4974        &self,
4975        params: &DocFormatBCsBoundParams,
4976        options: InvokeOptions,
4977    ) -> Result<DocFormatBCsResult> {
4978        let params = serde_json::to_value(params)
4979            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
4980        let result = self
4981            .invoker
4982            .invoke("doc.format.bCs", params, options)
4983            .await?;
4984        serde_json::from_value(result).map_err(|decode| {
4985            let mut error = Error::decode(decode);
4986            error.operation_id = Some("doc.format.bCs".into());
4987            error.outcome_unknown = true;
4988            self.invoker.handle_decode_error(error)
4989        })
4990    }
4991
4992    #[doc = "Set or clear the `bold` inline run property on the target text range."]
4993    pub fn bold<'call>(
4994        &'call self,
4995        params: &'call DocFormatBoldBoundParams,
4996    ) -> impl std::future::Future<Output = Result<DocFormatBoldResult>> + Send + 'call {
4997        self.bold_with_options(params, InvokeOptions::default())
4998    }
4999    #[doc = "Set or clear the `bold` inline run property on the target text range."]
5000    pub async fn bold_with_options(
5001        &self,
5002        params: &DocFormatBoldBoundParams,
5003        options: InvokeOptions,
5004    ) -> Result<DocFormatBoldResult> {
5005        let params = serde_json::to_value(params)
5006            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5007        let result = self
5008            .invoker
5009            .invoke("doc.format.bold", params, options)
5010            .await?;
5011        serde_json::from_value(result).map_err(|decode| {
5012            let mut error = Error::decode(decode);
5013            error.operation_id = Some("doc.format.bold".into());
5014            error.outcome_unknown = true;
5015            self.invoker.handle_decode_error(error)
5016        })
5017    }
5018
5019    #[doc = "Set or clear the `border` inline run property on the target text range."]
5020    pub fn border<'call>(
5021        &'call self,
5022        params: &'call DocFormatBorderBoundParams,
5023    ) -> impl std::future::Future<Output = Result<DocFormatBorderResult>> + Send + 'call {
5024        self.border_with_options(params, InvokeOptions::default())
5025    }
5026    #[doc = "Set or clear the `border` inline run property on the target text range."]
5027    pub async fn border_with_options(
5028        &self,
5029        params: &DocFormatBorderBoundParams,
5030        options: InvokeOptions,
5031    ) -> Result<DocFormatBorderResult> {
5032        let params = serde_json::to_value(params)
5033            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5034        let result = self
5035            .invoker
5036            .invoke("doc.format.border", params, options)
5037            .await?;
5038        serde_json::from_value(result).map_err(|decode| {
5039            let mut error = Error::decode(decode);
5040            error.operation_id = Some("doc.format.border".into());
5041            error.outcome_unknown = true;
5042            self.invoker.handle_decode_error(error)
5043        })
5044    }
5045
5046    #[doc = "Set or clear the `caps` inline run property on the target text range."]
5047    pub fn caps<'call>(
5048        &'call self,
5049        params: &'call DocFormatCapsBoundParams,
5050    ) -> impl std::future::Future<Output = Result<DocFormatCapsResult>> + Send + 'call {
5051        self.caps_with_options(params, InvokeOptions::default())
5052    }
5053    #[doc = "Set or clear the `caps` inline run property on the target text range."]
5054    pub async fn caps_with_options(
5055        &self,
5056        params: &DocFormatCapsBoundParams,
5057        options: InvokeOptions,
5058    ) -> Result<DocFormatCapsResult> {
5059        let params = serde_json::to_value(params)
5060            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5061        let result = self
5062            .invoker
5063            .invoke("doc.format.caps", params, options)
5064            .await?;
5065        serde_json::from_value(result).map_err(|decode| {
5066            let mut error = Error::decode(decode);
5067            error.operation_id = Some("doc.format.caps".into());
5068            error.outcome_unknown = true;
5069            self.invoker.handle_decode_error(error)
5070        })
5071    }
5072
5073    #[doc = "Set or clear the `charScale` inline run property on the target text range."]
5074    pub fn char_scale<'call>(
5075        &'call self,
5076        params: &'call DocFormatCharScaleBoundParams,
5077    ) -> impl std::future::Future<Output = Result<DocFormatCharScaleResult>> + Send + 'call {
5078        self.char_scale_with_options(params, InvokeOptions::default())
5079    }
5080    #[doc = "Set or clear the `charScale` inline run property on the target text range."]
5081    pub async fn char_scale_with_options(
5082        &self,
5083        params: &DocFormatCharScaleBoundParams,
5084        options: InvokeOptions,
5085    ) -> Result<DocFormatCharScaleResult> {
5086        let params = serde_json::to_value(params)
5087            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5088        let result = self
5089            .invoker
5090            .invoke("doc.format.charScale", params, options)
5091            .await?;
5092        serde_json::from_value(result).map_err(|decode| {
5093            let mut error = Error::decode(decode);
5094            error.operation_id = Some("doc.format.charScale".into());
5095            error.outcome_unknown = true;
5096            self.invoker.handle_decode_error(error)
5097        })
5098    }
5099
5100    #[doc = "Set or clear the `color` inline run property on the target text range."]
5101    pub fn color<'call>(
5102        &'call self,
5103        params: &'call DocFormatColorBoundParams,
5104    ) -> impl std::future::Future<Output = Result<DocFormatColorResult>> + Send + 'call {
5105        self.color_with_options(params, InvokeOptions::default())
5106    }
5107    #[doc = "Set or clear the `color` inline run property on the target text range."]
5108    pub async fn color_with_options(
5109        &self,
5110        params: &DocFormatColorBoundParams,
5111        options: InvokeOptions,
5112    ) -> Result<DocFormatColorResult> {
5113        let params = serde_json::to_value(params)
5114            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5115        let result = self
5116            .invoker
5117            .invoke("doc.format.color", params, options)
5118            .await?;
5119        serde_json::from_value(result).map_err(|decode| {
5120            let mut error = Error::decode(decode);
5121            error.operation_id = Some("doc.format.color".into());
5122            error.outcome_unknown = true;
5123            self.invoker.handle_decode_error(error)
5124        })
5125    }
5126
5127    #[doc = "Set or clear the `contextualAlternates` inline run property on the target text range."]
5128    pub fn contextual_alternates<'call>(
5129        &'call self,
5130        params: &'call DocFormatContextualAlternatesBoundParams,
5131    ) -> impl std::future::Future<Output = Result<DocFormatContextualAlternatesResult>> + Send + 'call
5132    {
5133        self.contextual_alternates_with_options(params, InvokeOptions::default())
5134    }
5135    #[doc = "Set or clear the `contextualAlternates` inline run property on the target text range."]
5136    pub async fn contextual_alternates_with_options(
5137        &self,
5138        params: &DocFormatContextualAlternatesBoundParams,
5139        options: InvokeOptions,
5140    ) -> Result<DocFormatContextualAlternatesResult> {
5141        let params = serde_json::to_value(params)
5142            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5143        let result = self
5144            .invoker
5145            .invoke("doc.format.contextualAlternates", params, options)
5146            .await?;
5147        serde_json::from_value(result).map_err(|decode| {
5148            let mut error = Error::decode(decode);
5149            error.operation_id = Some("doc.format.contextualAlternates".into());
5150            error.outcome_unknown = true;
5151            self.invoker.handle_decode_error(error)
5152        })
5153    }
5154
5155    #[doc = "Set or clear the `cs` inline run property on the target text range."]
5156    pub fn cs<'call>(
5157        &'call self,
5158        params: &'call DocFormatCsBoundParams,
5159    ) -> impl std::future::Future<Output = Result<DocFormatCsResult>> + Send + 'call {
5160        self.cs_with_options(params, InvokeOptions::default())
5161    }
5162    #[doc = "Set or clear the `cs` inline run property on the target text range."]
5163    pub async fn cs_with_options(
5164        &self,
5165        params: &DocFormatCsBoundParams,
5166        options: InvokeOptions,
5167    ) -> Result<DocFormatCsResult> {
5168        let params = serde_json::to_value(params)
5169            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5170        let result = self
5171            .invoker
5172            .invoke("doc.format.cs", params, options)
5173            .await?;
5174        serde_json::from_value(result).map_err(|decode| {
5175            let mut error = Error::decode(decode);
5176            error.operation_id = Some("doc.format.cs".into());
5177            error.outcome_unknown = true;
5178            self.invoker.handle_decode_error(error)
5179        })
5180    }
5181
5182    #[doc = "Set or clear the `dstrike` inline run property on the target text range."]
5183    pub fn dstrike<'call>(
5184        &'call self,
5185        params: &'call DocFormatDstrikeBoundParams,
5186    ) -> impl std::future::Future<Output = Result<DocFormatDstrikeResult>> + Send + 'call {
5187        self.dstrike_with_options(params, InvokeOptions::default())
5188    }
5189    #[doc = "Set or clear the `dstrike` inline run property on the target text range."]
5190    pub async fn dstrike_with_options(
5191        &self,
5192        params: &DocFormatDstrikeBoundParams,
5193        options: InvokeOptions,
5194    ) -> Result<DocFormatDstrikeResult> {
5195        let params = serde_json::to_value(params)
5196            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5197        let result = self
5198            .invoker
5199            .invoke("doc.format.dstrike", params, options)
5200            .await?;
5201        serde_json::from_value(result).map_err(|decode| {
5202            let mut error = Error::decode(decode);
5203            error.operation_id = Some("doc.format.dstrike".into());
5204            error.outcome_unknown = true;
5205            self.invoker.handle_decode_error(error)
5206        })
5207    }
5208
5209    #[doc = "Set or clear the `eastAsianLayout` inline run property on the target text range."]
5210    pub fn east_asian_layout<'call>(
5211        &'call self,
5212        params: &'call DocFormatEastAsianLayoutBoundParams,
5213    ) -> impl std::future::Future<Output = Result<DocFormatEastAsianLayoutResult>> + Send + 'call
5214    {
5215        self.east_asian_layout_with_options(params, InvokeOptions::default())
5216    }
5217    #[doc = "Set or clear the `eastAsianLayout` inline run property on the target text range."]
5218    pub async fn east_asian_layout_with_options(
5219        &self,
5220        params: &DocFormatEastAsianLayoutBoundParams,
5221        options: InvokeOptions,
5222    ) -> Result<DocFormatEastAsianLayoutResult> {
5223        let params = serde_json::to_value(params)
5224            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5225        let result = self
5226            .invoker
5227            .invoke("doc.format.eastAsianLayout", params, options)
5228            .await?;
5229        serde_json::from_value(result).map_err(|decode| {
5230            let mut error = Error::decode(decode);
5231            error.operation_id = Some("doc.format.eastAsianLayout".into());
5232            error.outcome_unknown = true;
5233            self.invoker.handle_decode_error(error)
5234        })
5235    }
5236
5237    #[doc = "Set or clear the `em` inline run property on the target text range."]
5238    pub fn em<'call>(
5239        &'call self,
5240        params: &'call DocFormatEmBoundParams,
5241    ) -> impl std::future::Future<Output = Result<DocFormatEmResult>> + Send + 'call {
5242        self.em_with_options(params, InvokeOptions::default())
5243    }
5244    #[doc = "Set or clear the `em` inline run property on the target text range."]
5245    pub async fn em_with_options(
5246        &self,
5247        params: &DocFormatEmBoundParams,
5248        options: InvokeOptions,
5249    ) -> Result<DocFormatEmResult> {
5250        let params = serde_json::to_value(params)
5251            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5252        let result = self
5253            .invoker
5254            .invoke("doc.format.em", params, options)
5255            .await?;
5256        serde_json::from_value(result).map_err(|decode| {
5257            let mut error = Error::decode(decode);
5258            error.operation_id = Some("doc.format.em".into());
5259            error.outcome_unknown = true;
5260            self.invoker.handle_decode_error(error)
5261        })
5262    }
5263
5264    #[doc = "Set or clear the `emboss` inline run property on the target text range."]
5265    pub fn emboss<'call>(
5266        &'call self,
5267        params: &'call DocFormatEmbossBoundParams,
5268    ) -> impl std::future::Future<Output = Result<DocFormatEmbossResult>> + Send + 'call {
5269        self.emboss_with_options(params, InvokeOptions::default())
5270    }
5271    #[doc = "Set or clear the `emboss` inline run property on the target text range."]
5272    pub async fn emboss_with_options(
5273        &self,
5274        params: &DocFormatEmbossBoundParams,
5275        options: InvokeOptions,
5276    ) -> Result<DocFormatEmbossResult> {
5277        let params = serde_json::to_value(params)
5278            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5279        let result = self
5280            .invoker
5281            .invoke("doc.format.emboss", params, options)
5282            .await?;
5283        serde_json::from_value(result).map_err(|decode| {
5284            let mut error = Error::decode(decode);
5285            error.operation_id = Some("doc.format.emboss".into());
5286            error.outcome_unknown = true;
5287            self.invoker.handle_decode_error(error)
5288        })
5289    }
5290
5291    #[doc = "Set or clear the `fitText` inline run property on the target text range."]
5292    pub fn fit_text<'call>(
5293        &'call self,
5294        params: &'call DocFormatFitTextBoundParams,
5295    ) -> impl std::future::Future<Output = Result<DocFormatFitTextResult>> + Send + 'call {
5296        self.fit_text_with_options(params, InvokeOptions::default())
5297    }
5298    #[doc = "Set or clear the `fitText` inline run property on the target text range."]
5299    pub async fn fit_text_with_options(
5300        &self,
5301        params: &DocFormatFitTextBoundParams,
5302        options: InvokeOptions,
5303    ) -> Result<DocFormatFitTextResult> {
5304        let params = serde_json::to_value(params)
5305            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5306        let result = self
5307            .invoker
5308            .invoke("doc.format.fitText", params, options)
5309            .await?;
5310        serde_json::from_value(result).map_err(|decode| {
5311            let mut error = Error::decode(decode);
5312            error.operation_id = Some("doc.format.fitText".into());
5313            error.outcome_unknown = true;
5314            self.invoker.handle_decode_error(error)
5315        })
5316    }
5317
5318    #[doc = "Set or clear the `fontFamily` inline run property on the target text range."]
5319    pub fn font_family<'call>(
5320        &'call self,
5321        params: &'call DocFormatFontFamilyBoundParams,
5322    ) -> impl std::future::Future<Output = Result<DocFormatFontFamilyResult>> + Send + 'call {
5323        self.font_family_with_options(params, InvokeOptions::default())
5324    }
5325    #[doc = "Set or clear the `fontFamily` inline run property on the target text range."]
5326    pub async fn font_family_with_options(
5327        &self,
5328        params: &DocFormatFontFamilyBoundParams,
5329        options: InvokeOptions,
5330    ) -> Result<DocFormatFontFamilyResult> {
5331        let params = serde_json::to_value(params)
5332            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5333        let result = self
5334            .invoker
5335            .invoke("doc.format.fontFamily", params, options)
5336            .await?;
5337        serde_json::from_value(result).map_err(|decode| {
5338            let mut error = Error::decode(decode);
5339            error.operation_id = Some("doc.format.fontFamily".into());
5340            error.outcome_unknown = true;
5341            self.invoker.handle_decode_error(error)
5342        })
5343    }
5344
5345    #[doc = "Set or clear the `fontSize` inline run property on the target text range."]
5346    pub fn font_size<'call>(
5347        &'call self,
5348        params: &'call DocFormatFontSizeBoundParams,
5349    ) -> impl std::future::Future<Output = Result<DocFormatFontSizeResult>> + Send + 'call {
5350        self.font_size_with_options(params, InvokeOptions::default())
5351    }
5352    #[doc = "Set or clear the `fontSize` inline run property on the target text range."]
5353    pub async fn font_size_with_options(
5354        &self,
5355        params: &DocFormatFontSizeBoundParams,
5356        options: InvokeOptions,
5357    ) -> Result<DocFormatFontSizeResult> {
5358        let params = serde_json::to_value(params)
5359            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5360        let result = self
5361            .invoker
5362            .invoke("doc.format.fontSize", params, options)
5363            .await?;
5364        serde_json::from_value(result).map_err(|decode| {
5365            let mut error = Error::decode(decode);
5366            error.operation_id = Some("doc.format.fontSize".into());
5367            error.outcome_unknown = true;
5368            self.invoker.handle_decode_error(error)
5369        })
5370    }
5371
5372    #[doc = "Set or clear the `fontSizeCs` inline run property on the target text range."]
5373    pub fn font_size_cs<'call>(
5374        &'call self,
5375        params: &'call DocFormatFontSizeCsBoundParams,
5376    ) -> impl std::future::Future<Output = Result<DocFormatFontSizeCsResult>> + Send + 'call {
5377        self.font_size_cs_with_options(params, InvokeOptions::default())
5378    }
5379    #[doc = "Set or clear the `fontSizeCs` inline run property on the target text range."]
5380    pub async fn font_size_cs_with_options(
5381        &self,
5382        params: &DocFormatFontSizeCsBoundParams,
5383        options: InvokeOptions,
5384    ) -> Result<DocFormatFontSizeCsResult> {
5385        let params = serde_json::to_value(params)
5386            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5387        let result = self
5388            .invoker
5389            .invoke("doc.format.fontSizeCs", params, options)
5390            .await?;
5391        serde_json::from_value(result).map_err(|decode| {
5392            let mut error = Error::decode(decode);
5393            error.operation_id = Some("doc.format.fontSizeCs".into());
5394            error.outcome_unknown = true;
5395            self.invoker.handle_decode_error(error)
5396        })
5397    }
5398
5399    #[doc = "Set or clear the `highlight` inline run property on the target text range."]
5400    pub fn highlight<'call>(
5401        &'call self,
5402        params: &'call DocFormatHighlightBoundParams,
5403    ) -> impl std::future::Future<Output = Result<DocFormatHighlightResult>> + Send + 'call {
5404        self.highlight_with_options(params, InvokeOptions::default())
5405    }
5406    #[doc = "Set or clear the `highlight` inline run property on the target text range."]
5407    pub async fn highlight_with_options(
5408        &self,
5409        params: &DocFormatHighlightBoundParams,
5410        options: InvokeOptions,
5411    ) -> Result<DocFormatHighlightResult> {
5412        let params = serde_json::to_value(params)
5413            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5414        let result = self
5415            .invoker
5416            .invoke("doc.format.highlight", params, options)
5417            .await?;
5418        serde_json::from_value(result).map_err(|decode| {
5419            let mut error = Error::decode(decode);
5420            error.operation_id = Some("doc.format.highlight".into());
5421            error.outcome_unknown = true;
5422            self.invoker.handle_decode_error(error)
5423        })
5424    }
5425
5426    #[doc = "Set or clear the `iCs` inline run property on the target text range."]
5427    pub fn i_cs<'call>(
5428        &'call self,
5429        params: &'call DocFormatICsBoundParams,
5430    ) -> impl std::future::Future<Output = Result<DocFormatICsResult>> + Send + 'call {
5431        self.i_cs_with_options(params, InvokeOptions::default())
5432    }
5433    #[doc = "Set or clear the `iCs` inline run property on the target text range."]
5434    pub async fn i_cs_with_options(
5435        &self,
5436        params: &DocFormatICsBoundParams,
5437        options: InvokeOptions,
5438    ) -> Result<DocFormatICsResult> {
5439        let params = serde_json::to_value(params)
5440            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5441        let result = self
5442            .invoker
5443            .invoke("doc.format.iCs", params, options)
5444            .await?;
5445        serde_json::from_value(result).map_err(|decode| {
5446            let mut error = Error::decode(decode);
5447            error.operation_id = Some("doc.format.iCs".into());
5448            error.outcome_unknown = true;
5449            self.invoker.handle_decode_error(error)
5450        })
5451    }
5452
5453    #[doc = "Set or clear the `imprint` inline run property on the target text range."]
5454    pub fn imprint<'call>(
5455        &'call self,
5456        params: &'call DocFormatImprintBoundParams,
5457    ) -> impl std::future::Future<Output = Result<DocFormatImprintResult>> + Send + 'call {
5458        self.imprint_with_options(params, InvokeOptions::default())
5459    }
5460    #[doc = "Set or clear the `imprint` inline run property on the target text range."]
5461    pub async fn imprint_with_options(
5462        &self,
5463        params: &DocFormatImprintBoundParams,
5464        options: InvokeOptions,
5465    ) -> Result<DocFormatImprintResult> {
5466        let params = serde_json::to_value(params)
5467            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5468        let result = self
5469            .invoker
5470            .invoke("doc.format.imprint", params, options)
5471            .await?;
5472        serde_json::from_value(result).map_err(|decode| {
5473            let mut error = Error::decode(decode);
5474            error.operation_id = Some("doc.format.imprint".into());
5475            error.outcome_unknown = true;
5476            self.invoker.handle_decode_error(error)
5477        })
5478    }
5479
5480    #[doc = "Set or clear the `italic` inline run property on the target text range."]
5481    pub fn italic<'call>(
5482        &'call self,
5483        params: &'call DocFormatItalicBoundParams,
5484    ) -> impl std::future::Future<Output = Result<DocFormatItalicResult>> + Send + 'call {
5485        self.italic_with_options(params, InvokeOptions::default())
5486    }
5487    #[doc = "Set or clear the `italic` inline run property on the target text range."]
5488    pub async fn italic_with_options(
5489        &self,
5490        params: &DocFormatItalicBoundParams,
5491        options: InvokeOptions,
5492    ) -> Result<DocFormatItalicResult> {
5493        let params = serde_json::to_value(params)
5494            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5495        let result = self
5496            .invoker
5497            .invoke("doc.format.italic", params, options)
5498            .await?;
5499        serde_json::from_value(result).map_err(|decode| {
5500            let mut error = Error::decode(decode);
5501            error.operation_id = Some("doc.format.italic".into());
5502            error.outcome_unknown = true;
5503            self.invoker.handle_decode_error(error)
5504        })
5505    }
5506
5507    #[doc = "Set or clear the `kerning` inline run property on the target text range."]
5508    pub fn kerning<'call>(
5509        &'call self,
5510        params: &'call DocFormatKerningBoundParams,
5511    ) -> impl std::future::Future<Output = Result<DocFormatKerningResult>> + Send + 'call {
5512        self.kerning_with_options(params, InvokeOptions::default())
5513    }
5514    #[doc = "Set or clear the `kerning` inline run property on the target text range."]
5515    pub async fn kerning_with_options(
5516        &self,
5517        params: &DocFormatKerningBoundParams,
5518        options: InvokeOptions,
5519    ) -> Result<DocFormatKerningResult> {
5520        let params = serde_json::to_value(params)
5521            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5522        let result = self
5523            .invoker
5524            .invoke("doc.format.kerning", params, options)
5525            .await?;
5526        serde_json::from_value(result).map_err(|decode| {
5527            let mut error = Error::decode(decode);
5528            error.operation_id = Some("doc.format.kerning".into());
5529            error.outcome_unknown = true;
5530            self.invoker.handle_decode_error(error)
5531        })
5532    }
5533
5534    #[doc = "Set or clear the `lang` inline run property on the target text range."]
5535    pub fn lang<'call>(
5536        &'call self,
5537        params: &'call DocFormatLangBoundParams,
5538    ) -> impl std::future::Future<Output = Result<DocFormatLangResult>> + Send + 'call {
5539        self.lang_with_options(params, InvokeOptions::default())
5540    }
5541    #[doc = "Set or clear the `lang` inline run property on the target text range."]
5542    pub async fn lang_with_options(
5543        &self,
5544        params: &DocFormatLangBoundParams,
5545        options: InvokeOptions,
5546    ) -> Result<DocFormatLangResult> {
5547        let params = serde_json::to_value(params)
5548            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5549        let result = self
5550            .invoker
5551            .invoke("doc.format.lang", params, options)
5552            .await?;
5553        serde_json::from_value(result).map_err(|decode| {
5554            let mut error = Error::decode(decode);
5555            error.operation_id = Some("doc.format.lang".into());
5556            error.outcome_unknown = true;
5557            self.invoker.handle_decode_error(error)
5558        })
5559    }
5560
5561    #[doc = "Set or clear the `letterSpacing` inline run property on the target text range."]
5562    pub fn letter_spacing<'call>(
5563        &'call self,
5564        params: &'call DocFormatLetterSpacingBoundParams,
5565    ) -> impl std::future::Future<Output = Result<DocFormatLetterSpacingResult>> + Send + 'call
5566    {
5567        self.letter_spacing_with_options(params, InvokeOptions::default())
5568    }
5569    #[doc = "Set or clear the `letterSpacing` inline run property on the target text range."]
5570    pub async fn letter_spacing_with_options(
5571        &self,
5572        params: &DocFormatLetterSpacingBoundParams,
5573        options: InvokeOptions,
5574    ) -> Result<DocFormatLetterSpacingResult> {
5575        let params = serde_json::to_value(params)
5576            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5577        let result = self
5578            .invoker
5579            .invoke("doc.format.letterSpacing", params, options)
5580            .await?;
5581        serde_json::from_value(result).map_err(|decode| {
5582            let mut error = Error::decode(decode);
5583            error.operation_id = Some("doc.format.letterSpacing".into());
5584            error.outcome_unknown = true;
5585            self.invoker.handle_decode_error(error)
5586        })
5587    }
5588
5589    #[doc = "Set or clear the `ligatures` inline run property on the target text range."]
5590    pub fn ligatures<'call>(
5591        &'call self,
5592        params: &'call DocFormatLigaturesBoundParams,
5593    ) -> impl std::future::Future<Output = Result<DocFormatLigaturesResult>> + Send + 'call {
5594        self.ligatures_with_options(params, InvokeOptions::default())
5595    }
5596    #[doc = "Set or clear the `ligatures` inline run property on the target text range."]
5597    pub async fn ligatures_with_options(
5598        &self,
5599        params: &DocFormatLigaturesBoundParams,
5600        options: InvokeOptions,
5601    ) -> Result<DocFormatLigaturesResult> {
5602        let params = serde_json::to_value(params)
5603            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5604        let result = self
5605            .invoker
5606            .invoke("doc.format.ligatures", params, options)
5607            .await?;
5608        serde_json::from_value(result).map_err(|decode| {
5609            let mut error = Error::decode(decode);
5610            error.operation_id = Some("doc.format.ligatures".into());
5611            error.outcome_unknown = true;
5612            self.invoker.handle_decode_error(error)
5613        })
5614    }
5615
5616    #[doc = "Set or clear the `numForm` inline run property on the target text range."]
5617    pub fn num_form<'call>(
5618        &'call self,
5619        params: &'call DocFormatNumFormBoundParams,
5620    ) -> impl std::future::Future<Output = Result<DocFormatNumFormResult>> + Send + 'call {
5621        self.num_form_with_options(params, InvokeOptions::default())
5622    }
5623    #[doc = "Set or clear the `numForm` inline run property on the target text range."]
5624    pub async fn num_form_with_options(
5625        &self,
5626        params: &DocFormatNumFormBoundParams,
5627        options: InvokeOptions,
5628    ) -> Result<DocFormatNumFormResult> {
5629        let params = serde_json::to_value(params)
5630            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5631        let result = self
5632            .invoker
5633            .invoke("doc.format.numForm", params, options)
5634            .await?;
5635        serde_json::from_value(result).map_err(|decode| {
5636            let mut error = Error::decode(decode);
5637            error.operation_id = Some("doc.format.numForm".into());
5638            error.outcome_unknown = true;
5639            self.invoker.handle_decode_error(error)
5640        })
5641    }
5642
5643    #[doc = "Set or clear the `numSpacing` inline run property on the target text range."]
5644    pub fn num_spacing<'call>(
5645        &'call self,
5646        params: &'call DocFormatNumSpacingBoundParams,
5647    ) -> impl std::future::Future<Output = Result<DocFormatNumSpacingResult>> + Send + 'call {
5648        self.num_spacing_with_options(params, InvokeOptions::default())
5649    }
5650    #[doc = "Set or clear the `numSpacing` inline run property on the target text range."]
5651    pub async fn num_spacing_with_options(
5652        &self,
5653        params: &DocFormatNumSpacingBoundParams,
5654        options: InvokeOptions,
5655    ) -> Result<DocFormatNumSpacingResult> {
5656        let params = serde_json::to_value(params)
5657            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5658        let result = self
5659            .invoker
5660            .invoke("doc.format.numSpacing", params, options)
5661            .await?;
5662        serde_json::from_value(result).map_err(|decode| {
5663            let mut error = Error::decode(decode);
5664            error.operation_id = Some("doc.format.numSpacing".into());
5665            error.outcome_unknown = true;
5666            self.invoker.handle_decode_error(error)
5667        })
5668    }
5669
5670    #[doc = "Set or clear the `oMath` inline run property on the target text range."]
5671    pub fn o_math<'call>(
5672        &'call self,
5673        params: &'call DocFormatOMathBoundParams,
5674    ) -> impl std::future::Future<Output = Result<DocFormatOMathResult>> + Send + 'call {
5675        self.o_math_with_options(params, InvokeOptions::default())
5676    }
5677    #[doc = "Set or clear the `oMath` inline run property on the target text range."]
5678    pub async fn o_math_with_options(
5679        &self,
5680        params: &DocFormatOMathBoundParams,
5681        options: InvokeOptions,
5682    ) -> Result<DocFormatOMathResult> {
5683        let params = serde_json::to_value(params)
5684            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5685        let result = self
5686            .invoker
5687            .invoke("doc.format.oMath", params, options)
5688            .await?;
5689        serde_json::from_value(result).map_err(|decode| {
5690            let mut error = Error::decode(decode);
5691            error.operation_id = Some("doc.format.oMath".into());
5692            error.outcome_unknown = true;
5693            self.invoker.handle_decode_error(error)
5694        })
5695    }
5696
5697    #[doc = "Set or clear the `outline` inline run property on the target text range."]
5698    pub fn outline<'call>(
5699        &'call self,
5700        params: &'call DocFormatOutlineBoundParams,
5701    ) -> impl std::future::Future<Output = Result<DocFormatOutlineResult>> + Send + 'call {
5702        self.outline_with_options(params, InvokeOptions::default())
5703    }
5704    #[doc = "Set or clear the `outline` inline run property on the target text range."]
5705    pub async fn outline_with_options(
5706        &self,
5707        params: &DocFormatOutlineBoundParams,
5708        options: InvokeOptions,
5709    ) -> Result<DocFormatOutlineResult> {
5710        let params = serde_json::to_value(params)
5711            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5712        let result = self
5713            .invoker
5714            .invoke("doc.format.outline", params, options)
5715            .await?;
5716        serde_json::from_value(result).map_err(|decode| {
5717            let mut error = Error::decode(decode);
5718            error.operation_id = Some("doc.format.outline".into());
5719            error.outcome_unknown = true;
5720            self.invoker.handle_decode_error(error)
5721        })
5722    }
5723
5724    #[doc = "Set or clear the `position` inline run property on the target text range."]
5725    pub fn position<'call>(
5726        &'call self,
5727        params: &'call DocFormatPositionBoundParams,
5728    ) -> impl std::future::Future<Output = Result<DocFormatPositionResult>> + Send + 'call {
5729        self.position_with_options(params, InvokeOptions::default())
5730    }
5731    #[doc = "Set or clear the `position` inline run property on the target text range."]
5732    pub async fn position_with_options(
5733        &self,
5734        params: &DocFormatPositionBoundParams,
5735        options: InvokeOptions,
5736    ) -> Result<DocFormatPositionResult> {
5737        let params = serde_json::to_value(params)
5738            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5739        let result = self
5740            .invoker
5741            .invoke("doc.format.position", params, options)
5742            .await?;
5743        serde_json::from_value(result).map_err(|decode| {
5744            let mut error = Error::decode(decode);
5745            error.operation_id = Some("doc.format.position".into());
5746            error.outcome_unknown = true;
5747            self.invoker.handle_decode_error(error)
5748        })
5749    }
5750
5751    #[doc = "Read inline formatting across a selection or caret, reporting each property as uniform, mixed, unset or unresolvable."]
5752    pub fn read_selection<'call>(
5753        &'call self,
5754        params: &'call DocFormatReadSelectionBoundParams,
5755    ) -> impl std::future::Future<Output = Result<DocFormatReadSelectionResult>> + Send + 'call
5756    {
5757        self.read_selection_with_options(params, InvokeOptions::default())
5758    }
5759    #[doc = "Read inline formatting across a selection or caret, reporting each property as uniform, mixed, unset or unresolvable."]
5760    pub async fn read_selection_with_options(
5761        &self,
5762        params: &DocFormatReadSelectionBoundParams,
5763        options: InvokeOptions,
5764    ) -> Result<DocFormatReadSelectionResult> {
5765        let params = serde_json::to_value(params)
5766            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5767        let result = self
5768            .invoker
5769            .invoke("doc.format.readSelection", params, options)
5770            .await?;
5771        serde_json::from_value(result).map_err(|decode| {
5772            let mut error = Error::decode(decode);
5773            error.operation_id = Some("doc.format.readSelection".into());
5774            error.outcome_unknown = false;
5775            self.invoker.handle_decode_error(error)
5776        })
5777    }
5778
5779    #[doc = "Set or clear the `rFonts` inline run property on the target text range."]
5780    pub fn r_fonts<'call>(
5781        &'call self,
5782        params: &'call DocFormatRFontsBoundParams,
5783    ) -> impl std::future::Future<Output = Result<DocFormatRFontsResult>> + Send + 'call {
5784        self.r_fonts_with_options(params, InvokeOptions::default())
5785    }
5786    #[doc = "Set or clear the `rFonts` inline run property on the target text range."]
5787    pub async fn r_fonts_with_options(
5788        &self,
5789        params: &DocFormatRFontsBoundParams,
5790        options: InvokeOptions,
5791    ) -> Result<DocFormatRFontsResult> {
5792        let params = serde_json::to_value(params)
5793            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5794        let result = self
5795            .invoker
5796            .invoke("doc.format.rFonts", params, options)
5797            .await?;
5798        serde_json::from_value(result).map_err(|decode| {
5799            let mut error = Error::decode(decode);
5800            error.operation_id = Some("doc.format.rFonts".into());
5801            error.outcome_unknown = true;
5802            self.invoker.handle_decode_error(error)
5803        })
5804    }
5805
5806    #[doc = "Set or clear the `rStyle` inline run property on the target text range."]
5807    pub fn r_style<'call>(
5808        &'call self,
5809        params: &'call DocFormatRStyleBoundParams,
5810    ) -> impl std::future::Future<Output = Result<DocFormatRStyleResult>> + Send + 'call {
5811        self.r_style_with_options(params, InvokeOptions::default())
5812    }
5813    #[doc = "Set or clear the `rStyle` inline run property on the target text range."]
5814    pub async fn r_style_with_options(
5815        &self,
5816        params: &DocFormatRStyleBoundParams,
5817        options: InvokeOptions,
5818    ) -> Result<DocFormatRStyleResult> {
5819        let params = serde_json::to_value(params)
5820            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5821        let result = self
5822            .invoker
5823            .invoke("doc.format.rStyle", params, options)
5824            .await?;
5825        serde_json::from_value(result).map_err(|decode| {
5826            let mut error = Error::decode(decode);
5827            error.operation_id = Some("doc.format.rStyle".into());
5828            error.outcome_unknown = true;
5829            self.invoker.handle_decode_error(error)
5830        })
5831    }
5832
5833    #[doc = "Set or clear the `rtl` inline run property on the target text range. This does not change paragraph direction; use `format.paragraph.setDirection` for paragraph-level RTL."]
5834    pub fn rtl<'call>(
5835        &'call self,
5836        params: &'call DocFormatRtlBoundParams,
5837    ) -> impl std::future::Future<Output = Result<DocFormatRtlResult>> + Send + 'call {
5838        self.rtl_with_options(params, InvokeOptions::default())
5839    }
5840    #[doc = "Set or clear the `rtl` inline run property on the target text range. This does not change paragraph direction; use `format.paragraph.setDirection` for paragraph-level RTL."]
5841    pub async fn rtl_with_options(
5842        &self,
5843        params: &DocFormatRtlBoundParams,
5844        options: InvokeOptions,
5845    ) -> Result<DocFormatRtlResult> {
5846        let params = serde_json::to_value(params)
5847            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5848        let result = self
5849            .invoker
5850            .invoke("doc.format.rtl", params, options)
5851            .await?;
5852        serde_json::from_value(result).map_err(|decode| {
5853            let mut error = Error::decode(decode);
5854            error.operation_id = Some("doc.format.rtl".into());
5855            error.outcome_unknown = true;
5856            self.invoker.handle_decode_error(error)
5857        })
5858    }
5859
5860    #[doc = "Set or clear the `shading` inline run property on the target text range."]
5861    pub fn shading<'call>(
5862        &'call self,
5863        params: &'call DocFormatShadingBoundParams,
5864    ) -> impl std::future::Future<Output = Result<DocFormatShadingResult>> + Send + 'call {
5865        self.shading_with_options(params, InvokeOptions::default())
5866    }
5867    #[doc = "Set or clear the `shading` inline run property on the target text range."]
5868    pub async fn shading_with_options(
5869        &self,
5870        params: &DocFormatShadingBoundParams,
5871        options: InvokeOptions,
5872    ) -> Result<DocFormatShadingResult> {
5873        let params = serde_json::to_value(params)
5874            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5875        let result = self
5876            .invoker
5877            .invoke("doc.format.shading", params, options)
5878            .await?;
5879        serde_json::from_value(result).map_err(|decode| {
5880            let mut error = Error::decode(decode);
5881            error.operation_id = Some("doc.format.shading".into());
5882            error.outcome_unknown = true;
5883            self.invoker.handle_decode_error(error)
5884        })
5885    }
5886
5887    #[doc = "Set or clear the `shadow` inline run property on the target text range."]
5888    pub fn shadow<'call>(
5889        &'call self,
5890        params: &'call DocFormatShadowBoundParams,
5891    ) -> impl std::future::Future<Output = Result<DocFormatShadowResult>> + Send + 'call {
5892        self.shadow_with_options(params, InvokeOptions::default())
5893    }
5894    #[doc = "Set or clear the `shadow` inline run property on the target text range."]
5895    pub async fn shadow_with_options(
5896        &self,
5897        params: &DocFormatShadowBoundParams,
5898        options: InvokeOptions,
5899    ) -> Result<DocFormatShadowResult> {
5900        let params = serde_json::to_value(params)
5901            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5902        let result = self
5903            .invoker
5904            .invoke("doc.format.shadow", params, options)
5905            .await?;
5906        serde_json::from_value(result).map_err(|decode| {
5907            let mut error = Error::decode(decode);
5908            error.operation_id = Some("doc.format.shadow".into());
5909            error.outcome_unknown = true;
5910            self.invoker.handle_decode_error(error)
5911        })
5912    }
5913
5914    #[doc = "Set or clear the `smallCaps` inline run property on the target text range."]
5915    pub fn small_caps<'call>(
5916        &'call self,
5917        params: &'call DocFormatSmallCapsBoundParams,
5918    ) -> impl std::future::Future<Output = Result<DocFormatSmallCapsResult>> + Send + 'call {
5919        self.small_caps_with_options(params, InvokeOptions::default())
5920    }
5921    #[doc = "Set or clear the `smallCaps` inline run property on the target text range."]
5922    pub async fn small_caps_with_options(
5923        &self,
5924        params: &DocFormatSmallCapsBoundParams,
5925        options: InvokeOptions,
5926    ) -> Result<DocFormatSmallCapsResult> {
5927        let params = serde_json::to_value(params)
5928            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5929        let result = self
5930            .invoker
5931            .invoke("doc.format.smallCaps", params, options)
5932            .await?;
5933        serde_json::from_value(result).map_err(|decode| {
5934            let mut error = Error::decode(decode);
5935            error.operation_id = Some("doc.format.smallCaps".into());
5936            error.outcome_unknown = true;
5937            self.invoker.handle_decode_error(error)
5938        })
5939    }
5940
5941    #[doc = "Set or clear the `snapToGrid` inline run property on the target text range."]
5942    pub fn snap_to_grid<'call>(
5943        &'call self,
5944        params: &'call DocFormatSnapToGridBoundParams,
5945    ) -> impl std::future::Future<Output = Result<DocFormatSnapToGridResult>> + Send + 'call {
5946        self.snap_to_grid_with_options(params, InvokeOptions::default())
5947    }
5948    #[doc = "Set or clear the `snapToGrid` inline run property on the target text range."]
5949    pub async fn snap_to_grid_with_options(
5950        &self,
5951        params: &DocFormatSnapToGridBoundParams,
5952        options: InvokeOptions,
5953    ) -> Result<DocFormatSnapToGridResult> {
5954        let params = serde_json::to_value(params)
5955            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5956        let result = self
5957            .invoker
5958            .invoke("doc.format.snapToGrid", params, options)
5959            .await?;
5960        serde_json::from_value(result).map_err(|decode| {
5961            let mut error = Error::decode(decode);
5962            error.operation_id = Some("doc.format.snapToGrid".into());
5963            error.outcome_unknown = true;
5964            self.invoker.handle_decode_error(error)
5965        })
5966    }
5967
5968    #[doc = "Set or clear the `specVanish` inline run property on the target text range."]
5969    pub fn spec_vanish<'call>(
5970        &'call self,
5971        params: &'call DocFormatSpecVanishBoundParams,
5972    ) -> impl std::future::Future<Output = Result<DocFormatSpecVanishResult>> + Send + 'call {
5973        self.spec_vanish_with_options(params, InvokeOptions::default())
5974    }
5975    #[doc = "Set or clear the `specVanish` inline run property on the target text range."]
5976    pub async fn spec_vanish_with_options(
5977        &self,
5978        params: &DocFormatSpecVanishBoundParams,
5979        options: InvokeOptions,
5980    ) -> Result<DocFormatSpecVanishResult> {
5981        let params = serde_json::to_value(params)
5982            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
5983        let result = self
5984            .invoker
5985            .invoke("doc.format.specVanish", params, options)
5986            .await?;
5987        serde_json::from_value(result).map_err(|decode| {
5988            let mut error = Error::decode(decode);
5989            error.operation_id = Some("doc.format.specVanish".into());
5990            error.outcome_unknown = true;
5991            self.invoker.handle_decode_error(error)
5992        })
5993    }
5994
5995    #[doc = "Set or clear the `strike` inline run property on the target text range."]
5996    pub fn strike<'call>(
5997        &'call self,
5998        params: &'call DocFormatStrikeBoundParams,
5999    ) -> impl std::future::Future<Output = Result<DocFormatStrikeResult>> + Send + 'call {
6000        self.strike_with_options(params, InvokeOptions::default())
6001    }
6002    #[doc = "Set or clear the `strike` inline run property on the target text range."]
6003    pub async fn strike_with_options(
6004        &self,
6005        params: &DocFormatStrikeBoundParams,
6006        options: InvokeOptions,
6007    ) -> Result<DocFormatStrikeResult> {
6008        let params = serde_json::to_value(params)
6009            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6010        let result = self
6011            .invoker
6012            .invoke("doc.format.strike", params, options)
6013            .await?;
6014        serde_json::from_value(result).map_err(|decode| {
6015            let mut error = Error::decode(decode);
6016            error.operation_id = Some("doc.format.strike".into());
6017            error.outcome_unknown = true;
6018            self.invoker.handle_decode_error(error)
6019        })
6020    }
6021
6022    #[doc = "Set or clear the `stylisticSets` inline run property on the target text range."]
6023    pub fn stylistic_sets<'call>(
6024        &'call self,
6025        params: &'call DocFormatStylisticSetsBoundParams,
6026    ) -> impl std::future::Future<Output = Result<DocFormatStylisticSetsResult>> + Send + 'call
6027    {
6028        self.stylistic_sets_with_options(params, InvokeOptions::default())
6029    }
6030    #[doc = "Set or clear the `stylisticSets` inline run property on the target text range."]
6031    pub async fn stylistic_sets_with_options(
6032        &self,
6033        params: &DocFormatStylisticSetsBoundParams,
6034        options: InvokeOptions,
6035    ) -> Result<DocFormatStylisticSetsResult> {
6036        let params = serde_json::to_value(params)
6037            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6038        let result = self
6039            .invoker
6040            .invoke("doc.format.stylisticSets", params, options)
6041            .await?;
6042        serde_json::from_value(result).map_err(|decode| {
6043            let mut error = Error::decode(decode);
6044            error.operation_id = Some("doc.format.stylisticSets".into());
6045            error.outcome_unknown = true;
6046            self.invoker.handle_decode_error(error)
6047        })
6048    }
6049
6050    #[doc = "Set or clear the `underline` inline run property on the target text range."]
6051    pub fn underline<'call>(
6052        &'call self,
6053        params: &'call DocFormatUnderlineBoundParams,
6054    ) -> impl std::future::Future<Output = Result<DocFormatUnderlineResult>> + Send + 'call {
6055        self.underline_with_options(params, InvokeOptions::default())
6056    }
6057    #[doc = "Set or clear the `underline` inline run property on the target text range."]
6058    pub async fn underline_with_options(
6059        &self,
6060        params: &DocFormatUnderlineBoundParams,
6061        options: InvokeOptions,
6062    ) -> Result<DocFormatUnderlineResult> {
6063        let params = serde_json::to_value(params)
6064            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6065        let result = self
6066            .invoker
6067            .invoke("doc.format.underline", params, options)
6068            .await?;
6069        serde_json::from_value(result).map_err(|decode| {
6070            let mut error = Error::decode(decode);
6071            error.operation_id = Some("doc.format.underline".into());
6072            error.outcome_unknown = true;
6073            self.invoker.handle_decode_error(error)
6074        })
6075    }
6076
6077    #[doc = "Set or clear the `vanish` inline run property on the target text range."]
6078    pub fn vanish<'call>(
6079        &'call self,
6080        params: &'call DocFormatVanishBoundParams,
6081    ) -> impl std::future::Future<Output = Result<DocFormatVanishResult>> + Send + 'call {
6082        self.vanish_with_options(params, InvokeOptions::default())
6083    }
6084    #[doc = "Set or clear the `vanish` inline run property on the target text range."]
6085    pub async fn vanish_with_options(
6086        &self,
6087        params: &DocFormatVanishBoundParams,
6088        options: InvokeOptions,
6089    ) -> Result<DocFormatVanishResult> {
6090        let params = serde_json::to_value(params)
6091            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6092        let result = self
6093            .invoker
6094            .invoke("doc.format.vanish", params, options)
6095            .await?;
6096        serde_json::from_value(result).map_err(|decode| {
6097            let mut error = Error::decode(decode);
6098            error.operation_id = Some("doc.format.vanish".into());
6099            error.outcome_unknown = true;
6100            self.invoker.handle_decode_error(error)
6101        })
6102    }
6103
6104    #[doc = "Set or clear the `vertAlign` inline run property on the target text range."]
6105    pub fn vert_align<'call>(
6106        &'call self,
6107        params: &'call DocFormatVertAlignBoundParams,
6108    ) -> impl std::future::Future<Output = Result<DocFormatVertAlignResult>> + Send + 'call {
6109        self.vert_align_with_options(params, InvokeOptions::default())
6110    }
6111    #[doc = "Set or clear the `vertAlign` inline run property on the target text range."]
6112    pub async fn vert_align_with_options(
6113        &self,
6114        params: &DocFormatVertAlignBoundParams,
6115        options: InvokeOptions,
6116    ) -> Result<DocFormatVertAlignResult> {
6117        let params = serde_json::to_value(params)
6118            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6119        let result = self
6120            .invoker
6121            .invoke("doc.format.vertAlign", params, options)
6122            .await?;
6123        serde_json::from_value(result).map_err(|decode| {
6124            let mut error = Error::decode(decode);
6125            error.operation_id = Some("doc.format.vertAlign".into());
6126            error.outcome_unknown = true;
6127            self.invoker.handle_decode_error(error)
6128        })
6129    }
6130
6131    #[doc = "Set or clear the `webHidden` inline run property on the target text range."]
6132    pub fn web_hidden<'call>(
6133        &'call self,
6134        params: &'call DocFormatWebHiddenBoundParams,
6135    ) -> impl std::future::Future<Output = Result<DocFormatWebHiddenResult>> + Send + 'call {
6136        self.web_hidden_with_options(params, InvokeOptions::default())
6137    }
6138    #[doc = "Set or clear the `webHidden` inline run property on the target text range."]
6139    pub async fn web_hidden_with_options(
6140        &self,
6141        params: &DocFormatWebHiddenBoundParams,
6142        options: InvokeOptions,
6143    ) -> Result<DocFormatWebHiddenResult> {
6144        let params = serde_json::to_value(params)
6145            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6146        let result = self
6147            .invoker
6148            .invoke("doc.format.webHidden", params, options)
6149            .await?;
6150        serde_json::from_value(result).map_err(|decode| {
6151            let mut error = Error::decode(decode);
6152            error.operation_id = Some("doc.format.webHidden".into());
6153            error.outcome_unknown = true;
6154            self.invoker.handle_decode_error(error)
6155        })
6156    }
6157}
6158
6159pub struct DocApiFormatParagraph<'a, I: Invoker> {
6160    invoker: &'a I,
6161}
6162impl<'a, I: Invoker> DocApiFormatParagraph<'a, I> {
6163    pub fn new(invoker: &'a I) -> Self {
6164        Self { invoker }
6165    }
6166
6167    #[doc = "Remove direct paragraph alignment, reverting to style-defined or default alignment."]
6168    pub fn clear_alignment<'call>(
6169        &'call self,
6170        params: &'call DocFormatParagraphClearAlignmentBoundParams,
6171    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearAlignmentResult>> + Send + 'call
6172    {
6173        self.clear_alignment_with_options(params, InvokeOptions::default())
6174    }
6175    #[doc = "Remove direct paragraph alignment, reverting to style-defined or default alignment."]
6176    pub async fn clear_alignment_with_options(
6177        &self,
6178        params: &DocFormatParagraphClearAlignmentBoundParams,
6179        options: InvokeOptions,
6180    ) -> Result<DocFormatParagraphClearAlignmentResult> {
6181        let params = serde_json::to_value(params)
6182            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6183        let result = self
6184            .invoker
6185            .invoke("doc.format.paragraph.clearAlignment", params, options)
6186            .await?;
6187        serde_json::from_value(result).map_err(|decode| {
6188            let mut error = Error::decode(decode);
6189            error.operation_id = Some("doc.format.paragraph.clearAlignment".into());
6190            error.outcome_unknown = true;
6191            self.invoker.handle_decode_error(error)
6192        })
6193    }
6194
6195    #[doc = "Remove all tab stops from a paragraph."]
6196    pub fn clear_all_tab_stops<'call>(
6197        &'call self,
6198        params: &'call DocFormatParagraphClearAllTabStopsBoundParams,
6199    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearAllTabStopsResult>> + Send + 'call
6200    {
6201        self.clear_all_tab_stops_with_options(params, InvokeOptions::default())
6202    }
6203    #[doc = "Remove all tab stops from a paragraph."]
6204    pub async fn clear_all_tab_stops_with_options(
6205        &self,
6206        params: &DocFormatParagraphClearAllTabStopsBoundParams,
6207        options: InvokeOptions,
6208    ) -> Result<DocFormatParagraphClearAllTabStopsResult> {
6209        let params = serde_json::to_value(params)
6210            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6211        let result = self
6212            .invoker
6213            .invoke("doc.format.paragraph.clearAllTabStops", params, options)
6214            .await?;
6215        serde_json::from_value(result).map_err(|decode| {
6216            let mut error = Error::decode(decode);
6217            error.operation_id = Some("doc.format.paragraph.clearAllTabStops".into());
6218            error.outcome_unknown = true;
6219            self.invoker.handle_decode_error(error)
6220        })
6221    }
6222
6223    #[doc = "Remove border for a specific side or all sides of a paragraph."]
6224    pub fn clear_border<'call>(
6225        &'call self,
6226        params: &'call DocFormatParagraphClearBorderBoundParams,
6227    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearBorderResult>> + Send + 'call
6228    {
6229        self.clear_border_with_options(params, InvokeOptions::default())
6230    }
6231    #[doc = "Remove border for a specific side or all sides of a paragraph."]
6232    pub async fn clear_border_with_options(
6233        &self,
6234        params: &DocFormatParagraphClearBorderBoundParams,
6235        options: InvokeOptions,
6236    ) -> Result<DocFormatParagraphClearBorderResult> {
6237        let params = serde_json::to_value(params)
6238            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6239        let result = self
6240            .invoker
6241            .invoke("doc.format.paragraph.clearBorder", params, options)
6242            .await?;
6243        serde_json::from_value(result).map_err(|decode| {
6244            let mut error = Error::decode(decode);
6245            error.operation_id = Some("doc.format.paragraph.clearBorder".into());
6246            error.outcome_unknown = true;
6247            self.invoker.handle_decode_error(error)
6248        })
6249    }
6250
6251    #[doc = "Remove explicit paragraph direction, reverting to inherited or default (LTR)."]
6252    pub fn clear_direction<'call>(
6253        &'call self,
6254        params: &'call DocFormatParagraphClearDirectionBoundParams,
6255    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearDirectionResult>> + Send + 'call
6256    {
6257        self.clear_direction_with_options(params, InvokeOptions::default())
6258    }
6259    #[doc = "Remove explicit paragraph direction, reverting to inherited or default (LTR)."]
6260    pub async fn clear_direction_with_options(
6261        &self,
6262        params: &DocFormatParagraphClearDirectionBoundParams,
6263        options: InvokeOptions,
6264    ) -> Result<DocFormatParagraphClearDirectionResult> {
6265        let params = serde_json::to_value(params)
6266            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6267        let result = self
6268            .invoker
6269            .invoke("doc.format.paragraph.clearDirection", params, options)
6270            .await?;
6271        serde_json::from_value(result).map_err(|decode| {
6272            let mut error = Error::decode(decode);
6273            error.operation_id = Some("doc.format.paragraph.clearDirection".into());
6274            error.outcome_unknown = true;
6275            self.invoker.handle_decode_error(error)
6276        })
6277    }
6278
6279    #[doc = "Remove all direct paragraph indentation."]
6280    pub fn clear_indentation<'call>(
6281        &'call self,
6282        params: &'call DocFormatParagraphClearIndentationBoundParams,
6283    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearIndentationResult>> + Send + 'call
6284    {
6285        self.clear_indentation_with_options(params, InvokeOptions::default())
6286    }
6287    #[doc = "Remove all direct paragraph indentation."]
6288    pub async fn clear_indentation_with_options(
6289        &self,
6290        params: &DocFormatParagraphClearIndentationBoundParams,
6291        options: InvokeOptions,
6292    ) -> Result<DocFormatParagraphClearIndentationResult> {
6293        let params = serde_json::to_value(params)
6294            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6295        let result = self
6296            .invoker
6297            .invoke("doc.format.paragraph.clearIndentation", params, options)
6298            .await?;
6299        serde_json::from_value(result).map_err(|decode| {
6300            let mut error = Error::decode(decode);
6301            error.operation_id = Some("doc.format.paragraph.clearIndentation".into());
6302            error.outcome_unknown = true;
6303            self.invoker.handle_decode_error(error)
6304        })
6305    }
6306
6307    #[doc = "Remove all paragraph shading."]
6308    pub fn clear_shading<'call>(
6309        &'call self,
6310        params: &'call DocFormatParagraphClearShadingBoundParams,
6311    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearShadingResult>> + Send + 'call
6312    {
6313        self.clear_shading_with_options(params, InvokeOptions::default())
6314    }
6315    #[doc = "Remove all paragraph shading."]
6316    pub async fn clear_shading_with_options(
6317        &self,
6318        params: &DocFormatParagraphClearShadingBoundParams,
6319        options: InvokeOptions,
6320    ) -> Result<DocFormatParagraphClearShadingResult> {
6321        let params = serde_json::to_value(params)
6322            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6323        let result = self
6324            .invoker
6325            .invoke("doc.format.paragraph.clearShading", params, options)
6326            .await?;
6327        serde_json::from_value(result).map_err(|decode| {
6328            let mut error = Error::decode(decode);
6329            error.operation_id = Some("doc.format.paragraph.clearShading".into());
6330            error.outcome_unknown = true;
6331            self.invoker.handle_decode_error(error)
6332        })
6333    }
6334
6335    #[doc = "Remove all direct paragraph spacing."]
6336    pub fn clear_spacing<'call>(
6337        &'call self,
6338        params: &'call DocFormatParagraphClearSpacingBoundParams,
6339    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearSpacingResult>> + Send + 'call
6340    {
6341        self.clear_spacing_with_options(params, InvokeOptions::default())
6342    }
6343    #[doc = "Remove all direct paragraph spacing."]
6344    pub async fn clear_spacing_with_options(
6345        &self,
6346        params: &DocFormatParagraphClearSpacingBoundParams,
6347        options: InvokeOptions,
6348    ) -> Result<DocFormatParagraphClearSpacingResult> {
6349        let params = serde_json::to_value(params)
6350            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6351        let result = self
6352            .invoker
6353            .invoke("doc.format.paragraph.clearSpacing", params, options)
6354            .await?;
6355        serde_json::from_value(result).map_err(|decode| {
6356            let mut error = Error::decode(decode);
6357            error.operation_id = Some("doc.format.paragraph.clearSpacing".into());
6358            error.outcome_unknown = true;
6359            self.invoker.handle_decode_error(error)
6360        })
6361    }
6362
6363    #[doc = "Remove a tab stop at a given position."]
6364    pub fn clear_tab_stop<'call>(
6365        &'call self,
6366        params: &'call DocFormatParagraphClearTabStopBoundParams,
6367    ) -> impl std::future::Future<Output = Result<DocFormatParagraphClearTabStopResult>> + Send + 'call
6368    {
6369        self.clear_tab_stop_with_options(params, InvokeOptions::default())
6370    }
6371    #[doc = "Remove a tab stop at a given position."]
6372    pub async fn clear_tab_stop_with_options(
6373        &self,
6374        params: &DocFormatParagraphClearTabStopBoundParams,
6375        options: InvokeOptions,
6376    ) -> Result<DocFormatParagraphClearTabStopResult> {
6377        let params = serde_json::to_value(params)
6378            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6379        let result = self
6380            .invoker
6381            .invoke("doc.format.paragraph.clearTabStop", params, options)
6382            .await?;
6383        serde_json::from_value(result).map_err(|decode| {
6384            let mut error = Error::decode(decode);
6385            error.operation_id = Some("doc.format.paragraph.clearTabStop".into());
6386            error.outcome_unknown = true;
6387            self.invoker.handle_decode_error(error)
6388        })
6389    }
6390
6391    #[doc = "Strip all direct paragraph formatting while preserving style reference, numbering, and section metadata."]
6392    pub fn reset_direct_formatting<'call>(
6393        &'call self,
6394        params: &'call DocFormatParagraphResetDirectFormattingBoundParams,
6395    ) -> impl std::future::Future<Output = Result<DocFormatParagraphResetDirectFormattingResult>>
6396           + Send
6397           + 'call {
6398        self.reset_direct_formatting_with_options(params, InvokeOptions::default())
6399    }
6400    #[doc = "Strip all direct paragraph formatting while preserving style reference, numbering, and section metadata."]
6401    pub async fn reset_direct_formatting_with_options(
6402        &self,
6403        params: &DocFormatParagraphResetDirectFormattingBoundParams,
6404        options: InvokeOptions,
6405    ) -> Result<DocFormatParagraphResetDirectFormattingResult> {
6406        let params = serde_json::to_value(params)
6407            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6408        let result = self
6409            .invoker
6410            .invoke(
6411                "doc.format.paragraph.resetDirectFormatting",
6412                params,
6413                options,
6414            )
6415            .await?;
6416        serde_json::from_value(result).map_err(|decode| {
6417            let mut error = Error::decode(decode);
6418            error.operation_id = Some("doc.format.paragraph.resetDirectFormatting".into());
6419            error.outcome_unknown = true;
6420            self.invoker.handle_decode_error(error)
6421        })
6422    }
6423
6424    #[doc = "Set visual paragraph alignment on a paragraph-like block. For RTL paragraphs, left/right are translated to Word-compatible stored justification values."]
6425    pub fn set_alignment<'call>(
6426        &'call self,
6427        params: &'call DocFormatParagraphSetAlignmentBoundParams,
6428    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetAlignmentResult>> + Send + 'call
6429    {
6430        self.set_alignment_with_options(params, InvokeOptions::default())
6431    }
6432    #[doc = "Set visual paragraph alignment on a paragraph-like block. For RTL paragraphs, left/right are translated to Word-compatible stored justification values."]
6433    pub async fn set_alignment_with_options(
6434        &self,
6435        params: &DocFormatParagraphSetAlignmentBoundParams,
6436        options: InvokeOptions,
6437    ) -> Result<DocFormatParagraphSetAlignmentResult> {
6438        let params = serde_json::to_value(params)
6439            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6440        let result = self
6441            .invoker
6442            .invoke("doc.format.paragraph.setAlignment", params, options)
6443            .await?;
6444        serde_json::from_value(result).map_err(|decode| {
6445            let mut error = Error::decode(decode);
6446            error.operation_id = Some("doc.format.paragraph.setAlignment".into());
6447            error.outcome_unknown = true;
6448            self.invoker.handle_decode_error(error)
6449        })
6450    }
6451
6452    #[doc = "Set border properties for a specific side of a paragraph."]
6453    pub fn set_border<'call>(
6454        &'call self,
6455        params: &'call DocFormatParagraphSetBorderBoundParams,
6456    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetBorderResult>> + Send + 'call
6457    {
6458        self.set_border_with_options(params, InvokeOptions::default())
6459    }
6460    #[doc = "Set border properties for a specific side of a paragraph."]
6461    pub async fn set_border_with_options(
6462        &self,
6463        params: &DocFormatParagraphSetBorderBoundParams,
6464        options: InvokeOptions,
6465    ) -> Result<DocFormatParagraphSetBorderResult> {
6466        let params = serde_json::to_value(params)
6467            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6468        let result = self
6469            .invoker
6470            .invoke("doc.format.paragraph.setBorder", params, options)
6471            .await?;
6472        serde_json::from_value(result).map_err(|decode| {
6473            let mut error = Error::decode(decode);
6474            error.operation_id = Some("doc.format.paragraph.setBorder".into());
6475            error.outcome_unknown = true;
6476            self.invoker.handle_decode_error(error)
6477        })
6478    }
6479
6480    #[doc = "Set paragraph base direction (LTR or RTL via w:bidi). Optionally align text to match."]
6481    pub fn set_direction<'call>(
6482        &'call self,
6483        params: &'call DocFormatParagraphSetDirectionBoundParams,
6484    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetDirectionResult>> + Send + 'call
6485    {
6486        self.set_direction_with_options(params, InvokeOptions::default())
6487    }
6488    #[doc = "Set paragraph base direction (LTR or RTL via w:bidi). Optionally align text to match."]
6489    pub async fn set_direction_with_options(
6490        &self,
6491        params: &DocFormatParagraphSetDirectionBoundParams,
6492        options: InvokeOptions,
6493    ) -> Result<DocFormatParagraphSetDirectionResult> {
6494        let params = serde_json::to_value(params)
6495            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6496        let result = self
6497            .invoker
6498            .invoke("doc.format.paragraph.setDirection", params, options)
6499            .await?;
6500        serde_json::from_value(result).map_err(|decode| {
6501            let mut error = Error::decode(decode);
6502            error.operation_id = Some("doc.format.paragraph.setDirection".into());
6503            error.outcome_unknown = true;
6504            self.invoker.handle_decode_error(error)
6505        })
6506    }
6507
6508    #[doc = "Set paragraph flow flags: contextual spacing, page-break-before, suppress-auto-hyphens, and the advanced layout toggles auto-space-DE, auto-space-DN, adjust-right-indent, and snap-to-grid."]
6509    pub fn set_flow_options<'call>(
6510        &'call self,
6511        params: &'call DocFormatParagraphSetFlowOptionsBoundParams,
6512    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetFlowOptionsResult>> + Send + 'call
6513    {
6514        self.set_flow_options_with_options(params, InvokeOptions::default())
6515    }
6516    #[doc = "Set paragraph flow flags: contextual spacing, page-break-before, suppress-auto-hyphens, and the advanced layout toggles auto-space-DE, auto-space-DN, adjust-right-indent, and snap-to-grid."]
6517    pub async fn set_flow_options_with_options(
6518        &self,
6519        params: &DocFormatParagraphSetFlowOptionsBoundParams,
6520        options: InvokeOptions,
6521    ) -> Result<DocFormatParagraphSetFlowOptionsResult> {
6522        let params = serde_json::to_value(params)
6523            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6524        let result = self
6525            .invoker
6526            .invoke("doc.format.paragraph.setFlowOptions", params, options)
6527            .await?;
6528        serde_json::from_value(result).map_err(|decode| {
6529            let mut error = Error::decode(decode);
6530            error.operation_id = Some("doc.format.paragraph.setFlowOptions".into());
6531            error.outcome_unknown = true;
6532            self.invoker.handle_decode_error(error)
6533        })
6534    }
6535
6536    #[doc = "Set paragraph indentation properties (signed left/right, firstLine, hanging) in twips."]
6537    pub fn set_indentation<'call>(
6538        &'call self,
6539        params: &'call DocFormatParagraphSetIndentationBoundParams,
6540    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetIndentationResult>> + Send + 'call
6541    {
6542        self.set_indentation_with_options(params, InvokeOptions::default())
6543    }
6544    #[doc = "Set paragraph indentation properties (signed left/right, firstLine, hanging) in twips."]
6545    pub async fn set_indentation_with_options(
6546        &self,
6547        params: &DocFormatParagraphSetIndentationBoundParams,
6548        options: InvokeOptions,
6549    ) -> Result<DocFormatParagraphSetIndentationResult> {
6550        let params = serde_json::to_value(params)
6551            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6552        let result = self
6553            .invoker
6554            .invoke("doc.format.paragraph.setIndentation", params, options)
6555            .await?;
6556        serde_json::from_value(result).map_err(|decode| {
6557            let mut error = Error::decode(decode);
6558            error.operation_id = Some("doc.format.paragraph.setIndentation".into());
6559            error.outcome_unknown = true;
6560            self.invoker.handle_decode_error(error)
6561        })
6562    }
6563
6564    #[doc = "Set keep-with-next, keep-lines-together, and widow/orphan control flags."]
6565    pub fn set_keep_options<'call>(
6566        &'call self,
6567        params: &'call DocFormatParagraphSetKeepOptionsBoundParams,
6568    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetKeepOptionsResult>> + Send + 'call
6569    {
6570        self.set_keep_options_with_options(params, InvokeOptions::default())
6571    }
6572    #[doc = "Set keep-with-next, keep-lines-together, and widow/orphan control flags."]
6573    pub async fn set_keep_options_with_options(
6574        &self,
6575        params: &DocFormatParagraphSetKeepOptionsBoundParams,
6576        options: InvokeOptions,
6577    ) -> Result<DocFormatParagraphSetKeepOptionsResult> {
6578        let params = serde_json::to_value(params)
6579            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6580        let result = self
6581            .invoker
6582            .invoke("doc.format.paragraph.setKeepOptions", params, options)
6583            .await?;
6584        serde_json::from_value(result).map_err(|decode| {
6585            let mut error = Error::decode(decode);
6586            error.operation_id = Some("doc.format.paragraph.setKeepOptions".into());
6587            error.outcome_unknown = true;
6588            self.invoker.handle_decode_error(error)
6589        })
6590    }
6591
6592    #[doc = "Set the paragraph mark's run properties (w:pPr/w:rPr), e.g. the font size or specVanish carried by the paragraph-end mark."]
6593    pub fn set_mark_run_props<'call>(
6594        &'call self,
6595        params: &'call DocFormatParagraphSetMarkRunPropsBoundParams,
6596    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetMarkRunPropsResult>> + Send + 'call
6597    {
6598        self.set_mark_run_props_with_options(params, InvokeOptions::default())
6599    }
6600    #[doc = "Set the paragraph mark's run properties (w:pPr/w:rPr), e.g. the font size or specVanish carried by the paragraph-end mark."]
6601    pub async fn set_mark_run_props_with_options(
6602        &self,
6603        params: &DocFormatParagraphSetMarkRunPropsBoundParams,
6604        options: InvokeOptions,
6605    ) -> Result<DocFormatParagraphSetMarkRunPropsResult> {
6606        let params = serde_json::to_value(params)
6607            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6608        let result = self
6609            .invoker
6610            .invoke("doc.format.paragraph.setMarkRunProps", params, options)
6611            .await?;
6612        serde_json::from_value(result).map_err(|decode| {
6613            let mut error = Error::decode(decode);
6614            error.operation_id = Some("doc.format.paragraph.setMarkRunProps".into());
6615            error.outcome_unknown = true;
6616            self.invoker.handle_decode_error(error)
6617        })
6618    }
6619
6620    #[doc = "Attach numbering (numId + level) to an existing paragraph or heading so it joins a numbered sequence. Numbering is a paragraph property; the node and its style are otherwise unchanged, though any direct paragraph indent is cleared so the numbering level controls indentation. Direct edits only; tracked mode is unsupported."]
6621    pub fn set_numbering<'call>(
6622        &'call self,
6623        params: &'call DocFormatParagraphSetNumberingBoundParams,
6624    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetNumberingResult>> + Send + 'call
6625    {
6626        self.set_numbering_with_options(params, InvokeOptions::default())
6627    }
6628    #[doc = "Attach numbering (numId + level) to an existing paragraph or heading so it joins a numbered sequence. Numbering is a paragraph property; the node and its style are otherwise unchanged, though any direct paragraph indent is cleared so the numbering level controls indentation. Direct edits only; tracked mode is unsupported."]
6629    pub async fn set_numbering_with_options(
6630        &self,
6631        params: &DocFormatParagraphSetNumberingBoundParams,
6632        options: InvokeOptions,
6633    ) -> Result<DocFormatParagraphSetNumberingResult> {
6634        let params = serde_json::to_value(params)
6635            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6636        let result = self
6637            .invoker
6638            .invoke("doc.format.paragraph.setNumbering", params, options)
6639            .await?;
6640        serde_json::from_value(result).map_err(|decode| {
6641            let mut error = Error::decode(decode);
6642            error.operation_id = Some("doc.format.paragraph.setNumbering".into());
6643            error.outcome_unknown = true;
6644            self.invoker.handle_decode_error(error)
6645        })
6646    }
6647
6648    #[doc = "Set the paragraph outline level (0–9) or null to clear."]
6649    pub fn set_outline_level<'call>(
6650        &'call self,
6651        params: &'call DocFormatParagraphSetOutlineLevelBoundParams,
6652    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetOutlineLevelResult>> + Send + 'call
6653    {
6654        self.set_outline_level_with_options(params, InvokeOptions::default())
6655    }
6656    #[doc = "Set the paragraph outline level (0–9) or null to clear."]
6657    pub async fn set_outline_level_with_options(
6658        &self,
6659        params: &DocFormatParagraphSetOutlineLevelBoundParams,
6660        options: InvokeOptions,
6661    ) -> Result<DocFormatParagraphSetOutlineLevelResult> {
6662        let params = serde_json::to_value(params)
6663            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6664        let result = self
6665            .invoker
6666            .invoke("doc.format.paragraph.setOutlineLevel", params, options)
6667            .await?;
6668        serde_json::from_value(result).map_err(|decode| {
6669            let mut error = Error::decode(decode);
6670            error.operation_id = Some("doc.format.paragraph.setOutlineLevel".into());
6671            error.outcome_unknown = true;
6672            self.invoker.handle_decode_error(error)
6673        })
6674    }
6675
6676    #[doc = "Set paragraph shading (background fill, pattern color, pattern type)."]
6677    pub fn set_shading<'call>(
6678        &'call self,
6679        params: &'call DocFormatParagraphSetShadingBoundParams,
6680    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetShadingResult>> + Send + 'call
6681    {
6682        self.set_shading_with_options(params, InvokeOptions::default())
6683    }
6684    #[doc = "Set paragraph shading (background fill, pattern color, pattern type)."]
6685    pub async fn set_shading_with_options(
6686        &self,
6687        params: &DocFormatParagraphSetShadingBoundParams,
6688        options: InvokeOptions,
6689    ) -> Result<DocFormatParagraphSetShadingResult> {
6690        let params = serde_json::to_value(params)
6691            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6692        let result = self
6693            .invoker
6694            .invoke("doc.format.paragraph.setShading", params, options)
6695            .await?;
6696        serde_json::from_value(result).map_err(|decode| {
6697            let mut error = Error::decode(decode);
6698            error.operation_id = Some("doc.format.paragraph.setShading".into());
6699            error.outcome_unknown = true;
6700            self.invoker.handle_decode_error(error)
6701        })
6702    }
6703
6704    #[doc = "Set paragraph spacing properties (before, after, line, lineRule) in twips."]
6705    pub fn set_spacing<'call>(
6706        &'call self,
6707        params: &'call DocFormatParagraphSetSpacingBoundParams,
6708    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetSpacingResult>> + Send + 'call
6709    {
6710        self.set_spacing_with_options(params, InvokeOptions::default())
6711    }
6712    #[doc = "Set paragraph spacing properties (before, after, line, lineRule) in twips."]
6713    pub async fn set_spacing_with_options(
6714        &self,
6715        params: &DocFormatParagraphSetSpacingBoundParams,
6716        options: InvokeOptions,
6717    ) -> Result<DocFormatParagraphSetSpacingResult> {
6718        let params = serde_json::to_value(params)
6719            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6720        let result = self
6721            .invoker
6722            .invoke("doc.format.paragraph.setSpacing", params, options)
6723            .await?;
6724        serde_json::from_value(result).map_err(|decode| {
6725            let mut error = Error::decode(decode);
6726            error.operation_id = Some("doc.format.paragraph.setSpacing".into());
6727            error.outcome_unknown = true;
6728            self.invoker.handle_decode_error(error)
6729        })
6730    }
6731
6732    #[doc = "Add or replace a tab stop at a given position."]
6733    pub fn set_tab_stop<'call>(
6734        &'call self,
6735        params: &'call DocFormatParagraphSetTabStopBoundParams,
6736    ) -> impl std::future::Future<Output = Result<DocFormatParagraphSetTabStopResult>> + Send + 'call
6737    {
6738        self.set_tab_stop_with_options(params, InvokeOptions::default())
6739    }
6740    #[doc = "Add or replace a tab stop at a given position."]
6741    pub async fn set_tab_stop_with_options(
6742        &self,
6743        params: &DocFormatParagraphSetTabStopBoundParams,
6744        options: InvokeOptions,
6745    ) -> Result<DocFormatParagraphSetTabStopResult> {
6746        let params = serde_json::to_value(params)
6747            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6748        let result = self
6749            .invoker
6750            .invoke("doc.format.paragraph.setTabStop", params, options)
6751            .await?;
6752        serde_json::from_value(result).map_err(|decode| {
6753            let mut error = Error::decode(decode);
6754            error.operation_id = Some("doc.format.paragraph.setTabStop".into());
6755            error.outcome_unknown = true;
6756            self.invoker.handle_decode_error(error)
6757        })
6758    }
6759}
6760
6761pub struct DocApiHeaderFooters<'a, I: Invoker> {
6762    invoker: &'a I,
6763}
6764impl<'a, I: Invoker> DocApiHeaderFooters<'a, I> {
6765    pub fn new(invoker: &'a I) -> Self {
6766        Self { invoker }
6767    }
6768    pub fn page_numbers(&self) -> DocApiHeaderFootersPageNumbers<'a, I> {
6769        DocApiHeaderFootersPageNumbers::new(self.invoker)
6770    }
6771    pub fn parts(&self) -> DocApiHeaderFootersParts<'a, I> {
6772        DocApiHeaderFootersParts::new(self.invoker)
6773    }
6774    pub fn refs(&self) -> DocApiHeaderFootersRefs<'a, I> {
6775        DocApiHeaderFootersRefs::new(self.invoker)
6776    }
6777
6778    #[doc = "Get a single header/footer slot entry by address."]
6779    pub fn get<'call>(
6780        &'call self,
6781        params: &'call DocHeaderFootersGetBoundParams,
6782    ) -> impl std::future::Future<Output = Result<DocHeaderFootersGetResult>> + Send + 'call {
6783        self.get_with_options(params, InvokeOptions::default())
6784    }
6785    #[doc = "Get a single header/footer slot entry by address."]
6786    pub async fn get_with_options(
6787        &self,
6788        params: &DocHeaderFootersGetBoundParams,
6789        options: InvokeOptions,
6790    ) -> Result<DocHeaderFootersGetResult> {
6791        let params = serde_json::to_value(params)
6792            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6793        let result = self
6794            .invoker
6795            .invoke("doc.headerFooters.get", params, options)
6796            .await?;
6797        serde_json::from_value(result).map_err(|decode| {
6798            let mut error = Error::decode(decode);
6799            error.operation_id = Some("doc.headerFooters.get".into());
6800            error.outcome_unknown = false;
6801            self.invoker.handle_decode_error(error)
6802        })
6803    }
6804
6805    #[doc = "List header/footer slot entries across sections."]
6806    pub fn list<'call>(
6807        &'call self,
6808        params: &'call DocHeaderFootersListBoundParams,
6809    ) -> impl std::future::Future<Output = Result<DocHeaderFootersListResult>> + Send + 'call {
6810        self.list_with_options(params, InvokeOptions::default())
6811    }
6812    #[doc = "List header/footer slot entries across sections."]
6813    pub async fn list_with_options(
6814        &self,
6815        params: &DocHeaderFootersListBoundParams,
6816        options: InvokeOptions,
6817    ) -> Result<DocHeaderFootersListResult> {
6818        let params = serde_json::to_value(params)
6819            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6820        let result = self
6821            .invoker
6822            .invoke("doc.headerFooters.list", params, options)
6823            .await?;
6824        serde_json::from_value(result).map_err(|decode| {
6825            let mut error = Error::decode(decode);
6826            error.operation_id = Some("doc.headerFooters.list".into());
6827            error.outcome_unknown = false;
6828            self.invoker.handle_decode_error(error)
6829        })
6830    }
6831
6832    #[doc = "Resolve the effective header/footer reference for a slot, walking the section inheritance chain."]
6833    pub fn resolve<'call>(
6834        &'call self,
6835        params: &'call DocHeaderFootersResolveBoundParams,
6836    ) -> impl std::future::Future<Output = Result<DocHeaderFootersResolveResult>> + Send + 'call
6837    {
6838        self.resolve_with_options(params, InvokeOptions::default())
6839    }
6840    #[doc = "Resolve the effective header/footer reference for a slot, walking the section inheritance chain."]
6841    pub async fn resolve_with_options(
6842        &self,
6843        params: &DocHeaderFootersResolveBoundParams,
6844        options: InvokeOptions,
6845    ) -> Result<DocHeaderFootersResolveResult> {
6846        let params = serde_json::to_value(params)
6847            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6848        let result = self
6849            .invoker
6850            .invoke("doc.headerFooters.resolve", params, options)
6851            .await?;
6852        serde_json::from_value(result).map_err(|decode| {
6853            let mut error = Error::decode(decode);
6854            error.operation_id = Some("doc.headerFooters.resolve".into());
6855            error.outcome_unknown = false;
6856            self.invoker.handle_decode_error(error)
6857        })
6858    }
6859}
6860
6861pub struct DocApiHeaderFootersPageNumbers<'a, I: Invoker> {
6862    invoker: &'a I,
6863}
6864impl<'a, I: Invoker> DocApiHeaderFootersPageNumbers<'a, I> {
6865    pub fn new(invoker: &'a I) -> Self {
6866        Self { invoker }
6867    }
6868
6869    #[doc = "Read where a section shows page numbers, their alignment, the first-page choice, and the section's number style and start."]
6870    pub fn get<'call>(
6871        &'call self,
6872        params: &'call DocHeaderFootersPageNumbersGetBoundParams,
6873    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPageNumbersGetResult>> + Send + 'call
6874    {
6875        self.get_with_options(params, InvokeOptions::default())
6876    }
6877    #[doc = "Read where a section shows page numbers, their alignment, the first-page choice, and the section's number style and start."]
6878    pub async fn get_with_options(
6879        &self,
6880        params: &DocHeaderFootersPageNumbersGetBoundParams,
6881        options: InvokeOptions,
6882    ) -> Result<DocHeaderFootersPageNumbersGetResult> {
6883        let params = serde_json::to_value(params)
6884            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6885        let result = self
6886            .invoker
6887            .invoke("doc.headerFooters.pageNumbers.get", params, options)
6888            .await?;
6889        serde_json::from_value(result).map_err(|decode| {
6890            let mut error = Error::decode(decode);
6891            error.operation_id = Some("doc.headerFooters.pageNumbers.get".into());
6892            error.outcome_unknown = false;
6893            self.invoker.handle_decode_error(error)
6894        })
6895    }
6896
6897    #[doc = "Atomically number a section's pages with a live PAGE field in its header or footer, with alignment, a first-page choice, and an optional number style and start."]
6898    pub fn insert<'call>(
6899        &'call self,
6900        params: &'call DocHeaderFootersPageNumbersInsertBoundParams,
6901    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPageNumbersInsertResult>> + Send + 'call
6902    {
6903        self.insert_with_options(params, InvokeOptions::default())
6904    }
6905    #[doc = "Atomically number a section's pages with a live PAGE field in its header or footer, with alignment, a first-page choice, and an optional number style and start."]
6906    pub async fn insert_with_options(
6907        &self,
6908        params: &DocHeaderFootersPageNumbersInsertBoundParams,
6909        options: InvokeOptions,
6910    ) -> Result<DocHeaderFootersPageNumbersInsertResult> {
6911        let params = serde_json::to_value(params)
6912            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6913        let result = self
6914            .invoker
6915            .invoke("doc.headerFooters.pageNumbers.insert", params, options)
6916            .await?;
6917        serde_json::from_value(result).map_err(|decode| {
6918            let mut error = Error::decode(decode);
6919            error.operation_id = Some("doc.headerFooters.pageNumbers.insert".into());
6920            error.outcome_unknown = true;
6921            self.invoker.handle_decode_error(error)
6922        })
6923    }
6924
6925    #[doc = "Atomically remove a section's PAGE fields from its header, footer, or both, keeping other header and footer content."]
6926    pub fn remove<'call>(
6927        &'call self,
6928        params: &'call DocHeaderFootersPageNumbersRemoveBoundParams,
6929    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPageNumbersRemoveResult>> + Send + 'call
6930    {
6931        self.remove_with_options(params, InvokeOptions::default())
6932    }
6933    #[doc = "Atomically remove a section's PAGE fields from its header, footer, or both, keeping other header and footer content."]
6934    pub async fn remove_with_options(
6935        &self,
6936        params: &DocHeaderFootersPageNumbersRemoveBoundParams,
6937        options: InvokeOptions,
6938    ) -> Result<DocHeaderFootersPageNumbersRemoveResult> {
6939        let params = serde_json::to_value(params)
6940            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6941        let result = self
6942            .invoker
6943            .invoke("doc.headerFooters.pageNumbers.remove", params, options)
6944            .await?;
6945        serde_json::from_value(result).map_err(|decode| {
6946            let mut error = Error::decode(decode);
6947            error.operation_id = Some("doc.headerFooters.pageNumbers.remove".into());
6948            error.outcome_unknown = true;
6949            self.invoker.handle_decode_error(error)
6950        })
6951    }
6952
6953    #[doc = "Atomically add a section's page numbers or change them: move them between header and footer, realign them, show or hide them on the first page, and set the number style and start."]
6954    pub fn set<'call>(
6955        &'call self,
6956        params: &'call DocHeaderFootersPageNumbersSetBoundParams,
6957    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPageNumbersSetResult>> + Send + 'call
6958    {
6959        self.set_with_options(params, InvokeOptions::default())
6960    }
6961    #[doc = "Atomically add a section's page numbers or change them: move them between header and footer, realign them, show or hide them on the first page, and set the number style and start."]
6962    pub async fn set_with_options(
6963        &self,
6964        params: &DocHeaderFootersPageNumbersSetBoundParams,
6965        options: InvokeOptions,
6966    ) -> Result<DocHeaderFootersPageNumbersSetResult> {
6967        let params = serde_json::to_value(params)
6968            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
6969        let result = self
6970            .invoker
6971            .invoke("doc.headerFooters.pageNumbers.set", params, options)
6972            .await?;
6973        serde_json::from_value(result).map_err(|decode| {
6974            let mut error = Error::decode(decode);
6975            error.operation_id = Some("doc.headerFooters.pageNumbers.set".into());
6976            error.outcome_unknown = true;
6977            self.invoker.handle_decode_error(error)
6978        })
6979    }
6980}
6981
6982pub struct DocApiHeaderFootersParts<'a, I: Invoker> {
6983    invoker: &'a I,
6984}
6985impl<'a, I: Invoker> DocApiHeaderFootersParts<'a, I> {
6986    pub fn new(invoker: &'a I) -> Self {
6987        Self { invoker }
6988    }
6989
6990    #[doc = "Create a new independent header/footer part, optionally cloned from an existing part."]
6991    pub fn create<'call>(
6992        &'call self,
6993        params: &'call DocHeaderFootersPartsCreateBoundParams,
6994    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPartsCreateResult>> + Send + 'call
6995    {
6996        self.create_with_options(params, InvokeOptions::default())
6997    }
6998    #[doc = "Create a new independent header/footer part, optionally cloned from an existing part."]
6999    pub async fn create_with_options(
7000        &self,
7001        params: &DocHeaderFootersPartsCreateBoundParams,
7002        options: InvokeOptions,
7003    ) -> Result<DocHeaderFootersPartsCreateResult> {
7004        let params = serde_json::to_value(params)
7005            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7006        let result = self
7007            .invoker
7008            .invoke("doc.headerFooters.parts.create", params, options)
7009            .await?;
7010        serde_json::from_value(result).map_err(|decode| {
7011            let mut error = Error::decode(decode);
7012            error.operation_id = Some("doc.headerFooters.parts.create".into());
7013            error.outcome_unknown = true;
7014            self.invoker.handle_decode_error(error)
7015        })
7016    }
7017
7018    #[doc = "Delete a header/footer part and its associated relationship when no section slots reference it."]
7019    pub fn delete<'call>(
7020        &'call self,
7021        params: &'call DocHeaderFootersPartsDeleteBoundParams,
7022    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPartsDeleteResult>> + Send + 'call
7023    {
7024        self.delete_with_options(params, InvokeOptions::default())
7025    }
7026    #[doc = "Delete a header/footer part and its associated relationship when no section slots reference it."]
7027    pub async fn delete_with_options(
7028        &self,
7029        params: &DocHeaderFootersPartsDeleteBoundParams,
7030        options: InvokeOptions,
7031    ) -> Result<DocHeaderFootersPartsDeleteResult> {
7032        let params = serde_json::to_value(params)
7033            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7034        let result = self
7035            .invoker
7036            .invoke("doc.headerFooters.parts.delete", params, options)
7037            .await?;
7038        serde_json::from_value(result).map_err(|decode| {
7039            let mut error = Error::decode(decode);
7040            error.operation_id = Some("doc.headerFooters.parts.delete".into());
7041            error.outcome_unknown = true;
7042            self.invoker.handle_decode_error(error)
7043        })
7044    }
7045
7046    #[doc = "List unique header/footer part records from document relationships."]
7047    pub fn list<'call>(
7048        &'call self,
7049        params: &'call DocHeaderFootersPartsListBoundParams,
7050    ) -> impl std::future::Future<Output = Result<DocHeaderFootersPartsListResult>> + Send + 'call
7051    {
7052        self.list_with_options(params, InvokeOptions::default())
7053    }
7054    #[doc = "List unique header/footer part records from document relationships."]
7055    pub async fn list_with_options(
7056        &self,
7057        params: &DocHeaderFootersPartsListBoundParams,
7058        options: InvokeOptions,
7059    ) -> Result<DocHeaderFootersPartsListResult> {
7060        let params = serde_json::to_value(params)
7061            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7062        let result = self
7063            .invoker
7064            .invoke("doc.headerFooters.parts.list", params, options)
7065            .await?;
7066        serde_json::from_value(result).map_err(|decode| {
7067            let mut error = Error::decode(decode);
7068            error.operation_id = Some("doc.headerFooters.parts.list".into());
7069            error.outcome_unknown = false;
7070            self.invoker.handle_decode_error(error)
7071        })
7072    }
7073}
7074
7075pub struct DocApiHeaderFootersRefs<'a, I: Invoker> {
7076    invoker: &'a I,
7077}
7078impl<'a, I: Invoker> DocApiHeaderFootersRefs<'a, I> {
7079    pub fn new(invoker: &'a I) -> Self {
7080        Self { invoker }
7081    }
7082
7083    #[doc = "Clear an explicit header/footer reference from a section slot."]
7084    pub fn clear<'call>(
7085        &'call self,
7086        params: &'call DocHeaderFootersRefsClearBoundParams,
7087    ) -> impl std::future::Future<Output = Result<DocHeaderFootersRefsClearResult>> + Send + 'call
7088    {
7089        self.clear_with_options(params, InvokeOptions::default())
7090    }
7091    #[doc = "Clear an explicit header/footer reference from a section slot."]
7092    pub async fn clear_with_options(
7093        &self,
7094        params: &DocHeaderFootersRefsClearBoundParams,
7095        options: InvokeOptions,
7096    ) -> Result<DocHeaderFootersRefsClearResult> {
7097        let params = serde_json::to_value(params)
7098            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7099        let result = self
7100            .invoker
7101            .invoke("doc.headerFooters.refs.clear", params, options)
7102            .await?;
7103        serde_json::from_value(result).map_err(|decode| {
7104            let mut error = Error::decode(decode);
7105            error.operation_id = Some("doc.headerFooters.refs.clear".into());
7106            error.outcome_unknown = true;
7107            self.invoker.handle_decode_error(error)
7108        })
7109    }
7110
7111    #[doc = "Set an explicit header/footer reference on a section slot."]
7112    pub fn set<'call>(
7113        &'call self,
7114        params: &'call DocHeaderFootersRefsSetBoundParams,
7115    ) -> impl std::future::Future<Output = Result<DocHeaderFootersRefsSetResult>> + Send + 'call
7116    {
7117        self.set_with_options(params, InvokeOptions::default())
7118    }
7119    #[doc = "Set an explicit header/footer reference on a section slot."]
7120    pub async fn set_with_options(
7121        &self,
7122        params: &DocHeaderFootersRefsSetBoundParams,
7123        options: InvokeOptions,
7124    ) -> Result<DocHeaderFootersRefsSetResult> {
7125        let params = serde_json::to_value(params)
7126            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7127        let result = self
7128            .invoker
7129            .invoke("doc.headerFooters.refs.set", params, options)
7130            .await?;
7131        serde_json::from_value(result).map_err(|decode| {
7132            let mut error = Error::decode(decode);
7133            error.operation_id = Some("doc.headerFooters.refs.set".into());
7134            error.outcome_unknown = true;
7135            self.invoker.handle_decode_error(error)
7136        })
7137    }
7138
7139    #[doc = "Link or unlink a header/footer slot to/from the previous section."]
7140    pub fn set_linked_to_previous<'call>(
7141        &'call self,
7142        params: &'call DocHeaderFootersRefsSetLinkedToPreviousBoundParams,
7143    ) -> impl std::future::Future<Output = Result<DocHeaderFootersRefsSetLinkedToPreviousResult>>
7144           + Send
7145           + 'call {
7146        self.set_linked_to_previous_with_options(params, InvokeOptions::default())
7147    }
7148    #[doc = "Link or unlink a header/footer slot to/from the previous section."]
7149    pub async fn set_linked_to_previous_with_options(
7150        &self,
7151        params: &DocHeaderFootersRefsSetLinkedToPreviousBoundParams,
7152        options: InvokeOptions,
7153    ) -> Result<DocHeaderFootersRefsSetLinkedToPreviousResult> {
7154        let params = serde_json::to_value(params)
7155            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7156        let result = self
7157            .invoker
7158            .invoke(
7159                "doc.headerFooters.refs.setLinkedToPrevious",
7160                params,
7161                options,
7162            )
7163            .await?;
7164        serde_json::from_value(result).map_err(|decode| {
7165            let mut error = Error::decode(decode);
7166            error.operation_id = Some("doc.headerFooters.refs.setLinkedToPrevious".into());
7167            error.outcome_unknown = true;
7168            self.invoker.handle_decode_error(error)
7169        })
7170    }
7171}
7172
7173pub struct DocApiHistory<'a, I: Invoker> {
7174    invoker: &'a I,
7175}
7176impl<'a, I: Invoker> DocApiHistory<'a, I> {
7177    pub fn new(invoker: &'a I) -> Self {
7178        Self { invoker }
7179    }
7180
7181    #[doc = "Query the current undo/redo history state of the document."]
7182    pub fn get<'call>(
7183        &'call self,
7184        params: &'call DocHistoryGetBoundParams,
7185    ) -> impl std::future::Future<Output = Result<DocHistoryGetResult>> + Send + 'call {
7186        self.get_with_options(params, InvokeOptions::default())
7187    }
7188    #[doc = "Query the current undo/redo history state of the document."]
7189    pub async fn get_with_options(
7190        &self,
7191        params: &DocHistoryGetBoundParams,
7192        options: InvokeOptions,
7193    ) -> Result<DocHistoryGetResult> {
7194        let params = serde_json::to_value(params)
7195            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7196        let result = self
7197            .invoker
7198            .invoke("doc.history.get", params, options)
7199            .await?;
7200        serde_json::from_value(result).map_err(|decode| {
7201            let mut error = Error::decode(decode);
7202            error.operation_id = Some("doc.history.get".into());
7203            error.outcome_unknown = false;
7204            self.invoker.handle_decode_error(error)
7205        })
7206    }
7207
7208    #[doc = "Redo the most recently undone action in the document."]
7209    pub fn redo<'call>(
7210        &'call self,
7211        params: &'call DocHistoryRedoBoundParams,
7212    ) -> impl std::future::Future<Output = Result<DocHistoryRedoResult>> + Send + 'call {
7213        self.redo_with_options(params, InvokeOptions::default())
7214    }
7215    #[doc = "Redo the most recently undone action in the document."]
7216    pub async fn redo_with_options(
7217        &self,
7218        params: &DocHistoryRedoBoundParams,
7219        options: InvokeOptions,
7220    ) -> Result<DocHistoryRedoResult> {
7221        let params = serde_json::to_value(params)
7222            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7223        let result = self
7224            .invoker
7225            .invoke("doc.history.redo", params, options)
7226            .await?;
7227        serde_json::from_value(result).map_err(|decode| {
7228            let mut error = Error::decode(decode);
7229            error.operation_id = Some("doc.history.redo".into());
7230            error.outcome_unknown = true;
7231            self.invoker.handle_decode_error(error)
7232        })
7233    }
7234
7235    #[doc = "Undo the most recent history-safe mutation in the document."]
7236    pub fn undo<'call>(
7237        &'call self,
7238        params: &'call DocHistoryUndoBoundParams,
7239    ) -> impl std::future::Future<Output = Result<DocHistoryUndoResult>> + Send + 'call {
7240        self.undo_with_options(params, InvokeOptions::default())
7241    }
7242    #[doc = "Undo the most recent history-safe mutation in the document."]
7243    pub async fn undo_with_options(
7244        &self,
7245        params: &DocHistoryUndoBoundParams,
7246        options: InvokeOptions,
7247    ) -> Result<DocHistoryUndoResult> {
7248        let params = serde_json::to_value(params)
7249            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7250        let result = self
7251            .invoker
7252            .invoke("doc.history.undo", params, options)
7253            .await?;
7254        serde_json::from_value(result).map_err(|decode| {
7255            let mut error = Error::decode(decode);
7256            error.operation_id = Some("doc.history.undo".into());
7257            error.outcome_unknown = true;
7258            self.invoker.handle_decode_error(error)
7259        })
7260    }
7261}
7262
7263pub struct DocApiHyperlinks<'a, I: Invoker> {
7264    invoker: &'a I,
7265}
7266impl<'a, I: Invoker> DocApiHyperlinks<'a, I> {
7267    pub fn new(invoker: &'a I) -> Self {
7268        Self { invoker }
7269    }
7270
7271    #[doc = "Retrieve details of a specific hyperlink by its inline address."]
7272    pub fn get<'call>(
7273        &'call self,
7274        params: &'call DocHyperlinksGetBoundParams,
7275    ) -> impl std::future::Future<Output = Result<DocHyperlinksGetResult>> + Send + 'call {
7276        self.get_with_options(params, InvokeOptions::default())
7277    }
7278    #[doc = "Retrieve details of a specific hyperlink by its inline address."]
7279    pub async fn get_with_options(
7280        &self,
7281        params: &DocHyperlinksGetBoundParams,
7282        options: InvokeOptions,
7283    ) -> Result<DocHyperlinksGetResult> {
7284        let params = serde_json::to_value(params)
7285            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7286        let result = self
7287            .invoker
7288            .invoke("doc.hyperlinks.get", params, options)
7289            .await?;
7290        serde_json::from_value(result).map_err(|decode| {
7291            let mut error = Error::decode(decode);
7292            error.operation_id = Some("doc.hyperlinks.get".into());
7293            error.outcome_unknown = false;
7294            self.invoker.handle_decode_error(error)
7295        })
7296    }
7297
7298    #[doc = "Insert new linked text at a target position."]
7299    pub fn insert<'call>(
7300        &'call self,
7301        params: &'call DocHyperlinksInsertBoundParams,
7302    ) -> impl std::future::Future<Output = Result<DocHyperlinksInsertResult>> + Send + 'call {
7303        self.insert_with_options(params, InvokeOptions::default())
7304    }
7305    #[doc = "Insert new linked text at a target position."]
7306    pub async fn insert_with_options(
7307        &self,
7308        params: &DocHyperlinksInsertBoundParams,
7309        options: InvokeOptions,
7310    ) -> Result<DocHyperlinksInsertResult> {
7311        let params = serde_json::to_value(params)
7312            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7313        let result = self
7314            .invoker
7315            .invoke("doc.hyperlinks.insert", params, options)
7316            .await?;
7317        serde_json::from_value(result).map_err(|decode| {
7318            let mut error = Error::decode(decode);
7319            error.operation_id = Some("doc.hyperlinks.insert".into());
7320            error.outcome_unknown = true;
7321            self.invoker.handle_decode_error(error)
7322        })
7323    }
7324
7325    #[doc = "List the hyperlinks of one story, with optional filtering by href, anchor, or display text. The body is listed by default; pass `in` with a footnote or endnote story to list that note."]
7326    pub fn list<'call>(
7327        &'call self,
7328        params: &'call DocHyperlinksListBoundParams,
7329    ) -> impl std::future::Future<Output = Result<DocHyperlinksListResult>> + Send + 'call {
7330        self.list_with_options(params, InvokeOptions::default())
7331    }
7332    #[doc = "List the hyperlinks of one story, with optional filtering by href, anchor, or display text. The body is listed by default; pass `in` with a footnote or endnote story to list that note."]
7333    pub async fn list_with_options(
7334        &self,
7335        params: &DocHyperlinksListBoundParams,
7336        options: InvokeOptions,
7337    ) -> Result<DocHyperlinksListResult> {
7338        let params = serde_json::to_value(params)
7339            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7340        let result = self
7341            .invoker
7342            .invoke("doc.hyperlinks.list", params, options)
7343            .await?;
7344        serde_json::from_value(result).map_err(|decode| {
7345            let mut error = Error::decode(decode);
7346            error.operation_id = Some("doc.hyperlinks.list".into());
7347            error.outcome_unknown = false;
7348            self.invoker.handle_decode_error(error)
7349        })
7350    }
7351
7352    #[doc = "Update hyperlink metadata (destination, tooltip, target, rel) without changing display text."]
7353    pub fn patch<'call>(
7354        &'call self,
7355        params: &'call DocHyperlinksPatchBoundParams,
7356    ) -> impl std::future::Future<Output = Result<DocHyperlinksPatchResult>> + Send + 'call {
7357        self.patch_with_options(params, InvokeOptions::default())
7358    }
7359    #[doc = "Update hyperlink metadata (destination, tooltip, target, rel) without changing display text."]
7360    pub async fn patch_with_options(
7361        &self,
7362        params: &DocHyperlinksPatchBoundParams,
7363        options: InvokeOptions,
7364    ) -> Result<DocHyperlinksPatchResult> {
7365        let params = serde_json::to_value(params)
7366            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7367        let result = self
7368            .invoker
7369            .invoke("doc.hyperlinks.patch", params, options)
7370            .await?;
7371        serde_json::from_value(result).map_err(|decode| {
7372            let mut error = Error::decode(decode);
7373            error.operation_id = Some("doc.hyperlinks.patch".into());
7374            error.outcome_unknown = true;
7375            self.invoker.handle_decode_error(error)
7376        })
7377    }
7378
7379    #[doc = "Remove a hyperlink. Mode 'unwrap' preserves display text; 'deleteText' removes the linked content entirely."]
7380    pub fn remove<'call>(
7381        &'call self,
7382        params: &'call DocHyperlinksRemoveBoundParams,
7383    ) -> impl std::future::Future<Output = Result<DocHyperlinksRemoveResult>> + Send + 'call {
7384        self.remove_with_options(params, InvokeOptions::default())
7385    }
7386    #[doc = "Remove a hyperlink. Mode 'unwrap' preserves display text; 'deleteText' removes the linked content entirely."]
7387    pub async fn remove_with_options(
7388        &self,
7389        params: &DocHyperlinksRemoveBoundParams,
7390        options: InvokeOptions,
7391    ) -> Result<DocHyperlinksRemoveResult> {
7392        let params = serde_json::to_value(params)
7393            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7394        let result = self
7395            .invoker
7396            .invoke("doc.hyperlinks.remove", params, options)
7397            .await?;
7398        serde_json::from_value(result).map_err(|decode| {
7399            let mut error = Error::decode(decode);
7400            error.operation_id = Some("doc.hyperlinks.remove".into());
7401            error.outcome_unknown = true;
7402            self.invoker.handle_decode_error(error)
7403        })
7404    }
7405
7406    #[doc = "Wrap an existing text range with a hyperlink. A range inside one pending tracked insertion is linked without authoring a revision: the insertion keeps its author and date and is split at the range boundaries. Ranges that cross a revision boundary or touch deleted, moved or several revisions are refused."]
7407    pub fn wrap<'call>(
7408        &'call self,
7409        params: &'call DocHyperlinksWrapBoundParams,
7410    ) -> impl std::future::Future<Output = Result<DocHyperlinksWrapResult>> + Send + 'call {
7411        self.wrap_with_options(params, InvokeOptions::default())
7412    }
7413    #[doc = "Wrap an existing text range with a hyperlink. A range inside one pending tracked insertion is linked without authoring a revision: the insertion keeps its author and date and is split at the range boundaries. Ranges that cross a revision boundary or touch deleted, moved or several revisions are refused."]
7414    pub async fn wrap_with_options(
7415        &self,
7416        params: &DocHyperlinksWrapBoundParams,
7417        options: InvokeOptions,
7418    ) -> Result<DocHyperlinksWrapResult> {
7419        let params = serde_json::to_value(params)
7420            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7421        let result = self
7422            .invoker
7423            .invoke("doc.hyperlinks.wrap", params, options)
7424            .await?;
7425        serde_json::from_value(result).map_err(|decode| {
7426            let mut error = Error::decode(decode);
7427            error.operation_id = Some("doc.hyperlinks.wrap".into());
7428            error.outcome_unknown = true;
7429            self.invoker.handle_decode_error(error)
7430        })
7431    }
7432}
7433
7434pub struct DocApiImages<'a, I: Invoker> {
7435    invoker: &'a I,
7436}
7437impl<'a, I: Invoker> DocApiImages<'a, I> {
7438    pub fn new(invoker: &'a I) -> Self {
7439        Self { invoker }
7440    }
7441
7442    #[doc = "Convert an inline image to floating placement."]
7443    pub fn convert_to_floating<'call>(
7444        &'call self,
7445        params: &'call DocImagesConvertToFloatingBoundParams,
7446    ) -> impl std::future::Future<Output = Result<DocImagesConvertToFloatingResult>> + Send + 'call
7447    {
7448        self.convert_to_floating_with_options(params, InvokeOptions::default())
7449    }
7450    #[doc = "Convert an inline image to floating placement."]
7451    pub async fn convert_to_floating_with_options(
7452        &self,
7453        params: &DocImagesConvertToFloatingBoundParams,
7454        options: InvokeOptions,
7455    ) -> Result<DocImagesConvertToFloatingResult> {
7456        let params = serde_json::to_value(params)
7457            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7458        let result = self
7459            .invoker
7460            .invoke("doc.images.convertToFloating", params, options)
7461            .await?;
7462        serde_json::from_value(result).map_err(|decode| {
7463            let mut error = Error::decode(decode);
7464            error.operation_id = Some("doc.images.convertToFloating".into());
7465            error.outcome_unknown = true;
7466            self.invoker.handle_decode_error(error)
7467        })
7468    }
7469
7470    #[doc = "Convert a floating image to inline placement."]
7471    pub fn convert_to_inline<'call>(
7472        &'call self,
7473        params: &'call DocImagesConvertToInlineBoundParams,
7474    ) -> impl std::future::Future<Output = Result<DocImagesConvertToInlineResult>> + Send + 'call
7475    {
7476        self.convert_to_inline_with_options(params, InvokeOptions::default())
7477    }
7478    #[doc = "Convert a floating image to inline placement."]
7479    pub async fn convert_to_inline_with_options(
7480        &self,
7481        params: &DocImagesConvertToInlineBoundParams,
7482        options: InvokeOptions,
7483    ) -> Result<DocImagesConvertToInlineResult> {
7484        let params = serde_json::to_value(params)
7485            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7486        let result = self
7487            .invoker
7488            .invoke("doc.images.convertToInline", params, options)
7489            .await?;
7490        serde_json::from_value(result).map_err(|decode| {
7491            let mut error = Error::decode(decode);
7492            error.operation_id = Some("doc.images.convertToInline".into());
7493            error.outcome_unknown = true;
7494            self.invoker.handle_decode_error(error)
7495        })
7496    }
7497
7498    #[doc = "Apply rectangular edge-percentage crop to an image."]
7499    pub fn crop<'call>(
7500        &'call self,
7501        params: &'call DocImagesCropBoundParams,
7502    ) -> impl std::future::Future<Output = Result<DocImagesCropResult>> + Send + 'call {
7503        self.crop_with_options(params, InvokeOptions::default())
7504    }
7505    #[doc = "Apply rectangular edge-percentage crop to an image."]
7506    pub async fn crop_with_options(
7507        &self,
7508        params: &DocImagesCropBoundParams,
7509        options: InvokeOptions,
7510    ) -> Result<DocImagesCropResult> {
7511        let params = serde_json::to_value(params)
7512            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7513        let result = self
7514            .invoker
7515            .invoke("doc.images.crop", params, options)
7516            .await?;
7517        serde_json::from_value(result).map_err(|decode| {
7518            let mut error = Error::decode(decode);
7519            error.operation_id = Some("doc.images.crop".into());
7520            error.outcome_unknown = true;
7521            self.invoker.handle_decode_error(error)
7522        })
7523    }
7524
7525    #[doc = "Delete an image from the document."]
7526    pub fn delete<'call>(
7527        &'call self,
7528        params: &'call DocImagesDeleteBoundParams,
7529    ) -> impl std::future::Future<Output = Result<DocImagesDeleteResult>> + Send + 'call {
7530        self.delete_with_options(params, InvokeOptions::default())
7531    }
7532    #[doc = "Delete an image from the document."]
7533    pub async fn delete_with_options(
7534        &self,
7535        params: &DocImagesDeleteBoundParams,
7536        options: InvokeOptions,
7537    ) -> Result<DocImagesDeleteResult> {
7538        let params = serde_json::to_value(params)
7539            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7540        let result = self
7541            .invoker
7542            .invoke("doc.images.delete", params, options)
7543            .await?;
7544        serde_json::from_value(result).map_err(|decode| {
7545            let mut error = Error::decode(decode);
7546            error.operation_id = Some("doc.images.delete".into());
7547            error.outcome_unknown = true;
7548            self.invoker.handle_decode_error(error)
7549        })
7550    }
7551
7552    #[doc = "Set horizontal and/or vertical flip state for an image."]
7553    pub fn flip<'call>(
7554        &'call self,
7555        params: &'call DocImagesFlipBoundParams,
7556    ) -> impl std::future::Future<Output = Result<DocImagesFlipResult>> + Send + 'call {
7557        self.flip_with_options(params, InvokeOptions::default())
7558    }
7559    #[doc = "Set horizontal and/or vertical flip state for an image."]
7560    pub async fn flip_with_options(
7561        &self,
7562        params: &DocImagesFlipBoundParams,
7563        options: InvokeOptions,
7564    ) -> Result<DocImagesFlipResult> {
7565        let params = serde_json::to_value(params)
7566            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7567        let result = self
7568            .invoker
7569            .invoke("doc.images.flip", params, options)
7570            .await?;
7571        serde_json::from_value(result).map_err(|decode| {
7572            let mut error = Error::decode(decode);
7573            error.operation_id = Some("doc.images.flip".into());
7574            error.outcome_unknown = true;
7575            self.invoker.handle_decode_error(error)
7576        })
7577    }
7578
7579    #[doc = "Get details for a specific image by its stable ID."]
7580    pub fn get<'call>(
7581        &'call self,
7582        params: &'call DocImagesGetBoundParams,
7583    ) -> impl std::future::Future<Output = Result<DocImagesGetResult>> + Send + 'call {
7584        self.get_with_options(params, InvokeOptions::default())
7585    }
7586    #[doc = "Get details for a specific image by its stable ID."]
7587    pub async fn get_with_options(
7588        &self,
7589        params: &DocImagesGetBoundParams,
7590        options: InvokeOptions,
7591    ) -> Result<DocImagesGetResult> {
7592        let params = serde_json::to_value(params)
7593            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7594        let result = self
7595            .invoker
7596            .invoke("doc.images.get", params, options)
7597            .await?;
7598        serde_json::from_value(result).map_err(|decode| {
7599            let mut error = Error::decode(decode);
7600            error.operation_id = Some("doc.images.get".into());
7601            error.outcome_unknown = false;
7602            self.invoker.handle_decode_error(error)
7603        })
7604    }
7605
7606    #[doc = "Insert a caption paragraph below the image."]
7607    pub fn insert_caption<'call>(
7608        &'call self,
7609        params: &'call DocImagesInsertCaptionBoundParams,
7610    ) -> impl std::future::Future<Output = Result<DocImagesInsertCaptionResult>> + Send + 'call
7611    {
7612        self.insert_caption_with_options(params, InvokeOptions::default())
7613    }
7614    #[doc = "Insert a caption paragraph below the image."]
7615    pub async fn insert_caption_with_options(
7616        &self,
7617        params: &DocImagesInsertCaptionBoundParams,
7618        options: InvokeOptions,
7619    ) -> Result<DocImagesInsertCaptionResult> {
7620        let params = serde_json::to_value(params)
7621            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7622        let result = self
7623            .invoker
7624            .invoke("doc.images.insertCaption", params, options)
7625            .await?;
7626        serde_json::from_value(result).map_err(|decode| {
7627            let mut error = Error::decode(decode);
7628            error.operation_id = Some("doc.images.insertCaption".into());
7629            error.outcome_unknown = true;
7630            self.invoker.handle_decode_error(error)
7631        })
7632    }
7633
7634    #[doc = "List all images in the document."]
7635    pub fn list<'call>(
7636        &'call self,
7637        params: &'call DocImagesListBoundParams,
7638    ) -> impl std::future::Future<Output = Result<DocImagesListResult>> + Send + 'call {
7639        self.list_with_options(params, InvokeOptions::default())
7640    }
7641    #[doc = "List all images in the document."]
7642    pub async fn list_with_options(
7643        &self,
7644        params: &DocImagesListBoundParams,
7645        options: InvokeOptions,
7646    ) -> Result<DocImagesListResult> {
7647        let params = serde_json::to_value(params)
7648            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7649        let result = self
7650            .invoker
7651            .invoke("doc.images.list", params, options)
7652            .await?;
7653        serde_json::from_value(result).map_err(|decode| {
7654            let mut error = Error::decode(decode);
7655            error.operation_id = Some("doc.images.list".into());
7656            error.outcome_unknown = false;
7657            self.invoker.handle_decode_error(error)
7658        })
7659    }
7660
7661    #[doc = "Move an image to a new location in the document. Tracked-mode authoring supports safe sole inline-image body paragraphs and emits paired `<w:moveFrom>` / `<w:moveTo>` wrappers with explicit move range marker identity."]
7662    pub fn move_<'call>(
7663        &'call self,
7664        params: &'call DocImagesMoveBoundParams,
7665    ) -> impl std::future::Future<Output = Result<DocImagesMoveResult>> + Send + 'call {
7666        self.move_with_options(params, InvokeOptions::default())
7667    }
7668    #[doc = "Move an image to a new location in the document. Tracked-mode authoring supports safe sole inline-image body paragraphs and emits paired `<w:moveFrom>` / `<w:moveTo>` wrappers with explicit move range marker identity."]
7669    pub async fn move_with_options(
7670        &self,
7671        params: &DocImagesMoveBoundParams,
7672        options: InvokeOptions,
7673    ) -> Result<DocImagesMoveResult> {
7674        let params = serde_json::to_value(params)
7675            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7676        let result = self
7677            .invoker
7678            .invoke("doc.images.move", params, options)
7679            .await?;
7680        serde_json::from_value(result).map_err(|decode| {
7681            let mut error = Error::decode(decode);
7682            error.operation_id = Some("doc.images.move".into());
7683            error.outcome_unknown = true;
7684            self.invoker.handle_decode_error(error)
7685        })
7686    }
7687
7688    #[doc = "Remove the caption paragraph from below the image."]
7689    pub fn remove_caption<'call>(
7690        &'call self,
7691        params: &'call DocImagesRemoveCaptionBoundParams,
7692    ) -> impl std::future::Future<Output = Result<DocImagesRemoveCaptionResult>> + Send + 'call
7693    {
7694        self.remove_caption_with_options(params, InvokeOptions::default())
7695    }
7696    #[doc = "Remove the caption paragraph from below the image."]
7697    pub async fn remove_caption_with_options(
7698        &self,
7699        params: &DocImagesRemoveCaptionBoundParams,
7700        options: InvokeOptions,
7701    ) -> Result<DocImagesRemoveCaptionResult> {
7702        let params = serde_json::to_value(params)
7703            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7704        let result = self
7705            .invoker
7706            .invoke("doc.images.removeCaption", params, options)
7707            .await?;
7708        serde_json::from_value(result).map_err(|decode| {
7709            let mut error = Error::decode(decode);
7710            error.operation_id = Some("doc.images.removeCaption".into());
7711            error.outcome_unknown = true;
7712            self.invoker.handle_decode_error(error)
7713        })
7714    }
7715
7716    #[doc = "Replace the image source while preserving identity and placement."]
7717    pub fn replace_source<'call>(
7718        &'call self,
7719        params: &'call DocImagesReplaceSourceBoundParams,
7720    ) -> impl std::future::Future<Output = Result<DocImagesReplaceSourceResult>> + Send + 'call
7721    {
7722        self.replace_source_with_options(params, InvokeOptions::default())
7723    }
7724    #[doc = "Replace the image source while preserving identity and placement."]
7725    pub async fn replace_source_with_options(
7726        &self,
7727        params: &DocImagesReplaceSourceBoundParams,
7728        options: InvokeOptions,
7729    ) -> Result<DocImagesReplaceSourceResult> {
7730        let params = serde_json::to_value(params)
7731            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7732        let result = self
7733            .invoker
7734            .invoke("doc.images.replaceSource", params, options)
7735            .await?;
7736        serde_json::from_value(result).map_err(|decode| {
7737            let mut error = Error::decode(decode);
7738            error.operation_id = Some("doc.images.replaceSource".into());
7739            error.outcome_unknown = true;
7740            self.invoker.handle_decode_error(error)
7741        })
7742    }
7743
7744    #[doc = "Remove all cropping from an image."]
7745    pub fn reset_crop<'call>(
7746        &'call self,
7747        params: &'call DocImagesResetCropBoundParams,
7748    ) -> impl std::future::Future<Output = Result<DocImagesResetCropResult>> + Send + 'call {
7749        self.reset_crop_with_options(params, InvokeOptions::default())
7750    }
7751    #[doc = "Remove all cropping from an image."]
7752    pub async fn reset_crop_with_options(
7753        &self,
7754        params: &DocImagesResetCropBoundParams,
7755        options: InvokeOptions,
7756    ) -> Result<DocImagesResetCropResult> {
7757        let params = serde_json::to_value(params)
7758            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7759        let result = self
7760            .invoker
7761            .invoke("doc.images.resetCrop", params, options)
7762            .await?;
7763        serde_json::from_value(result).map_err(|decode| {
7764            let mut error = Error::decode(decode);
7765            error.operation_id = Some("doc.images.resetCrop".into());
7766            error.outcome_unknown = true;
7767            self.invoker.handle_decode_error(error)
7768        })
7769    }
7770
7771    #[doc = "Set the absolute rotation angle for an image."]
7772    pub fn rotate<'call>(
7773        &'call self,
7774        params: &'call DocImagesRotateBoundParams,
7775    ) -> impl std::future::Future<Output = Result<DocImagesRotateResult>> + Send + 'call {
7776        self.rotate_with_options(params, InvokeOptions::default())
7777    }
7778    #[doc = "Set the absolute rotation angle for an image."]
7779    pub async fn rotate_with_options(
7780        &self,
7781        params: &DocImagesRotateBoundParams,
7782        options: InvokeOptions,
7783    ) -> Result<DocImagesRotateResult> {
7784        let params = serde_json::to_value(params)
7785            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7786        let result = self
7787            .invoker
7788            .invoke("doc.images.rotate", params, options)
7789            .await?;
7790        serde_json::from_value(result).map_err(|decode| {
7791            let mut error = Error::decode(decode);
7792            error.operation_id = Some("doc.images.rotate".into());
7793            error.outcome_unknown = true;
7794            self.invoker.handle_decode_error(error)
7795        })
7796    }
7797
7798    #[doc = "Scale an image by a uniform factor applied to both dimensions."]
7799    pub fn scale<'call>(
7800        &'call self,
7801        params: &'call DocImagesScaleBoundParams,
7802    ) -> impl std::future::Future<Output = Result<DocImagesScaleResult>> + Send + 'call {
7803        self.scale_with_options(params, InvokeOptions::default())
7804    }
7805    #[doc = "Scale an image by a uniform factor applied to both dimensions."]
7806    pub async fn scale_with_options(
7807        &self,
7808        params: &DocImagesScaleBoundParams,
7809        options: InvokeOptions,
7810    ) -> Result<DocImagesScaleResult> {
7811        let params = serde_json::to_value(params)
7812            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7813        let result = self
7814            .invoker
7815            .invoke("doc.images.scale", params, options)
7816            .await?;
7817        serde_json::from_value(result).map_err(|decode| {
7818            let mut error = Error::decode(decode);
7819            error.operation_id = Some("doc.images.scale".into());
7820            error.outcome_unknown = true;
7821            self.invoker.handle_decode_error(error)
7822        })
7823    }
7824
7825    #[doc = "Set the accessibility description (alt text) for an image."]
7826    pub fn set_alt_text<'call>(
7827        &'call self,
7828        params: &'call DocImagesSetAltTextBoundParams,
7829    ) -> impl std::future::Future<Output = Result<DocImagesSetAltTextResult>> + Send + 'call {
7830        self.set_alt_text_with_options(params, InvokeOptions::default())
7831    }
7832    #[doc = "Set the accessibility description (alt text) for an image."]
7833    pub async fn set_alt_text_with_options(
7834        &self,
7835        params: &DocImagesSetAltTextBoundParams,
7836        options: InvokeOptions,
7837    ) -> Result<DocImagesSetAltTextResult> {
7838        let params = serde_json::to_value(params)
7839            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7840        let result = self
7841            .invoker
7842            .invoke("doc.images.setAltText", params, options)
7843            .await?;
7844        serde_json::from_value(result).map_err(|decode| {
7845            let mut error = Error::decode(decode);
7846            error.operation_id = Some("doc.images.setAltText".into());
7847            error.outcome_unknown = true;
7848            self.invoker.handle_decode_error(error)
7849        })
7850    }
7851
7852    #[doc = "Set anchor behavior options for a floating image."]
7853    pub fn set_anchor_options<'call>(
7854        &'call self,
7855        params: &'call DocImagesSetAnchorOptionsBoundParams,
7856    ) -> impl std::future::Future<Output = Result<DocImagesSetAnchorOptionsResult>> + Send + 'call
7857    {
7858        self.set_anchor_options_with_options(params, InvokeOptions::default())
7859    }
7860    #[doc = "Set anchor behavior options for a floating image."]
7861    pub async fn set_anchor_options_with_options(
7862        &self,
7863        params: &DocImagesSetAnchorOptionsBoundParams,
7864        options: InvokeOptions,
7865    ) -> Result<DocImagesSetAnchorOptionsResult> {
7866        let params = serde_json::to_value(params)
7867            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7868        let result = self
7869            .invoker
7870            .invoke("doc.images.setAnchorOptions", params, options)
7871            .await?;
7872        serde_json::from_value(result).map_err(|decode| {
7873            let mut error = Error::decode(decode);
7874            error.operation_id = Some("doc.images.setAnchorOptions".into());
7875            error.outcome_unknown = true;
7876            self.invoker.handle_decode_error(error)
7877        })
7878    }
7879
7880    #[doc = "Mark or unmark an image as decorative."]
7881    pub fn set_decorative<'call>(
7882        &'call self,
7883        params: &'call DocImagesSetDecorativeBoundParams,
7884    ) -> impl std::future::Future<Output = Result<DocImagesSetDecorativeResult>> + Send + 'call
7885    {
7886        self.set_decorative_with_options(params, InvokeOptions::default())
7887    }
7888    #[doc = "Mark or unmark an image as decorative."]
7889    pub async fn set_decorative_with_options(
7890        &self,
7891        params: &DocImagesSetDecorativeBoundParams,
7892        options: InvokeOptions,
7893    ) -> Result<DocImagesSetDecorativeResult> {
7894        let params = serde_json::to_value(params)
7895            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7896        let result = self
7897            .invoker
7898            .invoke("doc.images.setDecorative", params, options)
7899            .await?;
7900        serde_json::from_value(result).map_err(|decode| {
7901            let mut error = Error::decode(decode);
7902            error.operation_id = Some("doc.images.setDecorative".into());
7903            error.outcome_unknown = true;
7904            self.invoker.handle_decode_error(error)
7905        })
7906    }
7907
7908    #[doc = "Set or remove the hyperlink attached to an image."]
7909    pub fn set_hyperlink<'call>(
7910        &'call self,
7911        params: &'call DocImagesSetHyperlinkBoundParams,
7912    ) -> impl std::future::Future<Output = Result<DocImagesSetHyperlinkResult>> + Send + 'call {
7913        self.set_hyperlink_with_options(params, InvokeOptions::default())
7914    }
7915    #[doc = "Set or remove the hyperlink attached to an image."]
7916    pub async fn set_hyperlink_with_options(
7917        &self,
7918        params: &DocImagesSetHyperlinkBoundParams,
7919        options: InvokeOptions,
7920    ) -> Result<DocImagesSetHyperlinkResult> {
7921        let params = serde_json::to_value(params)
7922            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7923        let result = self
7924            .invoker
7925            .invoke("doc.images.setHyperlink", params, options)
7926            .await?;
7927        serde_json::from_value(result).map_err(|decode| {
7928            let mut error = Error::decode(decode);
7929            error.operation_id = Some("doc.images.setHyperlink".into());
7930            error.outcome_unknown = true;
7931            self.invoker.handle_decode_error(error)
7932        })
7933    }
7934
7935    #[doc = "Lock or unlock the aspect ratio for an image."]
7936    pub fn set_lock_aspect_ratio<'call>(
7937        &'call self,
7938        params: &'call DocImagesSetLockAspectRatioBoundParams,
7939    ) -> impl std::future::Future<Output = Result<DocImagesSetLockAspectRatioResult>> + Send + 'call
7940    {
7941        self.set_lock_aspect_ratio_with_options(params, InvokeOptions::default())
7942    }
7943    #[doc = "Lock or unlock the aspect ratio for an image."]
7944    pub async fn set_lock_aspect_ratio_with_options(
7945        &self,
7946        params: &DocImagesSetLockAspectRatioBoundParams,
7947        options: InvokeOptions,
7948    ) -> Result<DocImagesSetLockAspectRatioResult> {
7949        let params = serde_json::to_value(params)
7950            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7951        let result = self
7952            .invoker
7953            .invoke("doc.images.setLockAspectRatio", params, options)
7954            .await?;
7955        serde_json::from_value(result).map_err(|decode| {
7956            let mut error = Error::decode(decode);
7957            error.operation_id = Some("doc.images.setLockAspectRatio".into());
7958            error.outcome_unknown = true;
7959            self.invoker.handle_decode_error(error)
7960        })
7961    }
7962
7963    #[doc = "Set the object name for an image."]
7964    pub fn set_name<'call>(
7965        &'call self,
7966        params: &'call DocImagesSetNameBoundParams,
7967    ) -> impl std::future::Future<Output = Result<DocImagesSetNameResult>> + Send + 'call {
7968        self.set_name_with_options(params, InvokeOptions::default())
7969    }
7970    #[doc = "Set the object name for an image."]
7971    pub async fn set_name_with_options(
7972        &self,
7973        params: &DocImagesSetNameBoundParams,
7974        options: InvokeOptions,
7975    ) -> Result<DocImagesSetNameResult> {
7976        let params = serde_json::to_value(params)
7977            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
7978        let result = self
7979            .invoker
7980            .invoke("doc.images.setName", params, options)
7981            .await?;
7982        serde_json::from_value(result).map_err(|decode| {
7983            let mut error = Error::decode(decode);
7984            error.operation_id = Some("doc.images.setName".into());
7985            error.outcome_unknown = true;
7986            self.invoker.handle_decode_error(error)
7987        })
7988    }
7989
7990    #[doc = "Set the anchor position for a floating image."]
7991    pub fn set_position<'call>(
7992        &'call self,
7993        params: &'call DocImagesSetPositionBoundParams,
7994    ) -> impl std::future::Future<Output = Result<DocImagesSetPositionResult>> + Send + 'call {
7995        self.set_position_with_options(params, InvokeOptions::default())
7996    }
7997    #[doc = "Set the anchor position for a floating image."]
7998    pub async fn set_position_with_options(
7999        &self,
8000        params: &DocImagesSetPositionBoundParams,
8001        options: InvokeOptions,
8002    ) -> Result<DocImagesSetPositionResult> {
8003        let params = serde_json::to_value(params)
8004            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8005        let result = self
8006            .invoker
8007            .invoke("doc.images.setPosition", params, options)
8008            .await?;
8009        serde_json::from_value(result).map_err(|decode| {
8010            let mut error = Error::decode(decode);
8011            error.operation_id = Some("doc.images.setPosition".into());
8012            error.outcome_unknown = true;
8013            self.invoker.handle_decode_error(error)
8014        })
8015    }
8016
8017    #[doc = "Set explicit width/height for an image."]
8018    pub fn set_size<'call>(
8019        &'call self,
8020        params: &'call DocImagesSetSizeBoundParams,
8021    ) -> impl std::future::Future<Output = Result<DocImagesSetSizeResult>> + Send + 'call {
8022        self.set_size_with_options(params, InvokeOptions::default())
8023    }
8024    #[doc = "Set explicit width/height for an image."]
8025    pub async fn set_size_with_options(
8026        &self,
8027        params: &DocImagesSetSizeBoundParams,
8028        options: InvokeOptions,
8029    ) -> Result<DocImagesSetSizeResult> {
8030        let params = serde_json::to_value(params)
8031            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8032        let result = self
8033            .invoker
8034            .invoke("doc.images.setSize", params, options)
8035            .await?;
8036        serde_json::from_value(result).map_err(|decode| {
8037            let mut error = Error::decode(decode);
8038            error.operation_id = Some("doc.images.setSize".into());
8039            error.outcome_unknown = true;
8040            self.invoker.handle_decode_error(error)
8041        })
8042    }
8043
8044    #[doc = "Set the text-wrap distance margins for a floating image."]
8045    pub fn set_wrap_distances<'call>(
8046        &'call self,
8047        params: &'call DocImagesSetWrapDistancesBoundParams,
8048    ) -> impl std::future::Future<Output = Result<DocImagesSetWrapDistancesResult>> + Send + 'call
8049    {
8050        self.set_wrap_distances_with_options(params, InvokeOptions::default())
8051    }
8052    #[doc = "Set the text-wrap distance margins for a floating image."]
8053    pub async fn set_wrap_distances_with_options(
8054        &self,
8055        params: &DocImagesSetWrapDistancesBoundParams,
8056        options: InvokeOptions,
8057    ) -> Result<DocImagesSetWrapDistancesResult> {
8058        let params = serde_json::to_value(params)
8059            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8060        let result = self
8061            .invoker
8062            .invoke("doc.images.setWrapDistances", params, options)
8063            .await?;
8064        serde_json::from_value(result).map_err(|decode| {
8065            let mut error = Error::decode(decode);
8066            error.operation_id = Some("doc.images.setWrapDistances".into());
8067            error.outcome_unknown = true;
8068            self.invoker.handle_decode_error(error)
8069        })
8070    }
8071
8072    #[doc = "Set which side(s) text wraps around a floating image."]
8073    pub fn set_wrap_side<'call>(
8074        &'call self,
8075        params: &'call DocImagesSetWrapSideBoundParams,
8076    ) -> impl std::future::Future<Output = Result<DocImagesSetWrapSideResult>> + Send + 'call {
8077        self.set_wrap_side_with_options(params, InvokeOptions::default())
8078    }
8079    #[doc = "Set which side(s) text wraps around a floating image."]
8080    pub async fn set_wrap_side_with_options(
8081        &self,
8082        params: &DocImagesSetWrapSideBoundParams,
8083        options: InvokeOptions,
8084    ) -> Result<DocImagesSetWrapSideResult> {
8085        let params = serde_json::to_value(params)
8086            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8087        let result = self
8088            .invoker
8089            .invoke("doc.images.setWrapSide", params, options)
8090            .await?;
8091        serde_json::from_value(result).map_err(|decode| {
8092            let mut error = Error::decode(decode);
8093            error.operation_id = Some("doc.images.setWrapSide".into());
8094            error.outcome_unknown = true;
8095            self.invoker.handle_decode_error(error)
8096        })
8097    }
8098
8099    #[doc = "Set the text wrapping type for a floating image."]
8100    pub fn set_wrap_type<'call>(
8101        &'call self,
8102        params: &'call DocImagesSetWrapTypeBoundParams,
8103    ) -> impl std::future::Future<Output = Result<DocImagesSetWrapTypeResult>> + Send + 'call {
8104        self.set_wrap_type_with_options(params, InvokeOptions::default())
8105    }
8106    #[doc = "Set the text wrapping type for a floating image."]
8107    pub async fn set_wrap_type_with_options(
8108        &self,
8109        params: &DocImagesSetWrapTypeBoundParams,
8110        options: InvokeOptions,
8111    ) -> Result<DocImagesSetWrapTypeResult> {
8112        let params = serde_json::to_value(params)
8113            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8114        let result = self
8115            .invoker
8116            .invoke("doc.images.setWrapType", params, options)
8117            .await?;
8118        serde_json::from_value(result).map_err(|decode| {
8119            let mut error = Error::decode(decode);
8120            error.operation_id = Some("doc.images.setWrapType".into());
8121            error.outcome_unknown = true;
8122            self.invoker.handle_decode_error(error)
8123        })
8124    }
8125
8126    #[doc = "Set the z-order (relativeHeight) for a floating image."]
8127    pub fn set_z_order<'call>(
8128        &'call self,
8129        params: &'call DocImagesSetZOrderBoundParams,
8130    ) -> impl std::future::Future<Output = Result<DocImagesSetZOrderResult>> + Send + 'call {
8131        self.set_z_order_with_options(params, InvokeOptions::default())
8132    }
8133    #[doc = "Set the z-order (relativeHeight) for a floating image."]
8134    pub async fn set_z_order_with_options(
8135        &self,
8136        params: &DocImagesSetZOrderBoundParams,
8137        options: InvokeOptions,
8138    ) -> Result<DocImagesSetZOrderResult> {
8139        let params = serde_json::to_value(params)
8140            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8141        let result = self
8142            .invoker
8143            .invoke("doc.images.setZOrder", params, options)
8144            .await?;
8145        serde_json::from_value(result).map_err(|decode| {
8146            let mut error = Error::decode(decode);
8147            error.operation_id = Some("doc.images.setZOrder".into());
8148            error.outcome_unknown = true;
8149            self.invoker.handle_decode_error(error)
8150        })
8151    }
8152
8153    #[doc = "Update the text of an existing caption paragraph."]
8154    pub fn update_caption<'call>(
8155        &'call self,
8156        params: &'call DocImagesUpdateCaptionBoundParams,
8157    ) -> impl std::future::Future<Output = Result<DocImagesUpdateCaptionResult>> + Send + 'call
8158    {
8159        self.update_caption_with_options(params, InvokeOptions::default())
8160    }
8161    #[doc = "Update the text of an existing caption paragraph."]
8162    pub async fn update_caption_with_options(
8163        &self,
8164        params: &DocImagesUpdateCaptionBoundParams,
8165        options: InvokeOptions,
8166    ) -> Result<DocImagesUpdateCaptionResult> {
8167        let params = serde_json::to_value(params)
8168            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8169        let result = self
8170            .invoker
8171            .invoke("doc.images.updateCaption", params, options)
8172            .await?;
8173        serde_json::from_value(result).map_err(|decode| {
8174            let mut error = Error::decode(decode);
8175            error.operation_id = Some("doc.images.updateCaption".into());
8176            error.outcome_unknown = true;
8177            self.invoker.handle_decode_error(error)
8178        })
8179    }
8180}
8181
8182pub struct DocApiIndex<'a, I: Invoker> {
8183    invoker: &'a I,
8184}
8185impl<'a, I: Invoker> DocApiIndex<'a, I> {
8186    pub fn new(invoker: &'a I) -> Self {
8187        Self { invoker }
8188    }
8189    pub fn entries(&self) -> DocApiIndexEntries<'a, I> {
8190        DocApiIndexEntries::new(self.invoker)
8191    }
8192
8193    #[doc = "Update the configuration of an existing index block."]
8194    pub fn configure<'call>(
8195        &'call self,
8196        params: &'call DocIndexConfigureBoundParams,
8197    ) -> impl std::future::Future<Output = Result<DocIndexConfigureResult>> + Send + 'call {
8198        self.configure_with_options(params, InvokeOptions::default())
8199    }
8200    #[doc = "Update the configuration of an existing index block."]
8201    pub async fn configure_with_options(
8202        &self,
8203        params: &DocIndexConfigureBoundParams,
8204        options: InvokeOptions,
8205    ) -> Result<DocIndexConfigureResult> {
8206        let params = serde_json::to_value(params)
8207            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8208        let result = self
8209            .invoker
8210            .invoke("doc.index.configure", params, options)
8211            .await?;
8212        serde_json::from_value(result).map_err(|decode| {
8213            let mut error = Error::decode(decode);
8214            error.operation_id = Some("doc.index.configure".into());
8215            error.outcome_unknown = true;
8216            self.invoker.handle_decode_error(error)
8217        })
8218    }
8219
8220    #[doc = "Get detailed information about a specific index block."]
8221    pub fn get<'call>(
8222        &'call self,
8223        params: &'call DocIndexGetBoundParams,
8224    ) -> impl std::future::Future<Output = Result<DocIndexGetResult>> + Send + 'call {
8225        self.get_with_options(params, InvokeOptions::default())
8226    }
8227    #[doc = "Get detailed information about a specific index block."]
8228    pub async fn get_with_options(
8229        &self,
8230        params: &DocIndexGetBoundParams,
8231        options: InvokeOptions,
8232    ) -> Result<DocIndexGetResult> {
8233        let params = serde_json::to_value(params)
8234            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8235        let result = self
8236            .invoker
8237            .invoke("doc.index.get", params, options)
8238            .await?;
8239        serde_json::from_value(result).map_err(|decode| {
8240            let mut error = Error::decode(decode);
8241            error.operation_id = Some("doc.index.get".into());
8242            error.outcome_unknown = false;
8243            self.invoker.handle_decode_error(error)
8244        })
8245    }
8246
8247    #[doc = "Insert a new index block at a target location."]
8248    pub fn insert<'call>(
8249        &'call self,
8250        params: &'call DocIndexInsertBoundParams,
8251    ) -> impl std::future::Future<Output = Result<DocIndexInsertResult>> + Send + 'call {
8252        self.insert_with_options(params, InvokeOptions::default())
8253    }
8254    #[doc = "Insert a new index block at a target location."]
8255    pub async fn insert_with_options(
8256        &self,
8257        params: &DocIndexInsertBoundParams,
8258        options: InvokeOptions,
8259    ) -> Result<DocIndexInsertResult> {
8260        let params = serde_json::to_value(params)
8261            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8262        let result = self
8263            .invoker
8264            .invoke("doc.index.insert", params, options)
8265            .await?;
8266        serde_json::from_value(result).map_err(|decode| {
8267            let mut error = Error::decode(decode);
8268            error.operation_id = Some("doc.index.insert".into());
8269            error.outcome_unknown = true;
8270            self.invoker.handle_decode_error(error)
8271        })
8272    }
8273
8274    #[doc = "List all index blocks in the document."]
8275    pub fn list<'call>(
8276        &'call self,
8277        params: &'call DocIndexListBoundParams,
8278    ) -> impl std::future::Future<Output = Result<DocIndexListResult>> + Send + 'call {
8279        self.list_with_options(params, InvokeOptions::default())
8280    }
8281    #[doc = "List all index blocks in the document."]
8282    pub async fn list_with_options(
8283        &self,
8284        params: &DocIndexListBoundParams,
8285        options: InvokeOptions,
8286    ) -> Result<DocIndexListResult> {
8287        let params = serde_json::to_value(params)
8288            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8289        let result = self
8290            .invoker
8291            .invoke("doc.index.list", params, options)
8292            .await?;
8293        serde_json::from_value(result).map_err(|decode| {
8294            let mut error = Error::decode(decode);
8295            error.operation_id = Some("doc.index.list".into());
8296            error.outcome_unknown = false;
8297            self.invoker.handle_decode_error(error)
8298        })
8299    }
8300
8301    #[doc = "Rebuild (regenerate) an index block from its entries."]
8302    pub fn rebuild<'call>(
8303        &'call self,
8304        params: &'call DocIndexRebuildBoundParams,
8305    ) -> impl std::future::Future<Output = Result<DocIndexRebuildResult>> + Send + 'call {
8306        self.rebuild_with_options(params, InvokeOptions::default())
8307    }
8308    #[doc = "Rebuild (regenerate) an index block from its entries."]
8309    pub async fn rebuild_with_options(
8310        &self,
8311        params: &DocIndexRebuildBoundParams,
8312        options: InvokeOptions,
8313    ) -> Result<DocIndexRebuildResult> {
8314        let params = serde_json::to_value(params)
8315            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8316        let result = self
8317            .invoker
8318            .invoke("doc.index.rebuild", params, options)
8319            .await?;
8320        serde_json::from_value(result).map_err(|decode| {
8321            let mut error = Error::decode(decode);
8322            error.operation_id = Some("doc.index.rebuild".into());
8323            error.outcome_unknown = true;
8324            self.invoker.handle_decode_error(error)
8325        })
8326    }
8327
8328    #[doc = "Remove an index block from the document."]
8329    pub fn remove<'call>(
8330        &'call self,
8331        params: &'call DocIndexRemoveBoundParams,
8332    ) -> impl std::future::Future<Output = Result<DocIndexRemoveResult>> + Send + 'call {
8333        self.remove_with_options(params, InvokeOptions::default())
8334    }
8335    #[doc = "Remove an index block from the document."]
8336    pub async fn remove_with_options(
8337        &self,
8338        params: &DocIndexRemoveBoundParams,
8339        options: InvokeOptions,
8340    ) -> Result<DocIndexRemoveResult> {
8341        let params = serde_json::to_value(params)
8342            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8343        let result = self
8344            .invoker
8345            .invoke("doc.index.remove", params, options)
8346            .await?;
8347        serde_json::from_value(result).map_err(|decode| {
8348            let mut error = Error::decode(decode);
8349            error.operation_id = Some("doc.index.remove".into());
8350            error.outcome_unknown = true;
8351            self.invoker.handle_decode_error(error)
8352        })
8353    }
8354}
8355
8356pub struct DocApiIndexEntries<'a, I: Invoker> {
8357    invoker: &'a I,
8358}
8359impl<'a, I: Invoker> DocApiIndexEntries<'a, I> {
8360    pub fn new(invoker: &'a I) -> Self {
8361        Self { invoker }
8362    }
8363
8364    #[doc = "Get detailed information about a specific XE index entry."]
8365    pub fn get<'call>(
8366        &'call self,
8367        params: &'call DocIndexEntriesGetBoundParams,
8368    ) -> impl std::future::Future<Output = Result<DocIndexEntriesGetResult>> + Send + 'call {
8369        self.get_with_options(params, InvokeOptions::default())
8370    }
8371    #[doc = "Get detailed information about a specific XE index entry."]
8372    pub async fn get_with_options(
8373        &self,
8374        params: &DocIndexEntriesGetBoundParams,
8375        options: InvokeOptions,
8376    ) -> Result<DocIndexEntriesGetResult> {
8377        let params = serde_json::to_value(params)
8378            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8379        let result = self
8380            .invoker
8381            .invoke("doc.index.entries.get", params, options)
8382            .await?;
8383        serde_json::from_value(result).map_err(|decode| {
8384            let mut error = Error::decode(decode);
8385            error.operation_id = Some("doc.index.entries.get".into());
8386            error.outcome_unknown = false;
8387            self.invoker.handle_decode_error(error)
8388        })
8389    }
8390
8391    #[doc = "Insert a new XE index entry field at a target location."]
8392    pub fn insert<'call>(
8393        &'call self,
8394        params: &'call DocIndexEntriesInsertBoundParams,
8395    ) -> impl std::future::Future<Output = Result<DocIndexEntriesInsertResult>> + Send + 'call {
8396        self.insert_with_options(params, InvokeOptions::default())
8397    }
8398    #[doc = "Insert a new XE index entry field at a target location."]
8399    pub async fn insert_with_options(
8400        &self,
8401        params: &DocIndexEntriesInsertBoundParams,
8402        options: InvokeOptions,
8403    ) -> Result<DocIndexEntriesInsertResult> {
8404        let params = serde_json::to_value(params)
8405            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8406        let result = self
8407            .invoker
8408            .invoke("doc.index.entries.insert", params, options)
8409            .await?;
8410        serde_json::from_value(result).map_err(|decode| {
8411            let mut error = Error::decode(decode);
8412            error.operation_id = Some("doc.index.entries.insert".into());
8413            error.outcome_unknown = true;
8414            self.invoker.handle_decode_error(error)
8415        })
8416    }
8417
8418    #[doc = "List all XE (index entry) fields in the document."]
8419    pub fn list<'call>(
8420        &'call self,
8421        params: &'call DocIndexEntriesListBoundParams,
8422    ) -> impl std::future::Future<Output = Result<DocIndexEntriesListResult>> + Send + 'call {
8423        self.list_with_options(params, InvokeOptions::default())
8424    }
8425    #[doc = "List all XE (index entry) fields in the document."]
8426    pub async fn list_with_options(
8427        &self,
8428        params: &DocIndexEntriesListBoundParams,
8429        options: InvokeOptions,
8430    ) -> Result<DocIndexEntriesListResult> {
8431        let params = serde_json::to_value(params)
8432            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8433        let result = self
8434            .invoker
8435            .invoke("doc.index.entries.list", params, options)
8436            .await?;
8437        serde_json::from_value(result).map_err(|decode| {
8438            let mut error = Error::decode(decode);
8439            error.operation_id = Some("doc.index.entries.list".into());
8440            error.outcome_unknown = false;
8441            self.invoker.handle_decode_error(error)
8442        })
8443    }
8444
8445    #[doc = "Remove an XE index entry field from the document."]
8446    pub fn remove<'call>(
8447        &'call self,
8448        params: &'call DocIndexEntriesRemoveBoundParams,
8449    ) -> impl std::future::Future<Output = Result<DocIndexEntriesRemoveResult>> + Send + 'call {
8450        self.remove_with_options(params, InvokeOptions::default())
8451    }
8452    #[doc = "Remove an XE index entry field from the document."]
8453    pub async fn remove_with_options(
8454        &self,
8455        params: &DocIndexEntriesRemoveBoundParams,
8456        options: InvokeOptions,
8457    ) -> Result<DocIndexEntriesRemoveResult> {
8458        let params = serde_json::to_value(params)
8459            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8460        let result = self
8461            .invoker
8462            .invoke("doc.index.entries.remove", params, options)
8463            .await?;
8464        serde_json::from_value(result).map_err(|decode| {
8465            let mut error = Error::decode(decode);
8466            error.operation_id = Some("doc.index.entries.remove".into());
8467            error.outcome_unknown = true;
8468            self.invoker.handle_decode_error(error)
8469        })
8470    }
8471
8472    #[doc = "Update the properties of an existing XE index entry."]
8473    pub fn update<'call>(
8474        &'call self,
8475        params: &'call DocIndexEntriesUpdateBoundParams,
8476    ) -> impl std::future::Future<Output = Result<DocIndexEntriesUpdateResult>> + Send + 'call {
8477        self.update_with_options(params, InvokeOptions::default())
8478    }
8479    #[doc = "Update the properties of an existing XE index entry."]
8480    pub async fn update_with_options(
8481        &self,
8482        params: &DocIndexEntriesUpdateBoundParams,
8483        options: InvokeOptions,
8484    ) -> Result<DocIndexEntriesUpdateResult> {
8485        let params = serde_json::to_value(params)
8486            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8487        let result = self
8488            .invoker
8489            .invoke("doc.index.entries.update", params, options)
8490            .await?;
8491        serde_json::from_value(result).map_err(|decode| {
8492            let mut error = Error::decode(decode);
8493            error.operation_id = Some("doc.index.entries.update".into());
8494            error.outcome_unknown = true;
8495            self.invoker.handle_decode_error(error)
8496        })
8497    }
8498}
8499
8500pub struct DocApiLists<'a, I: Invoker> {
8501    invoker: &'a I,
8502}
8503impl<'a, I: Invoker> DocApiLists<'a, I> {
8504    pub fn new(invoker: &'a I) -> Self {
8505        Self { invoker }
8506    }
8507
8508    #[doc = "Apply a numbering definition to a paragraph. When `/word/numbering.xml` is absent it is materialized atomically together with the package content-type override and document relationship. Seeds bullet or ordered single-level definitions when no `reuseNumId` is provided."]
8509    pub fn apply<'call>(
8510        &'call self,
8511        params: &'call DocListsApplyBoundParams,
8512    ) -> impl std::future::Future<Output = Result<DocListsApplyResult>> + Send + 'call {
8513        self.apply_with_options(params, InvokeOptions::default())
8514    }
8515    #[doc = "Apply a numbering definition to a paragraph. When `/word/numbering.xml` is absent it is materialized atomically together with the package content-type override and document relationship. Seeds bullet or ordered single-level definitions when no `reuseNumId` is provided."]
8516    pub async fn apply_with_options(
8517        &self,
8518        params: &DocListsApplyBoundParams,
8519        options: InvokeOptions,
8520    ) -> Result<DocListsApplyResult> {
8521        let params = serde_json::to_value(params)
8522            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8523        let result = self
8524            .invoker
8525            .invoke("doc.lists.apply", params, options)
8526            .await?;
8527        serde_json::from_value(result).map_err(|decode| {
8528            let mut error = Error::decode(decode);
8529            error.operation_id = Some("doc.lists.apply".into());
8530            error.outcome_unknown = true;
8531            self.invoker.handle_decode_error(error)
8532        })
8533    }
8534
8535    #[doc = "Apply a built-in list formatting preset to the target list."]
8536    pub fn apply_preset<'call>(
8537        &'call self,
8538        params: &'call DocListsApplyPresetBoundParams,
8539    ) -> impl std::future::Future<Output = Result<DocListsApplyPresetResult>> + Send + 'call {
8540        self.apply_preset_with_options(params, InvokeOptions::default())
8541    }
8542    #[doc = "Apply a built-in list formatting preset to the target list."]
8543    pub async fn apply_preset_with_options(
8544        &self,
8545        params: &DocListsApplyPresetBoundParams,
8546        options: InvokeOptions,
8547    ) -> Result<DocListsApplyPresetResult> {
8548        let params = serde_json::to_value(params)
8549            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8550        let result = self
8551            .invoker
8552            .invoke("doc.lists.applyPreset", params, options)
8553            .await?;
8554        serde_json::from_value(result).map_err(|decode| {
8555            let mut error = Error::decode(decode);
8556            error.operation_id = Some("doc.lists.applyPreset".into());
8557            error.outcome_unknown = true;
8558            self.invoker.handle_decode_error(error)
8559        })
8560    }
8561
8562    #[doc = "Apply a reusable list style to the target list. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
8563    pub fn apply_style<'call>(
8564        &'call self,
8565        params: &'call DocListsApplyStyleBoundParams,
8566    ) -> impl std::future::Future<Output = Result<DocListsApplyStyleResult>> + Send + 'call {
8567        self.apply_style_with_options(params, InvokeOptions::default())
8568    }
8569    #[doc = "Apply a reusable list style to the target list. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
8570    pub async fn apply_style_with_options(
8571        &self,
8572        params: &DocListsApplyStyleBoundParams,
8573        options: InvokeOptions,
8574    ) -> Result<DocListsApplyStyleResult> {
8575        let params = serde_json::to_value(params)
8576            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8577        let result = self
8578            .invoker
8579            .invoke("doc.lists.applyStyle", params, options)
8580            .await?;
8581        serde_json::from_value(result).map_err(|decode| {
8582            let mut error = Error::decode(decode);
8583            error.operation_id = Some("doc.lists.applyStyle".into());
8584            error.outcome_unknown = true;
8585            self.invoker.handle_decode_error(error)
8586        })
8587    }
8588
8589    #[doc = "Advanced alias for lists.applyStyle. Apply a captured ListTemplate to the target list (abstract-scoped, no clone-on-write)."]
8590    pub fn apply_template<'call>(
8591        &'call self,
8592        params: &'call DocListsApplyTemplateBoundParams,
8593    ) -> impl std::future::Future<Output = Result<DocListsApplyTemplateResult>> + Send + 'call {
8594        self.apply_template_with_options(params, InvokeOptions::default())
8595    }
8596    #[doc = "Advanced alias for lists.applyStyle. Apply a captured ListTemplate to the target list (abstract-scoped, no clone-on-write)."]
8597    pub async fn apply_template_with_options(
8598        &self,
8599        params: &DocListsApplyTemplateBoundParams,
8600        options: InvokeOptions,
8601    ) -> Result<DocListsApplyTemplateResult> {
8602        let params = serde_json::to_value(params)
8603            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8604        let result = self
8605            .invoker
8606            .invoke("doc.lists.applyTemplate", params, options)
8607            .await?;
8608        serde_json::from_value(result).map_err(|decode| {
8609            let mut error = Error::decode(decode);
8610            error.operation_id = Some("doc.lists.applyTemplate".into());
8611            error.outcome_unknown = true;
8612            self.invoker.handle_decode_error(error)
8613        })
8614    }
8615
8616    #[doc = "Convert non-list paragraphs to list items under an existing list sequence."]
8617    pub fn attach<'call>(
8618        &'call self,
8619        params: &'call DocListsAttachBoundParams,
8620    ) -> impl std::future::Future<Output = Result<DocListsAttachResult>> + Send + 'call {
8621        self.attach_with_options(params, InvokeOptions::default())
8622    }
8623    #[doc = "Convert non-list paragraphs to list items under an existing list sequence."]
8624    pub async fn attach_with_options(
8625        &self,
8626        params: &DocListsAttachBoundParams,
8627        options: InvokeOptions,
8628    ) -> Result<DocListsAttachResult> {
8629        let params = serde_json::to_value(params)
8630            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8631        let result = self
8632            .invoker
8633            .invoke("doc.lists.attach", params, options)
8634            .await?;
8635        serde_json::from_value(result).map_err(|decode| {
8636            let mut error = Error::decode(decode);
8637            error.operation_id = Some("doc.lists.attach".into());
8638            error.outcome_unknown = true;
8639            self.invoker.handle_decode_error(error)
8640        })
8641    }
8642
8643    #[doc = "Check whether the target sequence can continue numbering from a previous compatible sequence."]
8644    pub fn can_continue_previous<'call>(
8645        &'call self,
8646        params: &'call DocListsCanContinuePreviousBoundParams,
8647    ) -> impl std::future::Future<Output = Result<DocListsCanContinuePreviousResult>> + Send + 'call
8648    {
8649        self.can_continue_previous_with_options(params, InvokeOptions::default())
8650    }
8651    #[doc = "Check whether the target sequence can continue numbering from a previous compatible sequence."]
8652    pub async fn can_continue_previous_with_options(
8653        &self,
8654        params: &DocListsCanContinuePreviousBoundParams,
8655        options: InvokeOptions,
8656    ) -> Result<DocListsCanContinuePreviousResult> {
8657        let params = serde_json::to_value(params)
8658            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8659        let result = self
8660            .invoker
8661            .invoke("doc.lists.canContinuePrevious", params, options)
8662            .await?;
8663        serde_json::from_value(result).map_err(|decode| {
8664            let mut error = Error::decode(decode);
8665            error.operation_id = Some("doc.lists.canContinuePrevious".into());
8666            error.outcome_unknown = false;
8667            self.invoker.handle_decode_error(error)
8668        })
8669    }
8670
8671    #[doc = "Check whether two adjacent list sequences can be joined."]
8672    pub fn can_join<'call>(
8673        &'call self,
8674        params: &'call DocListsCanJoinBoundParams,
8675    ) -> impl std::future::Future<Output = Result<DocListsCanJoinResult>> + Send + 'call {
8676        self.can_join_with_options(params, InvokeOptions::default())
8677    }
8678    #[doc = "Check whether two adjacent list sequences can be joined."]
8679    pub async fn can_join_with_options(
8680        &self,
8681        params: &DocListsCanJoinBoundParams,
8682        options: InvokeOptions,
8683    ) -> Result<DocListsCanJoinResult> {
8684        let params = serde_json::to_value(params)
8685            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8686        let result = self
8687            .invoker
8688            .invoke("doc.lists.canJoin", params, options)
8689            .await?;
8690        serde_json::from_value(result).map_err(|decode| {
8691            let mut error = Error::decode(decode);
8692            error.operation_id = Some("doc.lists.canJoin".into());
8693            error.outcome_unknown = false;
8694            self.invoker.handle_decode_error(error)
8695        })
8696    }
8697
8698    #[doc = "Capture reusable effective list formatting, including full level overrides and Word defaults, without instance continuation checkpoints (startOverride)."]
8699    pub fn capture_template<'call>(
8700        &'call self,
8701        params: &'call DocListsCaptureTemplateBoundParams,
8702    ) -> impl std::future::Future<Output = Result<DocListsCaptureTemplateResult>> + Send + 'call
8703    {
8704        self.capture_template_with_options(params, InvokeOptions::default())
8705    }
8706    #[doc = "Capture reusable effective list formatting, including full level overrides and Word defaults, without instance continuation checkpoints (startOverride)."]
8707    pub async fn capture_template_with_options(
8708        &self,
8709        params: &DocListsCaptureTemplateBoundParams,
8710        options: InvokeOptions,
8711    ) -> Result<DocListsCaptureTemplateResult> {
8712        let params = serde_json::to_value(params)
8713            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8714        let result = self
8715            .invoker
8716            .invoke("doc.lists.captureTemplate", params, options)
8717            .await?;
8718        serde_json::from_value(result).map_err(|decode| {
8719            let mut error = Error::decode(decode);
8720            error.operation_id = Some("doc.lists.captureTemplate".into());
8721            error.outcome_unknown = false;
8722            self.invoker.handle_decode_error(error)
8723        })
8724    }
8725
8726    #[doc = "Remove instance-level overrides for a specific list level, restoring abstract definition values."]
8727    pub fn clear_level_overrides<'call>(
8728        &'call self,
8729        params: &'call DocListsClearLevelOverridesBoundParams,
8730    ) -> impl std::future::Future<Output = Result<DocListsClearLevelOverridesResult>> + Send + 'call
8731    {
8732        self.clear_level_overrides_with_options(params, InvokeOptions::default())
8733    }
8734    #[doc = "Remove instance-level overrides for a specific list level, restoring abstract definition values."]
8735    pub async fn clear_level_overrides_with_options(
8736        &self,
8737        params: &DocListsClearLevelOverridesBoundParams,
8738        options: InvokeOptions,
8739    ) -> Result<DocListsClearLevelOverridesResult> {
8740        let params = serde_json::to_value(params)
8741            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8742        let result = self
8743            .invoker
8744            .invoke("doc.lists.clearLevelOverrides", params, options)
8745            .await?;
8746        serde_json::from_value(result).map_err(|decode| {
8747            let mut error = Error::decode(decode);
8748            error.operation_id = Some("doc.lists.clearLevelOverrides".into());
8749            error.outcome_unknown = true;
8750            self.invoker.handle_decode_error(error)
8751        })
8752    }
8753
8754    #[doc = "Continue from the previous compatible list item in the same story. Adopts the previous paragraph's numId+ilvl. Rejects with named reasons when no compatible previous item exists or when an intervening structural boundary blocks the continuation."]
8755    pub fn continue_<'call>(
8756        &'call self,
8757        params: &'call DocListsContinueBoundParams,
8758    ) -> impl std::future::Future<Output = Result<DocListsContinueResult>> + Send + 'call {
8759        self.continue_with_options(params, InvokeOptions::default())
8760    }
8761    #[doc = "Continue from the previous compatible list item in the same story. Adopts the previous paragraph's numId+ilvl. Rejects with named reasons when no compatible previous item exists or when an intervening structural boundary blocks the continuation."]
8762    pub async fn continue_with_options(
8763        &self,
8764        params: &DocListsContinueBoundParams,
8765        options: InvokeOptions,
8766    ) -> Result<DocListsContinueResult> {
8767        let params = serde_json::to_value(params)
8768            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8769        let result = self
8770            .invoker
8771            .invoke("doc.lists.continue", params, options)
8772            .await?;
8773        serde_json::from_value(result).map_err(|decode| {
8774            let mut error = Error::decode(decode);
8775            error.operation_id = Some("doc.lists.continue".into());
8776            error.outcome_unknown = true;
8777            self.invoker.handle_decode_error(error)
8778        })
8779    }
8780
8781    #[doc = "Continue numbering from the nearest compatible previous list sequence."]
8782    pub fn continue_previous<'call>(
8783        &'call self,
8784        params: &'call DocListsContinuePreviousBoundParams,
8785    ) -> impl std::future::Future<Output = Result<DocListsContinuePreviousResult>> + Send + 'call
8786    {
8787        self.continue_previous_with_options(params, InvokeOptions::default())
8788    }
8789    #[doc = "Continue numbering from the nearest compatible previous list sequence."]
8790    pub async fn continue_previous_with_options(
8791        &self,
8792        params: &DocListsContinuePreviousBoundParams,
8793        options: InvokeOptions,
8794    ) -> Result<DocListsContinuePreviousResult> {
8795        let params = serde_json::to_value(params)
8796            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8797        let result = self
8798            .invoker
8799            .invoke("doc.lists.continuePrevious", params, options)
8800            .await?;
8801        serde_json::from_value(result).map_err(|decode| {
8802            let mut error = Error::decode(decode);
8803            error.operation_id = Some("doc.lists.continuePrevious".into());
8804            error.outcome_unknown = true;
8805            self.invoker.handle_decode_error(error)
8806        })
8807    }
8808
8809    #[doc = "Convert list items to plain paragraphs, optionally prepending the rendered marker text."]
8810    pub fn convert_to_text<'call>(
8811        &'call self,
8812        params: &'call DocListsConvertToTextBoundParams,
8813    ) -> impl std::future::Future<Output = Result<DocListsConvertToTextResult>> + Send + 'call {
8814        self.convert_to_text_with_options(params, InvokeOptions::default())
8815    }
8816    #[doc = "Convert list items to plain paragraphs, optionally prepending the rendered marker text."]
8817    pub async fn convert_to_text_with_options(
8818        &self,
8819        params: &DocListsConvertToTextBoundParams,
8820        options: InvokeOptions,
8821    ) -> Result<DocListsConvertToTextResult> {
8822        let params = serde_json::to_value(params)
8823            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8824        let result = self
8825            .invoker
8826            .invoke("doc.lists.convertToText", params, options)
8827            .await?;
8828        serde_json::from_value(result).map_err(|decode| {
8829            let mut error = Error::decode(decode);
8830            error.operation_id = Some("doc.lists.convertToText".into());
8831            error.outcome_unknown = true;
8832            self.invoker.handle_decode_error(error)
8833        })
8834    }
8835
8836    #[doc = "Create a new list from one or more paragraphs. Supports optional preset or style for new sequences. When sequence.mode is \"continuePrevious\", preset and style are not allowed: the new items inherit formatting from the previous sequence."]
8837    pub fn create<'call>(
8838        &'call self,
8839        params: &'call DocListsCreateBoundParams,
8840    ) -> impl std::future::Future<Output = Result<DocListsCreateResult>> + Send + 'call {
8841        self.create_with_options(params, InvokeOptions::default())
8842    }
8843    #[doc = "Create a new list from one or more paragraphs. Supports optional preset or style for new sequences. When sequence.mode is \"continuePrevious\", preset and style are not allowed: the new items inherit formatting from the previous sequence."]
8844    pub async fn create_with_options(
8845        &self,
8846        params: &DocListsCreateBoundParams,
8847        options: InvokeOptions,
8848    ) -> Result<DocListsCreateResult> {
8849        let params = serde_json::to_value(params)
8850            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8851        let result = self
8852            .invoker
8853            .invoke("doc.lists.create", params, options)
8854            .await?;
8855        serde_json::from_value(result).map_err(|decode| {
8856            let mut error = Error::decode(decode);
8857            error.operation_id = Some("doc.lists.create".into());
8858            error.outcome_unknown = true;
8859            self.invoker.handle_decode_error(error)
8860        })
8861    }
8862
8863    #[doc = "Delete the entire list that contains the targeted list item. Removes ALL items in the same numbered sequence (the contiguous run of list items sharing the target's numbering) AND their text content from the document. Pass any single list item from the list as `target`; the op walks adjacent siblings to find the full list. Use this for \"remove the list\" / \"delete this list\" intents and for the cleanup step of a list-to-table conversion."]
8864    pub fn delete<'call>(
8865        &'call self,
8866        params: &'call DocListsDeleteBoundParams,
8867    ) -> impl std::future::Future<Output = Result<DocListsDeleteResult>> + Send + 'call {
8868        self.delete_with_options(params, InvokeOptions::default())
8869    }
8870    #[doc = "Delete the entire list that contains the targeted list item. Removes ALL items in the same numbered sequence (the contiguous run of list items sharing the target's numbering) AND their text content from the document. Pass any single list item from the list as `target`; the op walks adjacent siblings to find the full list. Use this for \"remove the list\" / \"delete this list\" intents and for the cleanup step of a list-to-table conversion."]
8871    pub async fn delete_with_options(
8872        &self,
8873        params: &DocListsDeleteBoundParams,
8874        options: InvokeOptions,
8875    ) -> Result<DocListsDeleteResult> {
8876        let params = serde_json::to_value(params)
8877            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8878        let result = self
8879            .invoker
8880            .invoke("doc.lists.delete", params, options)
8881            .await?;
8882        serde_json::from_value(result).map_err(|decode| {
8883            let mut error = Error::decode(decode);
8884            error.operation_id = Some("doc.lists.delete".into());
8885            error.outcome_unknown = true;
8886            self.invoker.handle_decode_error(error)
8887        })
8888    }
8889
8890    #[doc = "Remove numbering properties from list items, converting them to plain paragraphs."]
8891    pub fn detach<'call>(
8892        &'call self,
8893        params: &'call DocListsDetachBoundParams,
8894    ) -> impl std::future::Future<Output = Result<DocListsDetachResult>> + Send + 'call {
8895        self.detach_with_options(params, InvokeOptions::default())
8896    }
8897    #[doc = "Remove numbering properties from list items, converting them to plain paragraphs."]
8898    pub async fn detach_with_options(
8899        &self,
8900        params: &DocListsDetachBoundParams,
8901        options: InvokeOptions,
8902    ) -> Result<DocListsDetachResult> {
8903        let params = serde_json::to_value(params)
8904            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8905        let result = self
8906            .invoker
8907            .invoke("doc.lists.detach", params, options)
8908            .await?;
8909        serde_json::from_value(result).map_err(|decode| {
8910            let mut error = Error::decode(decode);
8911            error.operation_id = Some("doc.lists.detach".into());
8912            error.outcome_unknown = true;
8913            self.invoker.handle_decode_error(error)
8914        })
8915    }
8916
8917    #[doc = "Retrieve a specific list node by target."]
8918    pub fn get<'call>(
8919        &'call self,
8920        params: &'call DocListsGetBoundParams,
8921    ) -> impl std::future::Future<Output = Result<DocListsGetResult>> + Send + 'call {
8922        self.get_with_options(params, InvokeOptions::default())
8923    }
8924    #[doc = "Retrieve a specific list node by target."]
8925    pub async fn get_with_options(
8926        &self,
8927        params: &DocListsGetBoundParams,
8928        options: InvokeOptions,
8929    ) -> Result<DocListsGetResult> {
8930        let params = serde_json::to_value(params)
8931            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8932        let result = self
8933            .invoker
8934            .invoke("doc.lists.get", params, options)
8935            .await?;
8936        serde_json::from_value(result).map_err(|decode| {
8937            let mut error = Error::decode(decode);
8938            error.operation_id = Some("doc.lists.get".into());
8939            error.outcome_unknown = false;
8940            self.invoker.handle_decode_error(error)
8941        })
8942    }
8943
8944    #[doc = "Read the numbering-aware list state for a paragraph (numId, ilvl, abstract reference, level format). Returns null when the target is not a list item."]
8945    pub fn get_state<'call>(
8946        &'call self,
8947        params: &'call DocListsGetStateBoundParams,
8948    ) -> impl std::future::Future<Output = Result<DocListsGetStateResult>> + Send + 'call {
8949        self.get_state_with_options(params, InvokeOptions::default())
8950    }
8951    #[doc = "Read the numbering-aware list state for a paragraph (numId, ilvl, abstract reference, level format). Returns null when the target is not a list item."]
8952    pub async fn get_state_with_options(
8953        &self,
8954        params: &DocListsGetStateBoundParams,
8955        options: InvokeOptions,
8956    ) -> Result<DocListsGetStateResult> {
8957        let params = serde_json::to_value(params)
8958            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8959        let result = self
8960            .invoker
8961            .invoke("doc.lists.getState", params, options)
8962            .await?;
8963        serde_json::from_value(result).map_err(|decode| {
8964            let mut error = Error::decode(decode);
8965            error.operation_id = Some("doc.lists.getState".into());
8966            error.outcome_unknown = false;
8967            self.invoker.handle_decode_error(error)
8968        })
8969    }
8970
8971    #[doc = "Read the effective reusable style of a list, including instance-level overrides. Returns a ListStyle that can be applied to other lists via lists.applyStyle."]
8972    pub fn get_style<'call>(
8973        &'call self,
8974        params: &'call DocListsGetStyleBoundParams,
8975    ) -> impl std::future::Future<Output = Result<DocListsGetStyleResult>> + Send + 'call {
8976        self.get_style_with_options(params, InvokeOptions::default())
8977    }
8978    #[doc = "Read the effective reusable style of a list, including instance-level overrides. Returns a ListStyle that can be applied to other lists via lists.applyStyle."]
8979    pub async fn get_style_with_options(
8980        &self,
8981        params: &DocListsGetStyleBoundParams,
8982        options: InvokeOptions,
8983    ) -> Result<DocListsGetStyleResult> {
8984        let params = serde_json::to_value(params)
8985            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
8986        let result = self
8987            .invoker
8988            .invoke("doc.lists.getStyle", params, options)
8989            .await?;
8990        serde_json::from_value(result).map_err(|decode| {
8991            let mut error = Error::decode(decode);
8992            error.operation_id = Some("doc.lists.getStyle".into());
8993            error.outcome_unknown = false;
8994            self.invoker.handle_decode_error(error)
8995        })
8996    }
8997
8998    #[doc = "Increase the indentation level of a list item."]
8999    pub fn indent<'call>(
9000        &'call self,
9001        params: &'call DocListsIndentBoundParams,
9002    ) -> impl std::future::Future<Output = Result<DocListsIndentResult>> + Send + 'call {
9003        self.indent_with_options(params, InvokeOptions::default())
9004    }
9005    #[doc = "Increase the indentation level of a list item."]
9006    pub async fn indent_with_options(
9007        &self,
9008        params: &DocListsIndentBoundParams,
9009        options: InvokeOptions,
9010    ) -> Result<DocListsIndentResult> {
9011        let params = serde_json::to_value(params)
9012            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9013        let result = self
9014            .invoker
9015            .invoke("doc.lists.indent", params, options)
9016            .await?;
9017        serde_json::from_value(result).map_err(|decode| {
9018            let mut error = Error::decode(decode);
9019            error.operation_id = Some("doc.lists.indent".into());
9020            error.outcome_unknown = true;
9021            self.invoker.handle_decode_error(error)
9022        })
9023    }
9024
9025    #[doc = "Insert a new list item before or after an existing list item. The new item inherits the target list context. Optional inheritFrom selects a same-story list item for paragraph and run formatting without changing placement or numbering. When omitted, existing paragraph-creation formatting, including next-style handling, is preserved."]
9026    pub fn insert<'call>(
9027        &'call self,
9028        params: &'call DocListsInsertBoundParams,
9029    ) -> impl std::future::Future<Output = Result<DocListsInsertResult>> + Send + 'call {
9030        self.insert_with_options(params, InvokeOptions::default())
9031    }
9032    #[doc = "Insert a new list item before or after an existing list item. The new item inherits the target list context. Optional inheritFrom selects a same-story list item for paragraph and run formatting without changing placement or numbering. When omitted, existing paragraph-creation formatting, including next-style handling, is preserved."]
9033    pub async fn insert_with_options(
9034        &self,
9035        params: &DocListsInsertBoundParams,
9036        options: InvokeOptions,
9037    ) -> Result<DocListsInsertResult> {
9038        let params = serde_json::to_value(params)
9039            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9040        let result = self
9041            .invoker
9042            .invoke("doc.lists.insert", params, options)
9043            .await?;
9044        serde_json::from_value(result).map_err(|decode| {
9045            let mut error = Error::decode(decode);
9046            error.operation_id = Some("doc.lists.insert".into());
9047            error.outcome_unknown = true;
9048            self.invoker.handle_decode_error(error)
9049        })
9050    }
9051
9052    #[doc = "Merge two adjacent list sequences into one."]
9053    pub fn join<'call>(
9054        &'call self,
9055        params: &'call DocListsJoinBoundParams,
9056    ) -> impl std::future::Future<Output = Result<DocListsJoinResult>> + Send + 'call {
9057        self.join_with_options(params, InvokeOptions::default())
9058    }
9059    #[doc = "Merge two adjacent list sequences into one."]
9060    pub async fn join_with_options(
9061        &self,
9062        params: &DocListsJoinBoundParams,
9063        options: InvokeOptions,
9064    ) -> Result<DocListsJoinResult> {
9065        let params = serde_json::to_value(params)
9066            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9067        let result = self
9068            .invoker
9069            .invoke("doc.lists.join", params, options)
9070            .await?;
9071        serde_json::from_value(result).map_err(|decode| {
9072            let mut error = Error::decode(decode);
9073            error.operation_id = Some("doc.lists.join".into());
9074            error.outcome_unknown = true;
9075            self.invoker.handle_decode_error(error)
9076        })
9077    }
9078
9079    #[doc = "List all list nodes in the document, optionally filtered by scope."]
9080    pub fn list<'call>(
9081        &'call self,
9082        params: &'call DocListsListBoundParams,
9083    ) -> impl std::future::Future<Output = Result<DocListsListResult>> + Send + 'call {
9084        self.list_with_options(params, InvokeOptions::default())
9085    }
9086    #[doc = "List all list nodes in the document, optionally filtered by scope."]
9087    pub async fn list_with_options(
9088        &self,
9089        params: &DocListsListBoundParams,
9090        options: InvokeOptions,
9091    ) -> Result<DocListsListResult> {
9092        let params = serde_json::to_value(params)
9093            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9094        let result = self
9095            .invoker
9096            .invoke("doc.lists.list", params, options)
9097            .await?;
9098        serde_json::from_value(result).map_err(|decode| {
9099            let mut error = Error::decode(decode);
9100            error.operation_id = Some("doc.lists.list".into());
9101            error.outcome_unknown = false;
9102            self.invoker.handle_decode_error(error)
9103        })
9104    }
9105
9106    #[doc = "Compound: merge two adjacent list sequences into one. Reassigns numId on the absorbed sequence (no strict abstractNumId check: absorbed items adopt the absorbing definition) and deletes empty paragraphs between the two sequences. Use this instead of lists.join for the user-facing \"merge these lists\" intent."]
9107    pub fn merge<'call>(
9108        &'call self,
9109        params: &'call DocListsMergeBoundParams,
9110    ) -> impl std::future::Future<Output = Result<DocListsMergeResult>> + Send + 'call {
9111        self.merge_with_options(params, InvokeOptions::default())
9112    }
9113    #[doc = "Compound: merge two adjacent list sequences into one. Reassigns numId on the absorbed sequence (no strict abstractNumId check: absorbed items adopt the absorbing definition) and deletes empty paragraphs between the two sequences. Use this instead of lists.join for the user-facing \"merge these lists\" intent."]
9114    pub async fn merge_with_options(
9115        &self,
9116        params: &DocListsMergeBoundParams,
9117        options: InvokeOptions,
9118    ) -> Result<DocListsMergeResult> {
9119        let params = serde_json::to_value(params)
9120            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9121        let result = self
9122            .invoker
9123            .invoke("doc.lists.merge", params, options)
9124            .await?;
9125        serde_json::from_value(result).map_err(|decode| {
9126            let mut error = Error::decode(decode);
9127            error.operation_id = Some("doc.lists.merge".into());
9128            error.outcome_unknown = true;
9129            self.invoker.handle_decode_error(error)
9130        })
9131    }
9132
9133    #[doc = "Decrease the indentation level of a list item."]
9134    pub fn outdent<'call>(
9135        &'call self,
9136        params: &'call DocListsOutdentBoundParams,
9137    ) -> impl std::future::Future<Output = Result<DocListsOutdentResult>> + Send + 'call {
9138        self.outdent_with_options(params, InvokeOptions::default())
9139    }
9140    #[doc = "Decrease the indentation level of a list item."]
9141    pub async fn outdent_with_options(
9142        &self,
9143        params: &DocListsOutdentBoundParams,
9144        options: InvokeOptions,
9145    ) -> Result<DocListsOutdentResult> {
9146        let params = serde_json::to_value(params)
9147            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9148        let result = self
9149            .invoker
9150            .invoke("doc.lists.outdent", params, options)
9151            .await?;
9152        serde_json::from_value(result).map_err(|decode| {
9153            let mut error = Error::decode(decode);
9154            error.operation_id = Some("doc.lists.outdent".into());
9155            error.outcome_unknown = true;
9156            self.invoker.handle_decode_error(error)
9157        })
9158    }
9159
9160    #[doc = "Strip the `<w:numPr>` from a list-item paragraph. The numbering definition in `/word/numbering.xml` is intentionally NOT modified; orphan cleanup is handled by the export-side stripper."]
9161    pub fn remove<'call>(
9162        &'call self,
9163        params: &'call DocListsRemoveBoundParams,
9164    ) -> impl std::future::Future<Output = Result<DocListsRemoveResult>> + Send + 'call {
9165        self.remove_with_options(params, InvokeOptions::default())
9166    }
9167    #[doc = "Strip the `<w:numPr>` from a list-item paragraph. The numbering definition in `/word/numbering.xml` is intentionally NOT modified; orphan cleanup is handled by the export-side stripper."]
9168    pub async fn remove_with_options(
9169        &self,
9170        params: &DocListsRemoveBoundParams,
9171        options: InvokeOptions,
9172    ) -> Result<DocListsRemoveResult> {
9173        let params = serde_json::to_value(params)
9174            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9175        let result = self
9176            .invoker
9177            .invoke("doc.lists.remove", params, options)
9178            .await?;
9179        serde_json::from_value(result).map_err(|decode| {
9180            let mut error = Error::decode(decode);
9181            error.operation_id = Some("doc.lists.remove".into());
9182            error.outcome_unknown = true;
9183            self.invoker.handle_decode_error(error)
9184        })
9185    }
9186
9187    #[doc = "Restart numbering at a list item. Creates a new `<w:num>` that references the existing `<w:abstractNumId>` with a `<w:lvlOverride><w:startOverride/></w:lvlOverride>`. Distant paragraphs sharing the old numId are intentionally untouched."]
9188    pub fn restart<'call>(
9189        &'call self,
9190        params: &'call DocListsRestartBoundParams,
9191    ) -> impl std::future::Future<Output = Result<DocListsRestartResult>> + Send + 'call {
9192        self.restart_with_options(params, InvokeOptions::default())
9193    }
9194    #[doc = "Restart numbering at a list item. Creates a new `<w:num>` that references the existing `<w:abstractNumId>` with a `<w:lvlOverride><w:startOverride/></w:lvlOverride>`. Distant paragraphs sharing the old numId are intentionally untouched."]
9195    pub async fn restart_with_options(
9196        &self,
9197        params: &DocListsRestartBoundParams,
9198        options: InvokeOptions,
9199    ) -> Result<DocListsRestartResult> {
9200        let params = serde_json::to_value(params)
9201            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9202        let result = self
9203            .invoker
9204            .invoke("doc.lists.restart", params, options)
9205            .await?;
9206        serde_json::from_value(result).map_err(|decode| {
9207            let mut error = Error::decode(decode);
9208            error.operation_id = Some("doc.lists.restart".into());
9209            error.outcome_unknown = true;
9210            self.invoker.handle_decode_error(error)
9211        })
9212    }
9213
9214    #[doc = "Restart numbering at the target list item with a specific value. If the item is mid-sequence, it is separated first."]
9215    pub fn restart_at<'call>(
9216        &'call self,
9217        params: &'call DocListsRestartAtBoundParams,
9218    ) -> impl std::future::Future<Output = Result<DocListsRestartAtResult>> + Send + 'call {
9219        self.restart_at_with_options(params, InvokeOptions::default())
9220    }
9221    #[doc = "Restart numbering at the target list item with a specific value. If the item is mid-sequence, it is separated first."]
9222    pub async fn restart_at_with_options(
9223        &self,
9224        params: &DocListsRestartAtBoundParams,
9225        options: InvokeOptions,
9226    ) -> Result<DocListsRestartAtResult> {
9227        let params = serde_json::to_value(params)
9228            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9229        let result = self
9230            .invoker
9231            .invoke("doc.lists.restartAt", params, options)
9232            .await?;
9233        serde_json::from_value(result).map_err(|decode| {
9234            let mut error = Error::decode(decode);
9235            error.operation_id = Some("doc.lists.restartAt".into());
9236            error.outcome_unknown = true;
9237            self.invoker.handle_decode_error(error)
9238        })
9239    }
9240
9241    #[doc = "Split a list sequence at the target item, creating a new sequence from that point forward."]
9242    pub fn separate<'call>(
9243        &'call self,
9244        params: &'call DocListsSeparateBoundParams,
9245    ) -> impl std::future::Future<Output = Result<DocListsSeparateResult>> + Send + 'call {
9246        self.separate_with_options(params, InvokeOptions::default())
9247    }
9248    #[doc = "Split a list sequence at the target item, creating a new sequence from that point forward."]
9249    pub async fn separate_with_options(
9250        &self,
9251        params: &DocListsSeparateBoundParams,
9252        options: InvokeOptions,
9253    ) -> Result<DocListsSeparateResult> {
9254        let params = serde_json::to_value(params)
9255            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9256        let result = self
9257            .invoker
9258            .invoke("doc.lists.separate", params, options)
9259            .await?;
9260        serde_json::from_value(result).map_err(|decode| {
9261            let mut error = Error::decode(decode);
9262            error.operation_id = Some("doc.lists.separate".into());
9263            error.outcome_unknown = true;
9264            self.invoker.handle_decode_error(error)
9265        })
9266    }
9267
9268    #[doc = "Set the absolute nesting level (0..8) of a list item."]
9269    pub fn set_level<'call>(
9270        &'call self,
9271        params: &'call DocListsSetLevelBoundParams,
9272    ) -> impl std::future::Future<Output = Result<DocListsSetLevelResult>> + Send + 'call {
9273        self.set_level_with_options(params, InvokeOptions::default())
9274    }
9275    #[doc = "Set the absolute nesting level (0..8) of a list item."]
9276    pub async fn set_level_with_options(
9277        &self,
9278        params: &DocListsSetLevelBoundParams,
9279        options: InvokeOptions,
9280    ) -> Result<DocListsSetLevelResult> {
9281        let params = serde_json::to_value(params)
9282            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9283        let result = self
9284            .invoker
9285            .invoke("doc.lists.setLevel", params, options)
9286            .await?;
9287        serde_json::from_value(result).map_err(|decode| {
9288            let mut error = Error::decode(decode);
9289            error.operation_id = Some("doc.lists.setLevel".into());
9290            error.outcome_unknown = true;
9291            self.invoker.handle_decode_error(error)
9292        })
9293    }
9294
9295    #[doc = "Set the marker alignment (left, center, right) for a specific list level."]
9296    pub fn set_level_alignment<'call>(
9297        &'call self,
9298        params: &'call DocListsSetLevelAlignmentBoundParams,
9299    ) -> impl std::future::Future<Output = Result<DocListsSetLevelAlignmentResult>> + Send + 'call
9300    {
9301        self.set_level_alignment_with_options(params, InvokeOptions::default())
9302    }
9303    #[doc = "Set the marker alignment (left, center, right) for a specific list level."]
9304    pub async fn set_level_alignment_with_options(
9305        &self,
9306        params: &DocListsSetLevelAlignmentBoundParams,
9307        options: InvokeOptions,
9308    ) -> Result<DocListsSetLevelAlignmentResult> {
9309        let params = serde_json::to_value(params)
9310            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9311        let result = self
9312            .invoker
9313            .invoke("doc.lists.setLevelAlignment", params, options)
9314            .await?;
9315        serde_json::from_value(result).map_err(|decode| {
9316            let mut error = Error::decode(decode);
9317            error.operation_id = Some("doc.lists.setLevelAlignment".into());
9318            error.outcome_unknown = true;
9319            self.invoker.handle_decode_error(error)
9320        })
9321    }
9322
9323    #[doc = "Set the bullet marker text for a specific list level."]
9324    pub fn set_level_bullet<'call>(
9325        &'call self,
9326        params: &'call DocListsSetLevelBulletBoundParams,
9327    ) -> impl std::future::Future<Output = Result<DocListsSetLevelBulletResult>> + Send + 'call
9328    {
9329        self.set_level_bullet_with_options(params, InvokeOptions::default())
9330    }
9331    #[doc = "Set the bullet marker text for a specific list level."]
9332    pub async fn set_level_bullet_with_options(
9333        &self,
9334        params: &DocListsSetLevelBulletBoundParams,
9335        options: InvokeOptions,
9336    ) -> Result<DocListsSetLevelBulletResult> {
9337        let params = serde_json::to_value(params)
9338            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9339        let result = self
9340            .invoker
9341            .invoke("doc.lists.setLevelBullet", params, options)
9342            .await?;
9343        serde_json::from_value(result).map_err(|decode| {
9344            let mut error = Error::decode(decode);
9345            error.operation_id = Some("doc.lists.setLevelBullet".into());
9346            error.outcome_unknown = true;
9347            self.invoker.handle_decode_error(error)
9348        })
9349    }
9350
9351    #[doc = "Set the paragraph indentation values (left, hanging, firstLine) for a specific list level."]
9352    pub fn set_level_indents<'call>(
9353        &'call self,
9354        params: &'call DocListsSetLevelIndentsBoundParams,
9355    ) -> impl std::future::Future<Output = Result<DocListsSetLevelIndentsResult>> + Send + 'call
9356    {
9357        self.set_level_indents_with_options(params, InvokeOptions::default())
9358    }
9359    #[doc = "Set the paragraph indentation values (left, hanging, firstLine) for a specific list level."]
9360    pub async fn set_level_indents_with_options(
9361        &self,
9362        params: &DocListsSetLevelIndentsBoundParams,
9363        options: InvokeOptions,
9364    ) -> Result<DocListsSetLevelIndentsResult> {
9365        let params = serde_json::to_value(params)
9366            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9367        let result = self
9368            .invoker
9369            .invoke("doc.lists.setLevelIndents", params, options)
9370            .await?;
9371        serde_json::from_value(result).map_err(|decode| {
9372            let mut error = Error::decode(decode);
9373            error.operation_id = Some("doc.lists.setLevelIndents".into());
9374            error.outcome_unknown = true;
9375            self.invoker.handle_decode_error(error)
9376        })
9377    }
9378
9379    #[doc = "Set the layout properties (alignment, indentation, trailing character, tab stop) for a specific list level. Accepts partial updates: omitted fields are left unchanged. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9380    pub fn set_level_layout<'call>(
9381        &'call self,
9382        params: &'call DocListsSetLevelLayoutBoundParams,
9383    ) -> impl std::future::Future<Output = Result<DocListsSetLevelLayoutResult>> + Send + 'call
9384    {
9385        self.set_level_layout_with_options(params, InvokeOptions::default())
9386    }
9387    #[doc = "Set the layout properties (alignment, indentation, trailing character, tab stop) for a specific list level. Accepts partial updates: omitted fields are left unchanged. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9388    pub async fn set_level_layout_with_options(
9389        &self,
9390        params: &DocListsSetLevelLayoutBoundParams,
9391        options: InvokeOptions,
9392    ) -> Result<DocListsSetLevelLayoutResult> {
9393        let params = serde_json::to_value(params)
9394            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9395        let result = self
9396            .invoker
9397            .invoke("doc.lists.setLevelLayout", params, options)
9398            .await?;
9399        serde_json::from_value(result).map_err(|decode| {
9400            let mut error = Error::decode(decode);
9401            error.operation_id = Some("doc.lists.setLevelLayout".into());
9402            error.outcome_unknown = true;
9403            self.invoker.handle_decode_error(error)
9404        })
9405    }
9406
9407    #[doc = "Set the font family used for the marker character at a specific list level."]
9408    pub fn set_level_marker_font<'call>(
9409        &'call self,
9410        params: &'call DocListsSetLevelMarkerFontBoundParams,
9411    ) -> impl std::future::Future<Output = Result<DocListsSetLevelMarkerFontResult>> + Send + 'call
9412    {
9413        self.set_level_marker_font_with_options(params, InvokeOptions::default())
9414    }
9415    #[doc = "Set the font family used for the marker character at a specific list level."]
9416    pub async fn set_level_marker_font_with_options(
9417        &self,
9418        params: &DocListsSetLevelMarkerFontBoundParams,
9419        options: InvokeOptions,
9420    ) -> Result<DocListsSetLevelMarkerFontResult> {
9421        let params = serde_json::to_value(params)
9422            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9423        let result = self
9424            .invoker
9425            .invoke("doc.lists.setLevelMarkerFont", params, options)
9426            .await?;
9427        serde_json::from_value(result).map_err(|decode| {
9428            let mut error = Error::decode(decode);
9429            error.operation_id = Some("doc.lists.setLevelMarkerFont".into());
9430            error.outcome_unknown = true;
9431            self.invoker.handle_decode_error(error)
9432        })
9433    }
9434
9435    #[doc = "Advanced alias for lists.setLevelNumberStyle/setLevelText/setLevelStart. Set format, pattern, start, and legal numbering in one call (abstract-scoped, no clone-on-write)."]
9436    pub fn set_level_numbering<'call>(
9437        &'call self,
9438        params: &'call DocListsSetLevelNumberingBoundParams,
9439    ) -> impl std::future::Future<Output = Result<DocListsSetLevelNumberingResult>> + Send + 'call
9440    {
9441        self.set_level_numbering_with_options(params, InvokeOptions::default())
9442    }
9443    #[doc = "Advanced alias for lists.setLevelNumberStyle/setLevelText/setLevelStart. Set format, pattern, start, and legal numbering in one call (abstract-scoped, no clone-on-write)."]
9444    pub async fn set_level_numbering_with_options(
9445        &self,
9446        params: &DocListsSetLevelNumberingBoundParams,
9447        options: InvokeOptions,
9448    ) -> Result<DocListsSetLevelNumberingResult> {
9449        let params = serde_json::to_value(params)
9450            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9451        let result = self
9452            .invoker
9453            .invoke("doc.lists.setLevelNumbering", params, options)
9454            .await?;
9455        serde_json::from_value(result).map_err(|decode| {
9456            let mut error = Error::decode(decode);
9457            error.operation_id = Some("doc.lists.setLevelNumbering".into());
9458            error.outcome_unknown = true;
9459            self.invoker.handle_decode_error(error)
9460        })
9461    }
9462
9463    #[doc = "Set the numbering style (e.g. decimal, lowerLetter, upperRoman) for a specific list level. Rejects \"bullet\": use setLevelBullet instead. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE for numberInDash and inherited, mixed-counter, or nested-restart continuations whose numbering cannot be preserved."]
9464    pub fn set_level_number_style<'call>(
9465        &'call self,
9466        params: &'call DocListsSetLevelNumberStyleBoundParams,
9467    ) -> impl std::future::Future<Output = Result<DocListsSetLevelNumberStyleResult>> + Send + 'call
9468    {
9469        self.set_level_number_style_with_options(params, InvokeOptions::default())
9470    }
9471    #[doc = "Set the numbering style (e.g. decimal, lowerLetter, upperRoman) for a specific list level. Rejects \"bullet\": use setLevelBullet instead. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE for numberInDash and inherited, mixed-counter, or nested-restart continuations whose numbering cannot be preserved."]
9472    pub async fn set_level_number_style_with_options(
9473        &self,
9474        params: &DocListsSetLevelNumberStyleBoundParams,
9475        options: InvokeOptions,
9476    ) -> Result<DocListsSetLevelNumberStyleResult> {
9477        let params = serde_json::to_value(params)
9478            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9479        let result = self
9480            .invoker
9481            .invoke("doc.lists.setLevelNumberStyle", params, options)
9482            .await?;
9483        serde_json::from_value(result).map_err(|decode| {
9484            let mut error = Error::decode(decode);
9485            error.operation_id = Some("doc.lists.setLevelNumberStyle".into());
9486            error.outcome_unknown = true;
9487            self.invoker.handle_decode_error(error)
9488        })
9489    }
9490
9491    #[doc = "Set a picture bullet for a specific list level by its OOXML lvlPicBulletId."]
9492    pub fn set_level_picture_bullet<'call>(
9493        &'call self,
9494        params: &'call DocListsSetLevelPictureBulletBoundParams,
9495    ) -> impl std::future::Future<Output = Result<DocListsSetLevelPictureBulletResult>> + Send + 'call
9496    {
9497        self.set_level_picture_bullet_with_options(params, InvokeOptions::default())
9498    }
9499    #[doc = "Set a picture bullet for a specific list level by its OOXML lvlPicBulletId."]
9500    pub async fn set_level_picture_bullet_with_options(
9501        &self,
9502        params: &DocListsSetLevelPictureBulletBoundParams,
9503        options: InvokeOptions,
9504    ) -> Result<DocListsSetLevelPictureBulletResult> {
9505        let params = serde_json::to_value(params)
9506            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9507        let result = self
9508            .invoker
9509            .invoke("doc.lists.setLevelPictureBullet", params, options)
9510            .await?;
9511        serde_json::from_value(result).map_err(|decode| {
9512            let mut error = Error::decode(decode);
9513            error.operation_id = Some("doc.lists.setLevelPictureBullet".into());
9514            error.outcome_unknown = true;
9515            self.invoker.handle_decode_error(error)
9516        })
9517    }
9518
9519    #[doc = "Set the restart behavior for a specific list level."]
9520    pub fn set_level_restart<'call>(
9521        &'call self,
9522        params: &'call DocListsSetLevelRestartBoundParams,
9523    ) -> impl std::future::Future<Output = Result<DocListsSetLevelRestartResult>> + Send + 'call
9524    {
9525        self.set_level_restart_with_options(params, InvokeOptions::default())
9526    }
9527    #[doc = "Set the restart behavior for a specific list level."]
9528    pub async fn set_level_restart_with_options(
9529        &self,
9530        params: &DocListsSetLevelRestartBoundParams,
9531        options: InvokeOptions,
9532    ) -> Result<DocListsSetLevelRestartResult> {
9533        let params = serde_json::to_value(params)
9534            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9535        let result = self
9536            .invoker
9537            .invoke("doc.lists.setLevelRestart", params, options)
9538            .await?;
9539        serde_json::from_value(result).map_err(|decode| {
9540            let mut error = Error::decode(decode);
9541            error.operation_id = Some("doc.lists.setLevelRestart".into());
9542            error.outcome_unknown = true;
9543            self.invoker.handle_decode_error(error)
9544        })
9545    }
9546
9547    #[doc = "Set the start value for a specific list level. Rejects bullet levels and non-positive values. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9548    pub fn set_level_start<'call>(
9549        &'call self,
9550        params: &'call DocListsSetLevelStartBoundParams,
9551    ) -> impl std::future::Future<Output = Result<DocListsSetLevelStartResult>> + Send + 'call {
9552        self.set_level_start_with_options(params, InvokeOptions::default())
9553    }
9554    #[doc = "Set the start value for a specific list level. Rejects bullet levels and non-positive values. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9555    pub async fn set_level_start_with_options(
9556        &self,
9557        params: &DocListsSetLevelStartBoundParams,
9558        options: InvokeOptions,
9559    ) -> Result<DocListsSetLevelStartResult> {
9560        let params = serde_json::to_value(params)
9561            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9562        let result = self
9563            .invoker
9564            .invoke("doc.lists.setLevelStart", params, options)
9565            .await?;
9566        serde_json::from_value(result).map_err(|decode| {
9567            let mut error = Error::decode(decode);
9568            error.operation_id = Some("doc.lists.setLevelStart".into());
9569            error.outcome_unknown = true;
9570            self.invoker.handle_decode_error(error)
9571        })
9572    }
9573
9574    #[doc = "Set the level text pattern (e.g. \"%1.\", \"(%1)\") for a specific list level. Uses OOXML level-placeholder syntax. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9575    pub fn set_level_text<'call>(
9576        &'call self,
9577        params: &'call DocListsSetLevelTextBoundParams,
9578    ) -> impl std::future::Future<Output = Result<DocListsSetLevelTextResult>> + Send + 'call {
9579        self.set_level_text_with_options(params, InvokeOptions::default())
9580    }
9581    #[doc = "Set the level text pattern (e.g. \"%1.\", \"(%1)\") for a specific list level. Uses OOXML level-placeholder syntax. Sequence-local: preserves other sequences and levels. V2 returns CAPABILITY_UNAVAILABLE when existing numbering cannot be preserved."]
9582    pub async fn set_level_text_with_options(
9583        &self,
9584        params: &DocListsSetLevelTextBoundParams,
9585        options: InvokeOptions,
9586    ) -> Result<DocListsSetLevelTextResult> {
9587        let params = serde_json::to_value(params)
9588            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9589        let result = self
9590            .invoker
9591            .invoke("doc.lists.setLevelText", params, options)
9592            .await?;
9593        serde_json::from_value(result).map_err(|decode| {
9594            let mut error = Error::decode(decode);
9595            error.operation_id = Some("doc.lists.setLevelText".into());
9596            error.outcome_unknown = true;
9597            self.invoker.handle_decode_error(error)
9598        })
9599    }
9600
9601    #[doc = "Set the trailing character (tab, space, nothing) after the marker for a specific list level."]
9602    pub fn set_level_trailing_character<'call>(
9603        &'call self,
9604        params: &'call DocListsSetLevelTrailingCharacterBoundParams,
9605    ) -> impl std::future::Future<Output = Result<DocListsSetLevelTrailingCharacterResult>> + Send + 'call
9606    {
9607        self.set_level_trailing_character_with_options(params, InvokeOptions::default())
9608    }
9609    #[doc = "Set the trailing character (tab, space, nothing) after the marker for a specific list level."]
9610    pub async fn set_level_trailing_character_with_options(
9611        &self,
9612        params: &DocListsSetLevelTrailingCharacterBoundParams,
9613        options: InvokeOptions,
9614    ) -> Result<DocListsSetLevelTrailingCharacterResult> {
9615        let params = serde_json::to_value(params)
9616            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9617        let result = self
9618            .invoker
9619            .invoke("doc.lists.setLevelTrailingCharacter", params, options)
9620            .await?;
9621        serde_json::from_value(result).map_err(|decode| {
9622            let mut error = Error::decode(decode);
9623            error.operation_id = Some("doc.lists.setLevelTrailingCharacter".into());
9624            error.outcome_unknown = true;
9625            self.invoker.handle_decode_error(error)
9626        })
9627    }
9628
9629    #[doc = "Convert a list to ordered or bullet and merge adjacent compatible sequences to preserve continuous numbering."]
9630    pub fn set_type<'call>(
9631        &'call self,
9632        params: &'call DocListsSetTypeBoundParams,
9633    ) -> impl std::future::Future<Output = Result<DocListsSetTypeResult>> + Send + 'call {
9634        self.set_type_with_options(params, InvokeOptions::default())
9635    }
9636    #[doc = "Convert a list to ordered or bullet and merge adjacent compatible sequences to preserve continuous numbering."]
9637    pub async fn set_type_with_options(
9638        &self,
9639        params: &DocListsSetTypeBoundParams,
9640        options: InvokeOptions,
9641    ) -> Result<DocListsSetTypeResult> {
9642        let params = serde_json::to_value(params)
9643            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9644        let result = self
9645            .invoker
9646            .invoke("doc.lists.setType", params, options)
9647            .await?;
9648        serde_json::from_value(result).map_err(|decode| {
9649            let mut error = Error::decode(decode);
9650            error.operation_id = Some("doc.lists.setType".into());
9651            error.outcome_unknown = true;
9652            self.invoker.handle_decode_error(error)
9653        })
9654    }
9655
9656    #[doc = "Set an explicit numbering value at the target item. Mid-sequence targets are atomically separated first."]
9657    pub fn set_value<'call>(
9658        &'call self,
9659        params: &'call DocListsSetValueBoundParams,
9660    ) -> impl std::future::Future<Output = Result<DocListsSetValueResult>> + Send + 'call {
9661        self.set_value_with_options(params, InvokeOptions::default())
9662    }
9663    #[doc = "Set an explicit numbering value at the target item. Mid-sequence targets are atomically separated first."]
9664    pub async fn set_value_with_options(
9665        &self,
9666        params: &DocListsSetValueBoundParams,
9667        options: InvokeOptions,
9668    ) -> Result<DocListsSetValueResult> {
9669        let params = serde_json::to_value(params)
9670            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9671        let result = self
9672            .invoker
9673            .invoke("doc.lists.setValue", params, options)
9674            .await?;
9675        serde_json::from_value(result).map_err(|decode| {
9676            let mut error = Error::decode(decode);
9677            error.operation_id = Some("doc.lists.setValue".into());
9678            error.outcome_unknown = true;
9679            self.invoker.handle_decode_error(error)
9680        })
9681    }
9682
9683    #[doc = "Compound: split a list sequence at the target item into two independent sequences. Runs lists.separate then (by default) lists.setValue(1) so the new half starts numbering fresh at 1. Pass restartNumbering:false for raw separate semantics (new half continues the previous count)."]
9684    pub fn split<'call>(
9685        &'call self,
9686        params: &'call DocListsSplitBoundParams,
9687    ) -> impl std::future::Future<Output = Result<DocListsSplitResult>> + Send + 'call {
9688        self.split_with_options(params, InvokeOptions::default())
9689    }
9690    #[doc = "Compound: split a list sequence at the target item into two independent sequences. Runs lists.separate then (by default) lists.setValue(1) so the new half starts numbering fresh at 1. Pass restartNumbering:false for raw separate semantics (new half continues the previous count)."]
9691    pub async fn split_with_options(
9692        &self,
9693        params: &DocListsSplitBoundParams,
9694        options: InvokeOptions,
9695    ) -> Result<DocListsSplitResult> {
9696        let params = serde_json::to_value(params)
9697            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9698        let result = self
9699            .invoker
9700            .invoke("doc.lists.split", params, options)
9701            .await?;
9702        serde_json::from_value(result).map_err(|decode| {
9703            let mut error = Error::decode(decode);
9704            error.operation_id = Some("doc.lists.split".into());
9705            error.outcome_unknown = true;
9706            self.invoker.handle_decode_error(error)
9707        })
9708    }
9709}
9710
9711pub struct DocApiMetadata<'a, I: Invoker> {
9712    invoker: &'a I,
9713}
9714impl<'a, I: Invoker> DocApiMetadata<'a, I> {
9715    pub fn new(invoker: &'a I) -> Self {
9716        Self { invoker }
9717    }
9718
9719    #[doc = "Anchor a JSON metadata payload to a span of text. Wraps the target range in a hidden inline content control whose w:tag carries a stable id, and stores the payload in a namespaced Custom XML Data Storage Part. v1 supports text-range anchors only."]
9720    pub fn attach<'call>(
9721        &'call self,
9722        params: &'call DocMetadataAttachBoundParams,
9723    ) -> impl std::future::Future<Output = Result<DocMetadataAttachResult>> + Send + 'call {
9724        self.attach_with_options(params, InvokeOptions::default())
9725    }
9726    #[doc = "Anchor a JSON metadata payload to a span of text. Wraps the target range in a hidden inline content control whose w:tag carries a stable id, and stores the payload in a namespaced Custom XML Data Storage Part. v1 supports text-range anchors only."]
9727    pub async fn attach_with_options(
9728        &self,
9729        params: &DocMetadataAttachBoundParams,
9730        options: InvokeOptions,
9731    ) -> Result<DocMetadataAttachResult> {
9732        let params = serde_json::to_value(params)
9733            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9734        let result = self
9735            .invoker
9736            .invoke("doc.metadata.attach", params, options)
9737            .await?;
9738        serde_json::from_value(result).map_err(|decode| {
9739            let mut error = Error::decode(decode);
9740            error.operation_id = Some("doc.metadata.attach".into());
9741            error.outcome_unknown = true;
9742            self.invoker.handle_decode_error(error)
9743        })
9744    }
9745
9746    #[doc = "Get a single anchored-metadata entry by id, including its JSON payload."]
9747    pub fn get<'call>(
9748        &'call self,
9749        params: &'call DocMetadataGetBoundParams,
9750    ) -> impl std::future::Future<Output = Result<DocMetadataGetResult>> + Send + 'call {
9751        self.get_with_options(params, InvokeOptions::default())
9752    }
9753    #[doc = "Get a single anchored-metadata entry by id, including its JSON payload."]
9754    pub async fn get_with_options(
9755        &self,
9756        params: &DocMetadataGetBoundParams,
9757        options: InvokeOptions,
9758    ) -> Result<DocMetadataGetResult> {
9759        let params = serde_json::to_value(params)
9760            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9761        let result = self
9762            .invoker
9763            .invoke("doc.metadata.get", params, options)
9764            .await?;
9765        serde_json::from_value(result).map_err(|decode| {
9766            let mut error = Error::decode(decode);
9767            error.operation_id = Some("doc.metadata.get".into());
9768            error.outcome_unknown = false;
9769            self.invoker.handle_decode_error(error)
9770        })
9771    }
9772
9773    #[doc = "List anchored-metadata entries in the document, optionally filtered by consumer namespace and/or a `within` selection (returns only entries whose anchor overlaps `within`)."]
9774    pub fn list<'call>(
9775        &'call self,
9776        params: &'call DocMetadataListBoundParams,
9777    ) -> impl std::future::Future<Output = Result<DocMetadataListResult>> + Send + 'call {
9778        self.list_with_options(params, InvokeOptions::default())
9779    }
9780    #[doc = "List anchored-metadata entries in the document, optionally filtered by consumer namespace and/or a `within` selection (returns only entries whose anchor overlaps `within`)."]
9781    pub async fn list_with_options(
9782        &self,
9783        params: &DocMetadataListBoundParams,
9784        options: InvokeOptions,
9785    ) -> Result<DocMetadataListResult> {
9786        let params = serde_json::to_value(params)
9787            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9788        let result = self
9789            .invoker
9790            .invoke("doc.metadata.list", params, options)
9791            .await?;
9792        serde_json::from_value(result).map_err(|decode| {
9793            let mut error = Error::decode(decode);
9794            error.operation_id = Some("doc.metadata.list".into());
9795            error.outcome_unknown = false;
9796            self.invoker.handle_decode_error(error)
9797        })
9798    }
9799
9800    #[doc = "Remove an anchored-metadata entry. Strips the anchor content-control wrapper (its content stays in the document) and deletes the payload entry from the Storage Part. In v1 these writes are sequenced, not transactional: the adapter resolves the target up-front so missing-target failures land before any state change, but a crash strictly between the two writes can leave a dangling payload. When the backing part has no remaining entries, the part itself is removed."]
9801    pub fn remove<'call>(
9802        &'call self,
9803        params: &'call DocMetadataRemoveBoundParams,
9804    ) -> impl std::future::Future<Output = Result<DocMetadataRemoveResult>> + Send + 'call {
9805        self.remove_with_options(params, InvokeOptions::default())
9806    }
9807    #[doc = "Remove an anchored-metadata entry. Strips the anchor content-control wrapper (its content stays in the document) and deletes the payload entry from the Storage Part. In v1 these writes are sequenced, not transactional: the adapter resolves the target up-front so missing-target failures land before any state change, but a crash strictly between the two writes can leave a dangling payload. When the backing part has no remaining entries, the part itself is removed."]
9808    pub async fn remove_with_options(
9809        &self,
9810        params: &DocMetadataRemoveBoundParams,
9811        options: InvokeOptions,
9812    ) -> Result<DocMetadataRemoveResult> {
9813        let params = serde_json::to_value(params)
9814            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9815        let result = self
9816            .invoker
9817            .invoke("doc.metadata.remove", params, options)
9818            .await?;
9819        serde_json::from_value(result).map_err(|decode| {
9820            let mut error = Error::decode(decode);
9821            error.operation_id = Some("doc.metadata.remove".into());
9822            error.outcome_unknown = true;
9823            self.invoker.handle_decode_error(error)
9824        })
9825    }
9826
9827    #[doc = "Find where an anchored-metadata entry is anchored in the document. Returns the SelectionTarget covering the anchor content."]
9828    pub fn resolve<'call>(
9829        &'call self,
9830        params: &'call DocMetadataResolveBoundParams,
9831    ) -> impl std::future::Future<Output = Result<DocMetadataResolveResult>> + Send + 'call {
9832        self.resolve_with_options(params, InvokeOptions::default())
9833    }
9834    #[doc = "Find where an anchored-metadata entry is anchored in the document. Returns the SelectionTarget covering the anchor content."]
9835    pub async fn resolve_with_options(
9836        &self,
9837        params: &DocMetadataResolveBoundParams,
9838        options: InvokeOptions,
9839    ) -> Result<DocMetadataResolveResult> {
9840        let params = serde_json::to_value(params)
9841            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9842        let result = self
9843            .invoker
9844            .invoke("doc.metadata.resolve", params, options)
9845            .await?;
9846        serde_json::from_value(result).map_err(|decode| {
9847            let mut error = Error::decode(decode);
9848            error.operation_id = Some("doc.metadata.resolve".into());
9849            error.outcome_unknown = false;
9850            self.invoker.handle_decode_error(error)
9851        })
9852    }
9853
9854    #[doc = "Replace the JSON payload of an existing anchored-metadata entry. Replace semantics; no merge. The anchor is left untouched."]
9855    pub fn update<'call>(
9856        &'call self,
9857        params: &'call DocMetadataUpdateBoundParams,
9858    ) -> impl std::future::Future<Output = Result<DocMetadataUpdateResult>> + Send + 'call {
9859        self.update_with_options(params, InvokeOptions::default())
9860    }
9861    #[doc = "Replace the JSON payload of an existing anchored-metadata entry. Replace semantics; no merge. The anchor is left untouched."]
9862    pub async fn update_with_options(
9863        &self,
9864        params: &DocMetadataUpdateBoundParams,
9865        options: InvokeOptions,
9866    ) -> Result<DocMetadataUpdateResult> {
9867        let params = serde_json::to_value(params)
9868            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9869        let result = self
9870            .invoker
9871            .invoke("doc.metadata.update", params, options)
9872            .await?;
9873        serde_json::from_value(result).map_err(|decode| {
9874            let mut error = Error::decode(decode);
9875            error.operation_id = Some("doc.metadata.update".into());
9876            error.outcome_unknown = true;
9877            self.invoker.handle_decode_error(error)
9878        })
9879    }
9880}
9881
9882pub struct DocApiMutations<'a, I: Invoker> {
9883    invoker: &'a I,
9884}
9885impl<'a, I: Invoker> DocApiMutations<'a, I> {
9886    pub fn new(invoker: &'a I) -> Self {
9887        Self { invoker }
9888    }
9889
9890    #[doc = "Execute a mutation plan atomically against the document."]
9891    pub fn apply<'call>(
9892        &'call self,
9893        params: &'call DocMutationsApplyBoundParams,
9894    ) -> impl std::future::Future<Output = Result<DocMutationsApplyResult>> + Send + 'call {
9895        self.apply_with_options(params, InvokeOptions::default())
9896    }
9897    #[doc = "Execute a mutation plan atomically against the document."]
9898    pub async fn apply_with_options(
9899        &self,
9900        params: &DocMutationsApplyBoundParams,
9901        options: InvokeOptions,
9902    ) -> Result<DocMutationsApplyResult> {
9903        let params = serde_json::to_value(params)
9904            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9905        let result = self
9906            .invoker
9907            .invoke("doc.mutations.apply", params, options)
9908            .await?;
9909        serde_json::from_value(result).map_err(|decode| {
9910            let mut error = Error::decode(decode);
9911            error.operation_id = Some("doc.mutations.apply".into());
9912            error.outcome_unknown = true;
9913            self.invoker.handle_decode_error(error)
9914        })
9915    }
9916
9917    #[doc = "Apply temporary text and review operations without changing undo history."]
9918    pub fn begin_temporary<'call>(
9919        &'call self,
9920        params: &'call DocMutationsBeginTemporaryBoundParams,
9921    ) -> impl std::future::Future<Output = Result<DocMutationsBeginTemporaryResult>> + Send + 'call
9922    {
9923        self.begin_temporary_with_options(params, InvokeOptions::default())
9924    }
9925    #[doc = "Apply temporary text and review operations without changing undo history."]
9926    pub async fn begin_temporary_with_options(
9927        &self,
9928        params: &DocMutationsBeginTemporaryBoundParams,
9929        options: InvokeOptions,
9930    ) -> Result<DocMutationsBeginTemporaryResult> {
9931        let params = serde_json::to_value(params)
9932            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9933        let result = self
9934            .invoker
9935            .invoke("doc.mutations.beginTemporary", params, options)
9936            .await?;
9937        serde_json::from_value(result).map_err(|decode| {
9938            let mut error = Error::decode(decode);
9939            error.operation_id = Some("doc.mutations.beginTemporary".into());
9940            error.outcome_unknown = true;
9941            self.invoker.handle_decode_error(error)
9942        })
9943    }
9944
9945    #[doc = "Commit the visible temporary preview as one undo entry, optionally applying final operations atomically."]
9946    pub fn commit_temporary<'call>(
9947        &'call self,
9948        params: &'call DocMutationsCommitTemporaryBoundParams,
9949    ) -> impl std::future::Future<Output = Result<DocMutationsCommitTemporaryResult>> + Send + 'call
9950    {
9951        self.commit_temporary_with_options(params, InvokeOptions::default())
9952    }
9953    #[doc = "Commit the visible temporary preview as one undo entry, optionally applying final operations atomically."]
9954    pub async fn commit_temporary_with_options(
9955        &self,
9956        params: &DocMutationsCommitTemporaryBoundParams,
9957        options: InvokeOptions,
9958    ) -> Result<DocMutationsCommitTemporaryResult> {
9959        let params = serde_json::to_value(params)
9960            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9961        let result = self
9962            .invoker
9963            .invoke("doc.mutations.commitTemporary", params, options)
9964            .await?;
9965        serde_json::from_value(result).map_err(|decode| {
9966            let mut error = Error::decode(decode);
9967            error.operation_id = Some("doc.mutations.commitTemporary".into());
9968            error.outcome_unknown = true;
9969            self.invoker.handle_decode_error(error)
9970        })
9971    }
9972
9973    #[doc = "Dry-run a mutation plan, returning resolved targets without applying changes."]
9974    pub fn preview<'call>(
9975        &'call self,
9976        params: &'call DocMutationsPreviewBoundParams,
9977    ) -> impl std::future::Future<Output = Result<DocMutationsPreviewResult>> + Send + 'call {
9978        self.preview_with_options(params, InvokeOptions::default())
9979    }
9980    #[doc = "Dry-run a mutation plan, returning resolved targets without applying changes."]
9981    pub async fn preview_with_options(
9982        &self,
9983        params: &DocMutationsPreviewBoundParams,
9984        options: InvokeOptions,
9985    ) -> Result<DocMutationsPreviewResult> {
9986        let params = serde_json::to_value(params)
9987            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
9988        let result = self
9989            .invoker
9990            .invoke("doc.mutations.preview", params, options)
9991            .await?;
9992        serde_json::from_value(result).map_err(|decode| {
9993            let mut error = Error::decode(decode);
9994            error.operation_id = Some("doc.mutations.preview".into());
9995            error.outcome_unknown = false;
9996            self.invoker.handle_decode_error(error)
9997        })
9998    }
9999
10000    #[doc = "Replace an active temporary preview against its original document state."]
10001    pub fn replace_temporary<'call>(
10002        &'call self,
10003        params: &'call DocMutationsReplaceTemporaryBoundParams,
10004    ) -> impl std::future::Future<Output = Result<DocMutationsReplaceTemporaryResult>> + Send + 'call
10005    {
10006        self.replace_temporary_with_options(params, InvokeOptions::default())
10007    }
10008    #[doc = "Replace an active temporary preview against its original document state."]
10009    pub async fn replace_temporary_with_options(
10010        &self,
10011        params: &DocMutationsReplaceTemporaryBoundParams,
10012        options: InvokeOptions,
10013    ) -> Result<DocMutationsReplaceTemporaryResult> {
10014        let params = serde_json::to_value(params)
10015            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10016        let result = self
10017            .invoker
10018            .invoke("doc.mutations.replaceTemporary", params, options)
10019            .await?;
10020        serde_json::from_value(result).map_err(|decode| {
10021            let mut error = Error::decode(decode);
10022            error.operation_id = Some("doc.mutations.replaceTemporary".into());
10023            error.outcome_unknown = true;
10024            self.invoker.handle_decode_error(error)
10025        })
10026    }
10027
10028    #[doc = "Restore the original document and release a temporary preview."]
10029    pub fn rollback_temporary<'call>(
10030        &'call self,
10031        params: &'call DocMutationsRollbackTemporaryBoundParams,
10032    ) -> impl std::future::Future<Output = Result<DocMutationsRollbackTemporaryResult>> + Send + 'call
10033    {
10034        self.rollback_temporary_with_options(params, InvokeOptions::default())
10035    }
10036    #[doc = "Restore the original document and release a temporary preview."]
10037    pub async fn rollback_temporary_with_options(
10038        &self,
10039        params: &DocMutationsRollbackTemporaryBoundParams,
10040        options: InvokeOptions,
10041    ) -> Result<DocMutationsRollbackTemporaryResult> {
10042        let params = serde_json::to_value(params)
10043            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10044        let result = self
10045            .invoker
10046            .invoke("doc.mutations.rollbackTemporary", params, options)
10047            .await?;
10048        serde_json::from_value(result).map_err(|decode| {
10049            let mut error = Error::decode(decode);
10050            error.operation_id = Some("doc.mutations.rollbackTemporary".into());
10051            error.outcome_unknown = true;
10052            self.invoker.handle_decode_error(error)
10053        })
10054    }
10055}
10056
10057pub struct DocApiPermissionRanges<'a, I: Invoker> {
10058    invoker: &'a I,
10059}
10060impl<'a, I: Invoker> DocApiPermissionRanges<'a, I> {
10061    pub fn new(invoker: &'a I) -> Self {
10062        Self { invoker }
10063    }
10064
10065    #[doc = "Create a permission range exception region in the document. Inserts matched permStart/permEnd markers at the target."]
10066    pub fn create<'call>(
10067        &'call self,
10068        params: &'call DocPermissionRangesCreateBoundParams,
10069    ) -> impl std::future::Future<Output = Result<DocPermissionRangesCreateResult>> + Send + 'call
10070    {
10071        self.create_with_options(params, InvokeOptions::default())
10072    }
10073    #[doc = "Create a permission range exception region in the document. Inserts matched permStart/permEnd markers at the target."]
10074    pub async fn create_with_options(
10075        &self,
10076        params: &DocPermissionRangesCreateBoundParams,
10077        options: InvokeOptions,
10078    ) -> Result<DocPermissionRangesCreateResult> {
10079        let params = serde_json::to_value(params)
10080            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10081        let result = self
10082            .invoker
10083            .invoke("doc.permissionRanges.create", params, options)
10084            .await?;
10085        serde_json::from_value(result).map_err(|decode| {
10086            let mut error = Error::decode(decode);
10087            error.operation_id = Some("doc.permissionRanges.create".into());
10088            error.outcome_unknown = true;
10089            self.invoker.handle_decode_error(error)
10090        })
10091    }
10092
10093    #[doc = "Get detailed information about a specific permission range by ID."]
10094    pub fn get<'call>(
10095        &'call self,
10096        params: &'call DocPermissionRangesGetBoundParams,
10097    ) -> impl std::future::Future<Output = Result<DocPermissionRangesGetResult>> + Send + 'call
10098    {
10099        self.get_with_options(params, InvokeOptions::default())
10100    }
10101    #[doc = "Get detailed information about a specific permission range by ID."]
10102    pub async fn get_with_options(
10103        &self,
10104        params: &DocPermissionRangesGetBoundParams,
10105        options: InvokeOptions,
10106    ) -> Result<DocPermissionRangesGetResult> {
10107        let params = serde_json::to_value(params)
10108            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10109        let result = self
10110            .invoker
10111            .invoke("doc.permissionRanges.get", params, options)
10112            .await?;
10113        serde_json::from_value(result).map_err(|decode| {
10114            let mut error = Error::decode(decode);
10115            error.operation_id = Some("doc.permissionRanges.get".into());
10116            error.outcome_unknown = false;
10117            self.invoker.handle_decode_error(error)
10118        })
10119    }
10120
10121    #[doc = "List all permission ranges in the document. Returns only complete paired ranges (both start and end markers present)."]
10122    pub fn list<'call>(
10123        &'call self,
10124        params: &'call DocPermissionRangesListBoundParams,
10125    ) -> impl std::future::Future<Output = Result<DocPermissionRangesListResult>> + Send + 'call
10126    {
10127        self.list_with_options(params, InvokeOptions::default())
10128    }
10129    #[doc = "List all permission ranges in the document. Returns only complete paired ranges (both start and end markers present)."]
10130    pub async fn list_with_options(
10131        &self,
10132        params: &DocPermissionRangesListBoundParams,
10133        options: InvokeOptions,
10134    ) -> Result<DocPermissionRangesListResult> {
10135        let params = serde_json::to_value(params)
10136            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10137        let result = self
10138            .invoker
10139            .invoke("doc.permissionRanges.list", params, options)
10140            .await?;
10141        serde_json::from_value(result).map_err(|decode| {
10142            let mut error = Error::decode(decode);
10143            error.operation_id = Some("doc.permissionRanges.list".into());
10144            error.outcome_unknown = false;
10145            self.invoker.handle_decode_error(error)
10146        })
10147    }
10148
10149    #[doc = "Remove a permission range by ID. Removes whichever markers exist for the given ID (start, end, or both)."]
10150    pub fn remove<'call>(
10151        &'call self,
10152        params: &'call DocPermissionRangesRemoveBoundParams,
10153    ) -> impl std::future::Future<Output = Result<DocPermissionRangesRemoveResult>> + Send + 'call
10154    {
10155        self.remove_with_options(params, InvokeOptions::default())
10156    }
10157    #[doc = "Remove a permission range by ID. Removes whichever markers exist for the given ID (start, end, or both)."]
10158    pub async fn remove_with_options(
10159        &self,
10160        params: &DocPermissionRangesRemoveBoundParams,
10161        options: InvokeOptions,
10162    ) -> Result<DocPermissionRangesRemoveResult> {
10163        let params = serde_json::to_value(params)
10164            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10165        let result = self
10166            .invoker
10167            .invoke("doc.permissionRanges.remove", params, options)
10168            .await?;
10169        serde_json::from_value(result).map_err(|decode| {
10170            let mut error = Error::decode(decode);
10171            error.operation_id = Some("doc.permissionRanges.remove".into());
10172            error.outcome_unknown = true;
10173            self.invoker.handle_decode_error(error)
10174        })
10175    }
10176
10177    #[doc = "Change which principal is allowed to edit a permission range. Updates the principal fields on the start marker."]
10178    pub fn update_principal<'call>(
10179        &'call self,
10180        params: &'call DocPermissionRangesUpdatePrincipalBoundParams,
10181    ) -> impl std::future::Future<Output = Result<DocPermissionRangesUpdatePrincipalResult>> + Send + 'call
10182    {
10183        self.update_principal_with_options(params, InvokeOptions::default())
10184    }
10185    #[doc = "Change which principal is allowed to edit a permission range. Updates the principal fields on the start marker."]
10186    pub async fn update_principal_with_options(
10187        &self,
10188        params: &DocPermissionRangesUpdatePrincipalBoundParams,
10189        options: InvokeOptions,
10190    ) -> Result<DocPermissionRangesUpdatePrincipalResult> {
10191        let params = serde_json::to_value(params)
10192            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10193        let result = self
10194            .invoker
10195            .invoke("doc.permissionRanges.updatePrincipal", params, options)
10196            .await?;
10197        serde_json::from_value(result).map_err(|decode| {
10198            let mut error = Error::decode(decode);
10199            error.operation_id = Some("doc.permissionRanges.updatePrincipal".into());
10200            error.outcome_unknown = true;
10201            self.invoker.handle_decode_error(error)
10202        })
10203    }
10204}
10205
10206pub struct DocApiPlan<'a, I: Invoker> {
10207    invoker: &'a I,
10208}
10209impl<'a, I: Invoker> DocApiPlan<'a, I> {
10210    pub fn new(invoker: &'a I) -> Self {
10211        Self { invoker }
10212    }
10213
10214    #[doc = "Execute a compiled batch of plan-safe operation entries with per-entry transactions, capture resolution between entries, and keep-prefix-and-continue failure semantics. Hosts may support atomic: true for all-or-nothing single-commit execution with operation restrictions."]
10215    pub fn execute<'call>(
10216        &'call self,
10217        params: &'call DocPlanExecuteBoundParams,
10218    ) -> impl std::future::Future<Output = Result<DocPlanExecuteResult>> + Send + 'call {
10219        self.execute_with_options(params, InvokeOptions::default())
10220    }
10221    #[doc = "Execute a compiled batch of plan-safe operation entries with per-entry transactions, capture resolution between entries, and keep-prefix-and-continue failure semantics. Hosts may support atomic: true for all-or-nothing single-commit execution with operation restrictions."]
10222    pub async fn execute_with_options(
10223        &self,
10224        params: &DocPlanExecuteBoundParams,
10225        options: InvokeOptions,
10226    ) -> Result<DocPlanExecuteResult> {
10227        let params = serde_json::to_value(params)
10228            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10229        let result = self
10230            .invoker
10231            .invoke("doc.plan.execute", params, options)
10232            .await?;
10233        serde_json::from_value(result).map_err(|decode| {
10234            let mut error = Error::decode(decode);
10235            error.operation_id = Some("doc.plan.execute".into());
10236            error.outcome_unknown = true;
10237            self.invoker.handle_decode_error(error)
10238        })
10239    }
10240}
10241
10242pub struct DocApiPreset<'a, I: Invoker> {
10243    invoker: &'a I,
10244}
10245impl<'a, I: Invoker> DocApiPreset<'a, I> {
10246    pub fn new(invoker: &'a I) -> Self {
10247        Self { invoker }
10248    }
10249
10250    #[doc = "Dispatch an LLM tool call through the named preset's dispatcher against the active session's live document. Used by cross-language SDKs (e.g. Python) to proxy preset behavior over the CLI."]
10251    pub fn dispatch<'call>(
10252        &'call self,
10253        params: &'call DocPresetDispatchBoundParams,
10254    ) -> impl std::future::Future<Output = Result<DocPresetDispatchResult>> + Send + 'call {
10255        self.dispatch_with_options(params, InvokeOptions::default())
10256    }
10257    #[doc = "Dispatch an LLM tool call through the named preset's dispatcher against the active session's live document. Used by cross-language SDKs (e.g. Python) to proxy preset behavior over the CLI."]
10258    pub async fn dispatch_with_options(
10259        &self,
10260        params: &DocPresetDispatchBoundParams,
10261        options: InvokeOptions,
10262    ) -> Result<DocPresetDispatchResult> {
10263        let params = serde_json::to_value(params)
10264            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10265        let result = self
10266            .invoker
10267            .invoke("doc.preset.dispatch", params, options)
10268            .await?;
10269        serde_json::from_value(result).map_err(|decode| {
10270            let mut error = Error::decode(decode);
10271            error.operation_id = Some("doc.preset.dispatch".into());
10272            error.outcome_unknown = true;
10273            self.invoker.handle_decode_error(error)
10274        })
10275    }
10276
10277    #[doc = "Return the full tool catalog for an LLM-tools preset (defaults to the registered default preset)."]
10278    pub fn get_catalog<'call>(
10279        &'call self,
10280        params: &'call DocPresetGetCatalogBoundParams,
10281    ) -> impl std::future::Future<Output = Result<DocPresetGetCatalogResult>> + Send + 'call {
10282        self.get_catalog_with_options(params, InvokeOptions::default())
10283    }
10284    #[doc = "Return the full tool catalog for an LLM-tools preset (defaults to the registered default preset)."]
10285    pub async fn get_catalog_with_options(
10286        &self,
10287        params: &DocPresetGetCatalogBoundParams,
10288        options: InvokeOptions,
10289    ) -> Result<DocPresetGetCatalogResult> {
10290        let params = serde_json::to_value(params)
10291            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10292        let result = self
10293            .invoker
10294            .invoke("doc.preset.getCatalog", params, options)
10295            .await?;
10296        serde_json::from_value(result).map_err(|decode| {
10297            let mut error = Error::decode(decode);
10298            error.operation_id = Some("doc.preset.getCatalog".into());
10299            error.outcome_unknown = false;
10300            self.invoker.handle_decode_error(error)
10301        })
10302    }
10303
10304    #[doc = "Return the MCP-flavored system prompt for an LLM-tools preset."]
10305    pub fn get_mcp_prompt<'call>(
10306        &'call self,
10307        params: &'call DocPresetGetMcpPromptBoundParams,
10308    ) -> impl std::future::Future<Output = Result<DocPresetGetMcpPromptResult>> + Send + 'call {
10309        self.get_mcp_prompt_with_options(params, InvokeOptions::default())
10310    }
10311    #[doc = "Return the MCP-flavored system prompt for an LLM-tools preset."]
10312    pub async fn get_mcp_prompt_with_options(
10313        &self,
10314        params: &DocPresetGetMcpPromptBoundParams,
10315        options: InvokeOptions,
10316    ) -> Result<DocPresetGetMcpPromptResult> {
10317        let params = serde_json::to_value(params)
10318            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10319        let result = self
10320            .invoker
10321            .invoke("doc.preset.getMcpPrompt", params, options)
10322            .await?;
10323        serde_json::from_value(result).map_err(|decode| {
10324            let mut error = Error::decode(decode);
10325            error.operation_id = Some("doc.preset.getMcpPrompt".into());
10326            error.outcome_unknown = false;
10327            self.invoker.handle_decode_error(error)
10328        })
10329    }
10330
10331    #[doc = "Return the SDK-style system prompt for an LLM-tools preset."]
10332    pub fn get_system_prompt<'call>(
10333        &'call self,
10334        params: &'call DocPresetGetSystemPromptBoundParams,
10335    ) -> impl std::future::Future<Output = Result<DocPresetGetSystemPromptResult>> + Send + 'call
10336    {
10337        self.get_system_prompt_with_options(params, InvokeOptions::default())
10338    }
10339    #[doc = "Return the SDK-style system prompt for an LLM-tools preset."]
10340    pub async fn get_system_prompt_with_options(
10341        &self,
10342        params: &DocPresetGetSystemPromptBoundParams,
10343        options: InvokeOptions,
10344    ) -> Result<DocPresetGetSystemPromptResult> {
10345        let params = serde_json::to_value(params)
10346            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10347        let result = self
10348            .invoker
10349            .invoke("doc.preset.getSystemPrompt", params, options)
10350            .await?;
10351        serde_json::from_value(result).map_err(|decode| {
10352            let mut error = Error::decode(decode);
10353            error.operation_id = Some("doc.preset.getSystemPrompt".into());
10354            error.outcome_unknown = false;
10355            self.invoker.handle_decode_error(error)
10356        })
10357    }
10358
10359    #[doc = "Return the provider-shaped tool array (openai|anthropic|vercel|generic) for an LLM-tools preset, plus the active cache strategy."]
10360    pub fn get_tools<'call>(
10361        &'call self,
10362        params: &'call DocPresetGetToolsBoundParams,
10363    ) -> impl std::future::Future<Output = Result<DocPresetGetToolsResult>> + Send + 'call {
10364        self.get_tools_with_options(params, InvokeOptions::default())
10365    }
10366    #[doc = "Return the provider-shaped tool array (openai|anthropic|vercel|generic) for an LLM-tools preset, plus the active cache strategy."]
10367    pub async fn get_tools_with_options(
10368        &self,
10369        params: &DocPresetGetToolsBoundParams,
10370        options: InvokeOptions,
10371    ) -> Result<DocPresetGetToolsResult> {
10372        let params = serde_json::to_value(params)
10373            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10374        let result = self
10375            .invoker
10376            .invoke("doc.preset.getTools", params, options)
10377            .await?;
10378        serde_json::from_value(result).map_err(|decode| {
10379            let mut error = Error::decode(decode);
10380            error.operation_id = Some("doc.preset.getTools".into());
10381            error.outcome_unknown = false;
10382            self.invoker.handle_decode_error(error)
10383        })
10384    }
10385
10386    #[doc = "List the LLM-tools preset ids registered in the Node SDK preset registry, plus the default preset id."]
10387    pub fn list<'call>(
10388        &'call self,
10389        params: &'call DocPresetListBoundParams,
10390    ) -> impl std::future::Future<Output = Result<DocPresetListResult>> + Send + 'call {
10391        self.list_with_options(params, InvokeOptions::default())
10392    }
10393    #[doc = "List the LLM-tools preset ids registered in the Node SDK preset registry, plus the default preset id."]
10394    pub async fn list_with_options(
10395        &self,
10396        params: &DocPresetListBoundParams,
10397        options: InvokeOptions,
10398    ) -> Result<DocPresetListResult> {
10399        let params = serde_json::to_value(params)
10400            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10401        let result = self
10402            .invoker
10403            .invoke("doc.preset.list", params, options)
10404            .await?;
10405        serde_json::from_value(result).map_err(|decode| {
10406            let mut error = Error::decode(decode);
10407            error.operation_id = Some("doc.preset.list".into());
10408            error.outcome_unknown = false;
10409            self.invoker.handle_decode_error(error)
10410        })
10411    }
10412}
10413
10414pub struct DocApiProtection<'a, I: Invoker> {
10415    invoker: &'a I,
10416}
10417impl<'a, I: Invoker> DocApiProtection<'a, I> {
10418    pub fn new(invoker: &'a I) -> Self {
10419        Self { invoker }
10420    }
10421
10422    #[doc = "Disable document-level editing restriction by setting enforcement to off. Preserves the protection element and its metadata for round-trip fidelity."]
10423    pub fn clear_editing_restriction<'call>(
10424        &'call self,
10425        params: &'call DocProtectionClearEditingRestrictionBoundParams,
10426    ) -> impl std::future::Future<Output = Result<DocProtectionClearEditingRestrictionResult>>
10427           + Send
10428           + 'call {
10429        self.clear_editing_restriction_with_options(params, InvokeOptions::default())
10430    }
10431    #[doc = "Disable document-level editing restriction by setting enforcement to off. Preserves the protection element and its metadata for round-trip fidelity."]
10432    pub async fn clear_editing_restriction_with_options(
10433        &self,
10434        params: &DocProtectionClearEditingRestrictionBoundParams,
10435        options: InvokeOptions,
10436    ) -> Result<DocProtectionClearEditingRestrictionResult> {
10437        let params = serde_json::to_value(params)
10438            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10439        let result = self
10440            .invoker
10441            .invoke("doc.protection.clearEditingRestriction", params, options)
10442            .await?;
10443        serde_json::from_value(result).map_err(|decode| {
10444            let mut error = Error::decode(decode);
10445            error.operation_id = Some("doc.protection.clearEditingRestriction".into());
10446            error.outcome_unknown = true;
10447            self.invoker.handle_decode_error(error)
10448        })
10449    }
10450
10451    #[doc = "Read the current document protection state including editing restrictions, write protection, and read-only recommendation."]
10452    pub fn get<'call>(
10453        &'call self,
10454        params: &'call DocProtectionGetBoundParams,
10455    ) -> impl std::future::Future<Output = Result<DocProtectionGetResult>> + Send + 'call {
10456        self.get_with_options(params, InvokeOptions::default())
10457    }
10458    #[doc = "Read the current document protection state including editing restrictions, write protection, and read-only recommendation."]
10459    pub async fn get_with_options(
10460        &self,
10461        params: &DocProtectionGetBoundParams,
10462        options: InvokeOptions,
10463    ) -> Result<DocProtectionGetResult> {
10464        let params = serde_json::to_value(params)
10465            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10466        let result = self
10467            .invoker
10468            .invoke("doc.protection.get", params, options)
10469            .await?;
10470        serde_json::from_value(result).map_err(|decode| {
10471            let mut error = Error::decode(decode);
10472            error.operation_id = Some("doc.protection.get".into());
10473            error.outcome_unknown = false;
10474            self.invoker.handle_decode_error(error)
10475        })
10476    }
10477
10478    #[doc = "Author a Word readOnly, comments, trackedChanges, or forms restriction. Inspect runtimeEnforced in the returned state: V2 currently enforces readOnly; the other modes are saved for Word and are not enforced in SuperDoc."]
10479    pub fn set_editing_restriction<'call>(
10480        &'call self,
10481        params: &'call DocProtectionSetEditingRestrictionBoundParams,
10482    ) -> impl std::future::Future<Output = Result<DocProtectionSetEditingRestrictionResult>> + Send + 'call
10483    {
10484        self.set_editing_restriction_with_options(params, InvokeOptions::default())
10485    }
10486    #[doc = "Author a Word readOnly, comments, trackedChanges, or forms restriction. Inspect runtimeEnforced in the returned state: V2 currently enforces readOnly; the other modes are saved for Word and are not enforced in SuperDoc."]
10487    pub async fn set_editing_restriction_with_options(
10488        &self,
10489        params: &DocProtectionSetEditingRestrictionBoundParams,
10490        options: InvokeOptions,
10491    ) -> Result<DocProtectionSetEditingRestrictionResult> {
10492        let params = serde_json::to_value(params)
10493            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10494        let result = self
10495            .invoker
10496            .invoke("doc.protection.setEditingRestriction", params, options)
10497            .await?;
10498        serde_json::from_value(result).map_err(|decode| {
10499            let mut error = Error::decode(decode);
10500            error.operation_id = Some("doc.protection.setEditingRestriction".into());
10501            error.outcome_unknown = true;
10502            self.invoker.handle_decode_error(error)
10503        })
10504    }
10505}
10506
10507pub struct DocApiQuery<'a, I: Invoker> {
10508    invoker: &'a I,
10509}
10510impl<'a, I: Invoker> DocApiQuery<'a, I> {
10511    pub fn new(invoker: &'a I) -> Self {
10512        Self { invoker }
10513    }
10514
10515    #[doc = "Deterministic selector-based search returning mutation-grade addresses and text ranges. Use this to discover targets before any mutation."]
10516    pub fn match_<'call>(
10517        &'call self,
10518        params: &'call DocQueryMatchBoundParams,
10519    ) -> impl std::future::Future<Output = Result<DocQueryMatchResult>> + Send + 'call {
10520        self.match_with_options(params, InvokeOptions::default())
10521    }
10522    #[doc = "Deterministic selector-based search returning mutation-grade addresses and text ranges. Use this to discover targets before any mutation."]
10523    pub async fn match_with_options(
10524        &self,
10525        params: &DocQueryMatchBoundParams,
10526        options: InvokeOptions,
10527    ) -> Result<DocQueryMatchResult> {
10528        let params = serde_json::to_value(params)
10529            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10530        let result = self
10531            .invoker
10532            .invoke("doc.query.match", params, options)
10533            .await?;
10534        serde_json::from_value(result).map_err(|decode| {
10535            let mut error = Error::decode(decode);
10536            error.operation_id = Some("doc.query.match".into());
10537            error.outcome_unknown = false;
10538            self.invoker.handle_decode_error(error)
10539        })
10540    }
10541}
10542
10543pub struct DocApiRanges<'a, I: Invoker> {
10544    invoker: &'a I,
10545}
10546impl<'a, I: Invoker> DocApiRanges<'a, I> {
10547    pub fn new(invoker: &'a I) -> Self {
10548        Self { invoker }
10549    }
10550
10551    #[doc = "Resolve two explicit anchors into a contiguous document range. Returns a transparent SelectionTarget, handle metadata, and preview metadata. handle.ref is nullable and present only when the resolved range is mutation-ready; callers must check handle.ref !== null and/or coversFullTarget before using it for mutations. Stateless and deterministic."]
10552    pub fn resolve<'call>(
10553        &'call self,
10554        params: &'call DocRangesResolveBoundParams,
10555    ) -> impl std::future::Future<Output = Result<DocRangesResolveResult>> + Send + 'call {
10556        self.resolve_with_options(params, InvokeOptions::default())
10557    }
10558    #[doc = "Resolve two explicit anchors into a contiguous document range. Returns a transparent SelectionTarget, handle metadata, and preview metadata. handle.ref is nullable and present only when the resolved range is mutation-ready; callers must check handle.ref !== null and/or coversFullTarget before using it for mutations. Stateless and deterministic."]
10559    pub async fn resolve_with_options(
10560        &self,
10561        params: &DocRangesResolveBoundParams,
10562        options: InvokeOptions,
10563    ) -> Result<DocRangesResolveResult> {
10564        let params = serde_json::to_value(params)
10565            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10566        let result = self
10567            .invoker
10568            .invoke("doc.ranges.resolve", params, options)
10569            .await?;
10570        serde_json::from_value(result).map_err(|decode| {
10571            let mut error = Error::decode(decode);
10572            error.operation_id = Some("doc.ranges.resolve".into());
10573            error.outcome_unknown = false;
10574            self.invoker.handle_decode_error(error)
10575        })
10576    }
10577}
10578
10579pub struct DocApiSections<'a, I: Invoker> {
10580    invoker: &'a I,
10581}
10582impl<'a, I: Invoker> DocApiSections<'a, I> {
10583    pub fn new(invoker: &'a I) -> Self {
10584        Self { invoker }
10585    }
10586
10587    #[doc = "Clear a section header/footer reference for a specific variant."]
10588    pub fn clear_header_footer_ref<'call>(
10589        &'call self,
10590        params: &'call DocSectionsClearHeaderFooterRefBoundParams,
10591    ) -> impl std::future::Future<Output = Result<DocSectionsClearHeaderFooterRefResult>> + Send + 'call
10592    {
10593        self.clear_header_footer_ref_with_options(params, InvokeOptions::default())
10594    }
10595    #[doc = "Clear a section header/footer reference for a specific variant."]
10596    pub async fn clear_header_footer_ref_with_options(
10597        &self,
10598        params: &DocSectionsClearHeaderFooterRefBoundParams,
10599        options: InvokeOptions,
10600    ) -> Result<DocSectionsClearHeaderFooterRefResult> {
10601        let params = serde_json::to_value(params)
10602            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10603        let result = self
10604            .invoker
10605            .invoke("doc.sections.clearHeaderFooterRef", params, options)
10606            .await?;
10607        serde_json::from_value(result).map_err(|decode| {
10608            let mut error = Error::decode(decode);
10609            error.operation_id = Some("doc.sections.clearHeaderFooterRef".into());
10610            error.outcome_unknown = true;
10611            self.invoker.handle_decode_error(error)
10612        })
10613    }
10614
10615    #[doc = "Clear page border configuration for a section."]
10616    pub fn clear_page_borders<'call>(
10617        &'call self,
10618        params: &'call DocSectionsClearPageBordersBoundParams,
10619    ) -> impl std::future::Future<Output = Result<DocSectionsClearPageBordersResult>> + Send + 'call
10620    {
10621        self.clear_page_borders_with_options(params, InvokeOptions::default())
10622    }
10623    #[doc = "Clear page border configuration for a section."]
10624    pub async fn clear_page_borders_with_options(
10625        &self,
10626        params: &DocSectionsClearPageBordersBoundParams,
10627        options: InvokeOptions,
10628    ) -> Result<DocSectionsClearPageBordersResult> {
10629        let params = serde_json::to_value(params)
10630            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10631        let result = self
10632            .invoker
10633            .invoke("doc.sections.clearPageBorders", params, options)
10634            .await?;
10635        serde_json::from_value(result).map_err(|decode| {
10636            let mut error = Error::decode(decode);
10637            error.operation_id = Some("doc.sections.clearPageBorders".into());
10638            error.outcome_unknown = true;
10639            self.invoker.handle_decode_error(error)
10640        })
10641    }
10642
10643    #[doc = "Retrieve full section information by section address."]
10644    pub fn get<'call>(
10645        &'call self,
10646        params: &'call DocSectionsGetBoundParams,
10647    ) -> impl std::future::Future<Output = Result<DocSectionsGetResult>> + Send + 'call {
10648        self.get_with_options(params, InvokeOptions::default())
10649    }
10650    #[doc = "Retrieve full section information by section address."]
10651    pub async fn get_with_options(
10652        &self,
10653        params: &DocSectionsGetBoundParams,
10654        options: InvokeOptions,
10655    ) -> Result<DocSectionsGetResult> {
10656        let params = serde_json::to_value(params)
10657            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10658        let result = self
10659            .invoker
10660            .invoke("doc.sections.get", params, options)
10661            .await?;
10662        serde_json::from_value(result).map_err(|decode| {
10663            let mut error = Error::decode(decode);
10664            error.operation_id = Some("doc.sections.get".into());
10665            error.outcome_unknown = false;
10666            self.invoker.handle_decode_error(error)
10667        })
10668    }
10669
10670    #[doc = "List sections in deterministic order with section-target handles."]
10671    pub fn list<'call>(
10672        &'call self,
10673        params: &'call DocSectionsListBoundParams,
10674    ) -> impl std::future::Future<Output = Result<DocSectionsListResult>> + Send + 'call {
10675        self.list_with_options(params, InvokeOptions::default())
10676    }
10677    #[doc = "List sections in deterministic order with section-target handles."]
10678    pub async fn list_with_options(
10679        &self,
10680        params: &DocSectionsListBoundParams,
10681        options: InvokeOptions,
10682    ) -> Result<DocSectionsListResult> {
10683        let params = serde_json::to_value(params)
10684            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10685        let result = self
10686            .invoker
10687            .invoke("doc.sections.list", params, options)
10688            .await?;
10689        serde_json::from_value(result).map_err(|decode| {
10690            let mut error = Error::decode(decode);
10691            error.operation_id = Some("doc.sections.list".into());
10692            error.outcome_unknown = false;
10693            self.invoker.handle_decode_error(error)
10694        })
10695    }
10696
10697    #[doc = "Set the section break type."]
10698    pub fn set_break_type<'call>(
10699        &'call self,
10700        params: &'call DocSectionsSetBreakTypeBoundParams,
10701    ) -> impl std::future::Future<Output = Result<DocSectionsSetBreakTypeResult>> + Send + 'call
10702    {
10703        self.set_break_type_with_options(params, InvokeOptions::default())
10704    }
10705    #[doc = "Set the section break type."]
10706    pub async fn set_break_type_with_options(
10707        &self,
10708        params: &DocSectionsSetBreakTypeBoundParams,
10709        options: InvokeOptions,
10710    ) -> Result<DocSectionsSetBreakTypeResult> {
10711        let params = serde_json::to_value(params)
10712            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10713        let result = self
10714            .invoker
10715            .invoke("doc.sections.setBreakType", params, options)
10716            .await?;
10717        serde_json::from_value(result).map_err(|decode| {
10718            let mut error = Error::decode(decode);
10719            error.operation_id = Some("doc.sections.setBreakType".into());
10720            error.outcome_unknown = true;
10721            self.invoker.handle_decode_error(error)
10722        })
10723    }
10724
10725    #[doc = "Set column configuration for a section."]
10726    pub fn set_columns<'call>(
10727        &'call self,
10728        params: &'call DocSectionsSetColumnsBoundParams,
10729    ) -> impl std::future::Future<Output = Result<DocSectionsSetColumnsResult>> + Send + 'call {
10730        self.set_columns_with_options(params, InvokeOptions::default())
10731    }
10732    #[doc = "Set column configuration for a section."]
10733    pub async fn set_columns_with_options(
10734        &self,
10735        params: &DocSectionsSetColumnsBoundParams,
10736        options: InvokeOptions,
10737    ) -> Result<DocSectionsSetColumnsResult> {
10738        let params = serde_json::to_value(params)
10739            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10740        let result = self
10741            .invoker
10742            .invoke("doc.sections.setColumns", params, options)
10743            .await?;
10744        serde_json::from_value(result).map_err(|decode| {
10745            let mut error = Error::decode(decode);
10746            error.operation_id = Some("doc.sections.setColumns".into());
10747            error.outcome_unknown = true;
10748            self.invoker.handle_decode_error(error)
10749        })
10750    }
10751
10752    #[doc = "Set header/footer margin distances for a section."]
10753    pub fn set_header_footer_margins<'call>(
10754        &'call self,
10755        params: &'call DocSectionsSetHeaderFooterMarginsBoundParams,
10756    ) -> impl std::future::Future<Output = Result<DocSectionsSetHeaderFooterMarginsResult>> + Send + 'call
10757    {
10758        self.set_header_footer_margins_with_options(params, InvokeOptions::default())
10759    }
10760    #[doc = "Set header/footer margin distances for a section."]
10761    pub async fn set_header_footer_margins_with_options(
10762        &self,
10763        params: &DocSectionsSetHeaderFooterMarginsBoundParams,
10764        options: InvokeOptions,
10765    ) -> Result<DocSectionsSetHeaderFooterMarginsResult> {
10766        let params = serde_json::to_value(params)
10767            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10768        let result = self
10769            .invoker
10770            .invoke("doc.sections.setHeaderFooterMargins", params, options)
10771            .await?;
10772        serde_json::from_value(result).map_err(|decode| {
10773            let mut error = Error::decode(decode);
10774            error.operation_id = Some("doc.sections.setHeaderFooterMargins".into());
10775            error.outcome_unknown = true;
10776            self.invoker.handle_decode_error(error)
10777        })
10778    }
10779
10780    #[doc = "Set or replace a section header/footer reference for a variant."]
10781    pub fn set_header_footer_ref<'call>(
10782        &'call self,
10783        params: &'call DocSectionsSetHeaderFooterRefBoundParams,
10784    ) -> impl std::future::Future<Output = Result<DocSectionsSetHeaderFooterRefResult>> + Send + 'call
10785    {
10786        self.set_header_footer_ref_with_options(params, InvokeOptions::default())
10787    }
10788    #[doc = "Set or replace a section header/footer reference for a variant."]
10789    pub async fn set_header_footer_ref_with_options(
10790        &self,
10791        params: &DocSectionsSetHeaderFooterRefBoundParams,
10792        options: InvokeOptions,
10793    ) -> Result<DocSectionsSetHeaderFooterRefResult> {
10794        let params = serde_json::to_value(params)
10795            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10796        let result = self
10797            .invoker
10798            .invoke("doc.sections.setHeaderFooterRef", params, options)
10799            .await?;
10800        serde_json::from_value(result).map_err(|decode| {
10801            let mut error = Error::decode(decode);
10802            error.operation_id = Some("doc.sections.setHeaderFooterRef".into());
10803            error.outcome_unknown = true;
10804            self.invoker.handle_decode_error(error)
10805        })
10806    }
10807
10808    #[doc = "Enable or configure line numbering for a section."]
10809    pub fn set_line_numbering<'call>(
10810        &'call self,
10811        params: &'call DocSectionsSetLineNumberingBoundParams,
10812    ) -> impl std::future::Future<Output = Result<DocSectionsSetLineNumberingResult>> + Send + 'call
10813    {
10814        self.set_line_numbering_with_options(params, InvokeOptions::default())
10815    }
10816    #[doc = "Enable or configure line numbering for a section."]
10817    pub async fn set_line_numbering_with_options(
10818        &self,
10819        params: &DocSectionsSetLineNumberingBoundParams,
10820        options: InvokeOptions,
10821    ) -> Result<DocSectionsSetLineNumberingResult> {
10822        let params = serde_json::to_value(params)
10823            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10824        let result = self
10825            .invoker
10826            .invoke("doc.sections.setLineNumbering", params, options)
10827            .await?;
10828        serde_json::from_value(result).map_err(|decode| {
10829            let mut error = Error::decode(decode);
10830            error.operation_id = Some("doc.sections.setLineNumbering".into());
10831            error.outcome_unknown = true;
10832            self.invoker.handle_decode_error(error)
10833        })
10834    }
10835
10836    #[doc = "Set or clear link-to-previous behavior for a header/footer variant."]
10837    pub fn set_link_to_previous<'call>(
10838        &'call self,
10839        params: &'call DocSectionsSetLinkToPreviousBoundParams,
10840    ) -> impl std::future::Future<Output = Result<DocSectionsSetLinkToPreviousResult>> + Send + 'call
10841    {
10842        self.set_link_to_previous_with_options(params, InvokeOptions::default())
10843    }
10844    #[doc = "Set or clear link-to-previous behavior for a header/footer variant."]
10845    pub async fn set_link_to_previous_with_options(
10846        &self,
10847        params: &DocSectionsSetLinkToPreviousBoundParams,
10848        options: InvokeOptions,
10849    ) -> Result<DocSectionsSetLinkToPreviousResult> {
10850        let params = serde_json::to_value(params)
10851            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10852        let result = self
10853            .invoker
10854            .invoke("doc.sections.setLinkToPrevious", params, options)
10855            .await?;
10856        serde_json::from_value(result).map_err(|decode| {
10857            let mut error = Error::decode(decode);
10858            error.operation_id = Some("doc.sections.setLinkToPrevious".into());
10859            error.outcome_unknown = true;
10860            self.invoker.handle_decode_error(error)
10861        })
10862    }
10863
10864    #[doc = "Enable or disable odd/even header-footer mode in document settings."]
10865    pub fn set_odd_even_headers_footers<'call>(
10866        &'call self,
10867        params: &'call DocSectionsSetOddEvenHeadersFootersBoundParams,
10868    ) -> impl std::future::Future<Output = Result<DocSectionsSetOddEvenHeadersFootersResult>>
10869           + Send
10870           + 'call {
10871        self.set_odd_even_headers_footers_with_options(params, InvokeOptions::default())
10872    }
10873    #[doc = "Enable or disable odd/even header-footer mode in document settings."]
10874    pub async fn set_odd_even_headers_footers_with_options(
10875        &self,
10876        params: &DocSectionsSetOddEvenHeadersFootersBoundParams,
10877        options: InvokeOptions,
10878    ) -> Result<DocSectionsSetOddEvenHeadersFootersResult> {
10879        let params = serde_json::to_value(params)
10880            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10881        let result = self
10882            .invoker
10883            .invoke("doc.sections.setOddEvenHeadersFooters", params, options)
10884            .await?;
10885        serde_json::from_value(result).map_err(|decode| {
10886            let mut error = Error::decode(decode);
10887            error.operation_id = Some("doc.sections.setOddEvenHeadersFooters".into());
10888            error.outcome_unknown = true;
10889            self.invoker.handle_decode_error(error)
10890        })
10891    }
10892
10893    #[doc = "Set page border configuration for a section."]
10894    pub fn set_page_borders<'call>(
10895        &'call self,
10896        params: &'call DocSectionsSetPageBordersBoundParams,
10897    ) -> impl std::future::Future<Output = Result<DocSectionsSetPageBordersResult>> + Send + 'call
10898    {
10899        self.set_page_borders_with_options(params, InvokeOptions::default())
10900    }
10901    #[doc = "Set page border configuration for a section."]
10902    pub async fn set_page_borders_with_options(
10903        &self,
10904        params: &DocSectionsSetPageBordersBoundParams,
10905        options: InvokeOptions,
10906    ) -> Result<DocSectionsSetPageBordersResult> {
10907        let params = serde_json::to_value(params)
10908            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10909        let result = self
10910            .invoker
10911            .invoke("doc.sections.setPageBorders", params, options)
10912            .await?;
10913        serde_json::from_value(result).map_err(|decode| {
10914            let mut error = Error::decode(decode);
10915            error.operation_id = Some("doc.sections.setPageBorders".into());
10916            error.outcome_unknown = true;
10917            self.invoker.handle_decode_error(error)
10918        })
10919    }
10920
10921    #[doc = "Set page-edge margins for a section."]
10922    pub fn set_page_margins<'call>(
10923        &'call self,
10924        params: &'call DocSectionsSetPageMarginsBoundParams,
10925    ) -> impl std::future::Future<Output = Result<DocSectionsSetPageMarginsResult>> + Send + 'call
10926    {
10927        self.set_page_margins_with_options(params, InvokeOptions::default())
10928    }
10929    #[doc = "Set page-edge margins for a section."]
10930    pub async fn set_page_margins_with_options(
10931        &self,
10932        params: &DocSectionsSetPageMarginsBoundParams,
10933        options: InvokeOptions,
10934    ) -> Result<DocSectionsSetPageMarginsResult> {
10935        let params = serde_json::to_value(params)
10936            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10937        let result = self
10938            .invoker
10939            .invoke("doc.sections.setPageMargins", params, options)
10940            .await?;
10941        serde_json::from_value(result).map_err(|decode| {
10942            let mut error = Error::decode(decode);
10943            error.operation_id = Some("doc.sections.setPageMargins".into());
10944            error.outcome_unknown = true;
10945            self.invoker.handle_decode_error(error)
10946        })
10947    }
10948
10949    #[doc = "Set page numbering format/start and chapter numbering settings for a section."]
10950    pub fn set_page_numbering<'call>(
10951        &'call self,
10952        params: &'call DocSectionsSetPageNumberingBoundParams,
10953    ) -> impl std::future::Future<Output = Result<DocSectionsSetPageNumberingResult>> + Send + 'call
10954    {
10955        self.set_page_numbering_with_options(params, InvokeOptions::default())
10956    }
10957    #[doc = "Set page numbering format/start and chapter numbering settings for a section."]
10958    pub async fn set_page_numbering_with_options(
10959        &self,
10960        params: &DocSectionsSetPageNumberingBoundParams,
10961        options: InvokeOptions,
10962    ) -> Result<DocSectionsSetPageNumberingResult> {
10963        let params = serde_json::to_value(params)
10964            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10965        let result = self
10966            .invoker
10967            .invoke("doc.sections.setPageNumbering", params, options)
10968            .await?;
10969        serde_json::from_value(result).map_err(|decode| {
10970            let mut error = Error::decode(decode);
10971            error.operation_id = Some("doc.sections.setPageNumbering".into());
10972            error.outcome_unknown = true;
10973            self.invoker.handle_decode_error(error)
10974        })
10975    }
10976
10977    #[doc = "Set page size/orientation properties for a section."]
10978    pub fn set_page_setup<'call>(
10979        &'call self,
10980        params: &'call DocSectionsSetPageSetupBoundParams,
10981    ) -> impl std::future::Future<Output = Result<DocSectionsSetPageSetupResult>> + Send + 'call
10982    {
10983        self.set_page_setup_with_options(params, InvokeOptions::default())
10984    }
10985    #[doc = "Set page size/orientation properties for a section."]
10986    pub async fn set_page_setup_with_options(
10987        &self,
10988        params: &DocSectionsSetPageSetupBoundParams,
10989        options: InvokeOptions,
10990    ) -> Result<DocSectionsSetPageSetupResult> {
10991        let params = serde_json::to_value(params)
10992            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
10993        let result = self
10994            .invoker
10995            .invoke("doc.sections.setPageSetup", params, options)
10996            .await?;
10997        serde_json::from_value(result).map_err(|decode| {
10998            let mut error = Error::decode(decode);
10999            error.operation_id = Some("doc.sections.setPageSetup".into());
11000            error.outcome_unknown = true;
11001            self.invoker.handle_decode_error(error)
11002        })
11003    }
11004
11005    #[doc = "Set section text flow direction (LTR/RTL)."]
11006    pub fn set_section_direction<'call>(
11007        &'call self,
11008        params: &'call DocSectionsSetSectionDirectionBoundParams,
11009    ) -> impl std::future::Future<Output = Result<DocSectionsSetSectionDirectionResult>> + Send + 'call
11010    {
11011        self.set_section_direction_with_options(params, InvokeOptions::default())
11012    }
11013    #[doc = "Set section text flow direction (LTR/RTL)."]
11014    pub async fn set_section_direction_with_options(
11015        &self,
11016        params: &DocSectionsSetSectionDirectionBoundParams,
11017        options: InvokeOptions,
11018    ) -> Result<DocSectionsSetSectionDirectionResult> {
11019        let params = serde_json::to_value(params)
11020            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11021        let result = self
11022            .invoker
11023            .invoke("doc.sections.setSectionDirection", params, options)
11024            .await?;
11025        serde_json::from_value(result).map_err(|decode| {
11026            let mut error = Error::decode(decode);
11027            error.operation_id = Some("doc.sections.setSectionDirection".into());
11028            error.outcome_unknown = true;
11029            self.invoker.handle_decode_error(error)
11030        })
11031    }
11032
11033    #[doc = "Enable or disable title-page behavior for a section."]
11034    pub fn set_title_page<'call>(
11035        &'call self,
11036        params: &'call DocSectionsSetTitlePageBoundParams,
11037    ) -> impl std::future::Future<Output = Result<DocSectionsSetTitlePageResult>> + Send + 'call
11038    {
11039        self.set_title_page_with_options(params, InvokeOptions::default())
11040    }
11041    #[doc = "Enable or disable title-page behavior for a section."]
11042    pub async fn set_title_page_with_options(
11043        &self,
11044        params: &DocSectionsSetTitlePageBoundParams,
11045        options: InvokeOptions,
11046    ) -> Result<DocSectionsSetTitlePageResult> {
11047        let params = serde_json::to_value(params)
11048            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11049        let result = self
11050            .invoker
11051            .invoke("doc.sections.setTitlePage", params, options)
11052            .await?;
11053        serde_json::from_value(result).map_err(|decode| {
11054            let mut error = Error::decode(decode);
11055            error.operation_id = Some("doc.sections.setTitlePage".into());
11056            error.outcome_unknown = true;
11057            self.invoker.handle_decode_error(error)
11058        })
11059    }
11060
11061    #[doc = "Set vertical page alignment for a section."]
11062    pub fn set_vertical_align<'call>(
11063        &'call self,
11064        params: &'call DocSectionsSetVerticalAlignBoundParams,
11065    ) -> impl std::future::Future<Output = Result<DocSectionsSetVerticalAlignResult>> + Send + 'call
11066    {
11067        self.set_vertical_align_with_options(params, InvokeOptions::default())
11068    }
11069    #[doc = "Set vertical page alignment for a section."]
11070    pub async fn set_vertical_align_with_options(
11071        &self,
11072        params: &DocSectionsSetVerticalAlignBoundParams,
11073        options: InvokeOptions,
11074    ) -> Result<DocSectionsSetVerticalAlignResult> {
11075        let params = serde_json::to_value(params)
11076            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11077        let result = self
11078            .invoker
11079            .invoke("doc.sections.setVerticalAlign", params, options)
11080            .await?;
11081        serde_json::from_value(result).map_err(|decode| {
11082            let mut error = Error::decode(decode);
11083            error.operation_id = Some("doc.sections.setVerticalAlign".into());
11084            error.outcome_unknown = true;
11085            self.invoker.handle_decode_error(error)
11086        })
11087    }
11088}
11089
11090pub struct DocApiSelection<'a, I: Invoker> {
11091    invoker: &'a I,
11092}
11093impl<'a, I: Invoker> DocApiSelection<'a, I> {
11094    pub fn new(invoker: &'a I) -> Self {
11095        Self { invoker }
11096    }
11097
11098    #[doc = "Read the editor's current selection as a portable SelectionInfo with text targets or V2 browser table/cell metadata. Primitive for building custom comments UIs, floating toolbars, and other selection-driven components without reaching into ProseMirror internals."]
11099    pub fn current<'call>(
11100        &'call self,
11101        params: &'call DocSelectionCurrentBoundParams,
11102    ) -> impl std::future::Future<Output = Result<DocSelectionCurrentResult>> + Send + 'call {
11103        self.current_with_options(params, InvokeOptions::default())
11104    }
11105    #[doc = "Read the editor's current selection as a portable SelectionInfo with text targets or V2 browser table/cell metadata. Primitive for building custom comments UIs, floating toolbars, and other selection-driven components without reaching into ProseMirror internals."]
11106    pub async fn current_with_options(
11107        &self,
11108        params: &DocSelectionCurrentBoundParams,
11109        options: InvokeOptions,
11110    ) -> Result<DocSelectionCurrentResult> {
11111        let params = serde_json::to_value(params)
11112            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11113        let result = self
11114            .invoker
11115            .invoke("doc.selection.current", params, options)
11116            .await?;
11117        serde_json::from_value(result).map_err(|decode| {
11118            let mut error = Error::decode(decode);
11119            error.operation_id = Some("doc.selection.current".into());
11120            error.outcome_unknown = false;
11121            self.invoker.handle_decode_error(error)
11122        })
11123    }
11124
11125    #[doc = "Capture a nonempty current or addressed selection as portable OOXML with native dependencies. Optional retain:true keeps an exact same-session restoration handle for one complete standalone body paragraph; release it when unused. Unsupported retained contexts and collaboration reject."]
11126    pub fn extract_ooxml<'call>(
11127        &'call self,
11128        params: &'call DocSelectionExtractOoxmlBoundParams,
11129    ) -> impl std::future::Future<Output = Result<DocSelectionExtractOoxmlResult>> + Send + 'call
11130    {
11131        self.extract_ooxml_with_options(params, InvokeOptions::default())
11132    }
11133    #[doc = "Capture a nonempty current or addressed selection as portable OOXML with native dependencies. Optional retain:true keeps an exact same-session restoration handle for one complete standalone body paragraph; release it when unused. Unsupported retained contexts and collaboration reject."]
11134    pub async fn extract_ooxml_with_options(
11135        &self,
11136        params: &DocSelectionExtractOoxmlBoundParams,
11137        options: InvokeOptions,
11138    ) -> Result<DocSelectionExtractOoxmlResult> {
11139        let params = serde_json::to_value(params)
11140            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11141        let result = self
11142            .invoker
11143            .invoke("doc.selection.extractOoxml", params, options)
11144            .await?;
11145        serde_json::from_value(result).map_err(|decode| {
11146            let mut error = Error::decode(decode);
11147            error.operation_id = Some("doc.selection.extractOoxml".into());
11148            error.outcome_unknown = false;
11149            self.invoker.handle_decode_error(error)
11150        })
11151    }
11152
11153    #[doc = "Release a retained exact-selection snapshot without changing document content or Undo history."]
11154    pub fn release_snapshot<'call>(
11155        &'call self,
11156        params: &'call DocSelectionReleaseSnapshotBoundParams,
11157    ) -> impl std::future::Future<Output = Result<DocSelectionReleaseSnapshotResult>> + Send + 'call
11158    {
11159        self.release_snapshot_with_options(params, InvokeOptions::default())
11160    }
11161    #[doc = "Release a retained exact-selection snapshot without changing document content or Undo history."]
11162    pub async fn release_snapshot_with_options(
11163        &self,
11164        params: &DocSelectionReleaseSnapshotBoundParams,
11165        options: InvokeOptions,
11166    ) -> Result<DocSelectionReleaseSnapshotResult> {
11167        let params = serde_json::to_value(params)
11168            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11169        let result = self
11170            .invoker
11171            .invoke("doc.selection.releaseSnapshot", params, options)
11172            .await?;
11173        serde_json::from_value(result).map_err(|decode| {
11174            let mut error = Error::decode(decode);
11175            error.operation_id = Some("doc.selection.releaseSnapshot".into());
11176            error.outcome_unknown = false;
11177            self.invoker.handle_decode_error(error)
11178        })
11179    }
11180}
11181
11182pub struct DocApiStyles<'a, I: Invoker> {
11183    invoker: &'a I,
11184}
11185impl<'a, I: Invoker> DocApiStyles<'a, I> {
11186    pub fn new(invoker: &'a I) -> Self {
11187        Self { invoker }
11188    }
11189    pub fn paragraph(&self) -> DocApiStylesParagraph<'a, I> {
11190        DocApiStylesParagraph::new(self.invoker)
11191    }
11192
11193    #[doc = "Apply style changes to the active Style Definitions part. Targets docDefaults run and paragraph channels, or the run properties of an existing named paragraph style (scope \"style\"), with set-style patch semantics. Redefining a named style updates every paragraph that references it; its linked character style receives the same patch, null removes a property so the style inherits it again, and an object value replaces that property whole."]
11194    pub fn apply<'call>(
11195        &'call self,
11196        params: &'call DocStylesApplyBoundParams,
11197    ) -> impl std::future::Future<Output = Result<DocStylesApplyResult>> + Send + 'call {
11198        self.apply_with_options(params, InvokeOptions::default())
11199    }
11200    #[doc = "Apply style changes to the active Style Definitions part. Targets docDefaults run and paragraph channels, or the run properties of an existing named paragraph style (scope \"style\"), with set-style patch semantics. Redefining a named style updates every paragraph that references it; its linked character style receives the same patch, null removes a property so the style inherits it again, and an object value replaces that property whole."]
11201    pub async fn apply_with_options(
11202        &self,
11203        params: &DocStylesApplyBoundParams,
11204        options: InvokeOptions,
11205    ) -> Result<DocStylesApplyResult> {
11206        let params = serde_json::to_value(params)
11207            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11208        let result = self
11209            .invoker
11210            .invoke("doc.styles.apply", params, options)
11211            .await?;
11212        serde_json::from_value(result).map_err(|decode| {
11213            let mut error = Error::decode(decode);
11214            error.operation_id = Some("doc.styles.apply".into());
11215            error.outcome_unknown = true;
11216            self.invoker.handle_decode_error(error)
11217        })
11218    }
11219
11220    #[doc = "Define or redefine a named paragraph or character style in the Style Definitions part. Replaces the definition rather than merging into it, and decides conflicts on both styleId and name, because Word keys its Styles gallery on the name. Linked style pairs and table/numbering styles are out of scope."]
11221    pub fn create<'call>(
11222        &'call self,
11223        params: &'call DocStylesCreateBoundParams,
11224    ) -> impl std::future::Future<Output = Result<DocStylesCreateResult>> + Send + 'call {
11225        self.create_with_options(params, InvokeOptions::default())
11226    }
11227    #[doc = "Define or redefine a named paragraph or character style in the Style Definitions part. Replaces the definition rather than merging into it, and decides conflicts on both styleId and name, because Word keys its Styles gallery on the name. Linked style pairs and table/numbering styles are out of scope."]
11228    pub async fn create_with_options(
11229        &self,
11230        params: &DocStylesCreateBoundParams,
11231        options: InvokeOptions,
11232    ) -> Result<DocStylesCreateResult> {
11233        let params = serde_json::to_value(params)
11234            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11235        let result = self
11236            .invoker
11237            .invoke("doc.styles.create", params, options)
11238            .await?;
11239        serde_json::from_value(result).map_err(|decode| {
11240            let mut error = Error::decode(decode);
11241            error.operation_id = Some("doc.styles.create".into());
11242            error.outcome_unknown = true;
11243            self.invoker.handle_decode_error(error)
11244        })
11245    }
11246
11247    #[doc = "List the available styles as a normalized catalogue with stable IDs, display names, type, visibility, priority, provenance, and source diagnostics. Supports view (quickGallery/recommended/currentDocument/all/inUse), type filtering, hidden/latent inclusion, usage rollups, and UI-safe preview tokens. Distinct from DocumentInfo.styles, which is a usage summary."]
11248    pub fn get_catalog<'call>(
11249        &'call self,
11250        params: &'call DocStylesGetCatalogBoundParams,
11251    ) -> impl std::future::Future<Output = Result<DocStylesGetCatalogResult>> + Send + 'call {
11252        self.get_catalog_with_options(params, InvokeOptions::default())
11253    }
11254    #[doc = "List the available styles as a normalized catalogue with stable IDs, display names, type, visibility, priority, provenance, and source diagnostics. Supports view (quickGallery/recommended/currentDocument/all/inUse), type filtering, hidden/latent inclusion, usage rollups, and UI-safe preview tokens. Distinct from DocumentInfo.styles, which is a usage summary."]
11255    pub async fn get_catalog_with_options(
11256        &self,
11257        params: &DocStylesGetCatalogBoundParams,
11258        options: InvokeOptions,
11259    ) -> Result<DocStylesGetCatalogResult> {
11260        let params = serde_json::to_value(params)
11261            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11262        let result = self
11263            .invoker
11264            .invoke("doc.styles.getCatalog", params, options)
11265            .await?;
11266        serde_json::from_value(result).map_err(|decode| {
11267            let mut error = Error::decode(decode);
11268            error.operation_id = Some("doc.styles.getCatalog".into());
11269            error.outcome_unknown = false;
11270            self.invoker.handle_decode_error(error)
11271        })
11272    }
11273
11274    #[doc = "Read the document theme: its 12 theme colors, major and minor fonts, and the color mapping from settings.xml. A missing or malformed theme part returns the default Office theme labeled source 'fallback', with part status and diagnostics. Same theme as doc.get().theme, without the rest of the document."]
11275    pub fn get_theme<'call>(
11276        &'call self,
11277        params: &'call DocStylesGetThemeBoundParams,
11278    ) -> impl std::future::Future<Output = Result<DocStylesGetThemeResult>> + Send + 'call {
11279        self.get_theme_with_options(params, InvokeOptions::default())
11280    }
11281    #[doc = "Read the document theme: its 12 theme colors, major and minor fonts, and the color mapping from settings.xml. A missing or malformed theme part returns the default Office theme labeled source 'fallback', with part status and diagnostics. Same theme as doc.get().theme, without the rest of the document."]
11282    pub async fn get_theme_with_options(
11283        &self,
11284        params: &DocStylesGetThemeBoundParams,
11285        options: InvokeOptions,
11286    ) -> Result<DocStylesGetThemeResult> {
11287        let params = serde_json::to_value(params)
11288            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11289        let result = self
11290            .invoker
11291            .invoke("doc.styles.getTheme", params, options)
11292            .await?;
11293        serde_json::from_value(result).map_err(|decode| {
11294            let mut error = Error::decode(decode);
11295            error.operation_id = Some("doc.styles.getTheme".into());
11296            error.outcome_unknown = false;
11297            self.invoker.handle_decode_error(error)
11298        })
11299    }
11300}
11301
11302pub struct DocApiStylesParagraph<'a, I: Invoker> {
11303    invoker: &'a I,
11304}
11305impl<'a, I: Invoker> DocApiStylesParagraph<'a, I> {
11306    pub fn new(invoker: &'a I) -> Self {
11307        Self { invoker }
11308    }
11309
11310    #[doc = "Remove the paragraph style reference from a paragraph-like block."]
11311    pub fn clear_style<'call>(
11312        &'call self,
11313        params: &'call DocStylesParagraphClearStyleBoundParams,
11314    ) -> impl std::future::Future<Output = Result<DocStylesParagraphClearStyleResult>> + Send + 'call
11315    {
11316        self.clear_style_with_options(params, InvokeOptions::default())
11317    }
11318    #[doc = "Remove the paragraph style reference from a paragraph-like block."]
11319    pub async fn clear_style_with_options(
11320        &self,
11321        params: &DocStylesParagraphClearStyleBoundParams,
11322        options: InvokeOptions,
11323    ) -> Result<DocStylesParagraphClearStyleResult> {
11324        let params = serde_json::to_value(params)
11325            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11326        let result = self
11327            .invoker
11328            .invoke("doc.styles.paragraph.clearStyle", params, options)
11329            .await?;
11330        serde_json::from_value(result).map_err(|decode| {
11331            let mut error = Error::decode(decode);
11332            error.operation_id = Some("doc.styles.paragraph.clearStyle".into());
11333            error.outcome_unknown = true;
11334            self.invoker.handle_decode_error(error)
11335        })
11336    }
11337
11338    #[doc = "Apply a paragraph style (w:pStyle) to a paragraph-like block, clearing direct run formatting while preserving character-style references."]
11339    pub fn set_style<'call>(
11340        &'call self,
11341        params: &'call DocStylesParagraphSetStyleBoundParams,
11342    ) -> impl std::future::Future<Output = Result<DocStylesParagraphSetStyleResult>> + Send + 'call
11343    {
11344        self.set_style_with_options(params, InvokeOptions::default())
11345    }
11346    #[doc = "Apply a paragraph style (w:pStyle) to a paragraph-like block, clearing direct run formatting while preserving character-style references."]
11347    pub async fn set_style_with_options(
11348        &self,
11349        params: &DocStylesParagraphSetStyleBoundParams,
11350        options: InvokeOptions,
11351    ) -> Result<DocStylesParagraphSetStyleResult> {
11352        let params = serde_json::to_value(params)
11353            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11354        let result = self
11355            .invoker
11356            .invoke("doc.styles.paragraph.setStyle", params, options)
11357            .await?;
11358        serde_json::from_value(result).map_err(|decode| {
11359            let mut error = Error::decode(decode);
11360            error.operation_id = Some("doc.styles.paragraph.setStyle".into());
11361            error.outcome_unknown = true;
11362            self.invoker.handle_decode_error(error)
11363        })
11364    }
11365
11366    #[doc = "Apply a paragraph style (w:pStyle) to a paragraph-like block without clearing direct run formatting."]
11367    pub fn set_style_ref<'call>(
11368        &'call self,
11369        params: &'call DocStylesParagraphSetStyleRefBoundParams,
11370    ) -> impl std::future::Future<Output = Result<DocStylesParagraphSetStyleRefResult>> + Send + 'call
11371    {
11372        self.set_style_ref_with_options(params, InvokeOptions::default())
11373    }
11374    #[doc = "Apply a paragraph style (w:pStyle) to a paragraph-like block without clearing direct run formatting."]
11375    pub async fn set_style_ref_with_options(
11376        &self,
11377        params: &DocStylesParagraphSetStyleRefBoundParams,
11378        options: InvokeOptions,
11379    ) -> Result<DocStylesParagraphSetStyleRefResult> {
11380        let params = serde_json::to_value(params)
11381            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11382        let result = self
11383            .invoker
11384            .invoke("doc.styles.paragraph.setStyleRef", params, options)
11385            .await?;
11386        serde_json::from_value(result).map_err(|decode| {
11387            let mut error = Error::decode(decode);
11388            error.operation_id = Some("doc.styles.paragraph.setStyleRef".into());
11389            error.outcome_unknown = true;
11390            self.invoker.handle_decode_error(error)
11391        })
11392    }
11393}
11394
11395pub struct DocApiTables<'a, I: Invoker> {
11396    invoker: &'a I,
11397}
11398impl<'a, I: Invoker> DocApiTables<'a, I> {
11399    pub fn new(invoker: &'a I) -> Self {
11400        Self { invoker }
11401    }
11402
11403    #[doc = "Apply a border preset (e.g. all borders, outside only) to a table."]
11404    pub fn apply_border_preset<'call>(
11405        &'call self,
11406        params: &'call DocTablesApplyBorderPresetBoundParams,
11407    ) -> impl std::future::Future<Output = Result<DocTablesApplyBorderPresetResult>> + Send + 'call
11408    {
11409        self.apply_border_preset_with_options(params, InvokeOptions::default())
11410    }
11411    #[doc = "Apply a border preset (e.g. all borders, outside only) to a table."]
11412    pub async fn apply_border_preset_with_options(
11413        &self,
11414        params: &DocTablesApplyBorderPresetBoundParams,
11415        options: InvokeOptions,
11416    ) -> Result<DocTablesApplyBorderPresetResult> {
11417        let params = serde_json::to_value(params)
11418            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11419        let result = self
11420            .invoker
11421            .invoke("doc.tables.applyBorderPreset", params, options)
11422            .await?;
11423        serde_json::from_value(result).map_err(|decode| {
11424            let mut error = Error::decode(decode);
11425            error.operation_id = Some("doc.tables.applyBorderPreset".into());
11426            error.outcome_unknown = true;
11427            self.invoker.handle_decode_error(error)
11428        })
11429    }
11430
11431    #[doc = "Apply a named visual preset to a table. Presets: \"grid\" (1pt black borders all around), \"minimal\" (no outer borders, hairline grey row separators + thicker bottom), \"striped\" (banded rows on, 0.5pt grey borders), \"accent\" (filled header row + thick accent top/bottom; defaults to dark blue, override with `accentColor`). Composes set_borders + set_style_options + header-row shading in one call. Available via the document API and `superdoc_mutations` (intentionally NOT exposed as a top-level action on `superdoc_table`. Agents should compose explicit set_borders / set_shading / set_style_options calls so they always pick concrete colors that match the document context)."]
11432    pub fn apply_preset<'call>(
11433        &'call self,
11434        params: &'call DocTablesApplyPresetBoundParams,
11435    ) -> impl std::future::Future<Output = Result<DocTablesApplyPresetResult>> + Send + 'call {
11436        self.apply_preset_with_options(params, InvokeOptions::default())
11437    }
11438    #[doc = "Apply a named visual preset to a table. Presets: \"grid\" (1pt black borders all around), \"minimal\" (no outer borders, hairline grey row separators + thicker bottom), \"striped\" (banded rows on, 0.5pt grey borders), \"accent\" (filled header row + thick accent top/bottom; defaults to dark blue, override with `accentColor`). Composes set_borders + set_style_options + header-row shading in one call. Available via the document API and `superdoc_mutations` (intentionally NOT exposed as a top-level action on `superdoc_table`. Agents should compose explicit set_borders / set_shading / set_style_options calls so they always pick concrete colors that match the document context)."]
11439    pub async fn apply_preset_with_options(
11440        &self,
11441        params: &DocTablesApplyPresetBoundParams,
11442        options: InvokeOptions,
11443    ) -> Result<DocTablesApplyPresetResult> {
11444        let params = serde_json::to_value(params)
11445            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11446        let result = self
11447            .invoker
11448            .invoke("doc.tables.applyPreset", params, options)
11449            .await?;
11450        serde_json::from_value(result).map_err(|decode| {
11451            let mut error = Error::decode(decode);
11452            error.operation_id = Some("doc.tables.applyPreset".into());
11453            error.outcome_unknown = true;
11454            self.invoker.handle_decode_error(error)
11455        })
11456    }
11457
11458    #[doc = "Toggle conditional-format flags (header row, banded rows/columns, first/last column, last row) on a table. Pass `styleOptions` with the flags you want to set or clear (omitted flags stay unchanged). For \"format the first row as a header\" use `styleOptions: { headerRow: true }`. Optional `styleId` applies a named table style. Leave it unset unless you have a styleId from `superdoc_get_content` (no need to invent one)."]
11459    pub fn apply_style<'call>(
11460        &'call self,
11461        params: &'call DocTablesApplyStyleBoundParams,
11462    ) -> impl std::future::Future<Output = Result<DocTablesApplyStyleResult>> + Send + 'call {
11463        self.apply_style_with_options(params, InvokeOptions::default())
11464    }
11465    #[doc = "Toggle conditional-format flags (header row, banded rows/columns, first/last column, last row) on a table. Pass `styleOptions` with the flags you want to set or clear (omitted flags stay unchanged). For \"format the first row as a header\" use `styleOptions: { headerRow: true }`. Optional `styleId` applies a named table style. Leave it unset unless you have a styleId from `superdoc_get_content` (no need to invent one)."]
11466    pub async fn apply_style_with_options(
11467        &self,
11468        params: &DocTablesApplyStyleBoundParams,
11469        options: InvokeOptions,
11470    ) -> Result<DocTablesApplyStyleResult> {
11471        let params = serde_json::to_value(params)
11472            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11473        let result = self
11474            .invoker
11475            .invoke("doc.tables.applyStyle", params, options)
11476            .await?;
11477        serde_json::from_value(result).map_err(|decode| {
11478            let mut error = Error::decode(decode);
11479            error.operation_id = Some("doc.tables.applyStyle".into());
11480            error.outcome_unknown = true;
11481            self.invoker.handle_decode_error(error)
11482        })
11483    }
11484
11485    #[doc = "Remove border formatting from a table or cell range."]
11486    pub fn clear_border<'call>(
11487        &'call self,
11488        params: &'call DocTablesClearBorderBoundParams,
11489    ) -> impl std::future::Future<Output = Result<DocTablesClearBorderResult>> + Send + 'call {
11490        self.clear_border_with_options(params, InvokeOptions::default())
11491    }
11492    #[doc = "Remove border formatting from a table or cell range."]
11493    pub async fn clear_border_with_options(
11494        &self,
11495        params: &DocTablesClearBorderBoundParams,
11496        options: InvokeOptions,
11497    ) -> Result<DocTablesClearBorderResult> {
11498        let params = serde_json::to_value(params)
11499            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11500        let result = self
11501            .invoker
11502            .invoke("doc.tables.clearBorder", params, options)
11503            .await?;
11504        serde_json::from_value(result).map_err(|decode| {
11505            let mut error = Error::decode(decode);
11506            error.operation_id = Some("doc.tables.clearBorder".into());
11507            error.outcome_unknown = true;
11508            self.invoker.handle_decode_error(error)
11509        })
11510    }
11511
11512    #[doc = "Remove custom cell spacing from the target table."]
11513    pub fn clear_cell_spacing<'call>(
11514        &'call self,
11515        params: &'call DocTablesClearCellSpacingBoundParams,
11516    ) -> impl std::future::Future<Output = Result<DocTablesClearCellSpacingResult>> + Send + 'call
11517    {
11518        self.clear_cell_spacing_with_options(params, InvokeOptions::default())
11519    }
11520    #[doc = "Remove custom cell spacing from the target table."]
11521    pub async fn clear_cell_spacing_with_options(
11522        &self,
11523        params: &DocTablesClearCellSpacingBoundParams,
11524        options: InvokeOptions,
11525    ) -> Result<DocTablesClearCellSpacingResult> {
11526        let params = serde_json::to_value(params)
11527            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11528        let result = self
11529            .invoker
11530            .invoke("doc.tables.clearCellSpacing", params, options)
11531            .await?;
11532        serde_json::from_value(result).map_err(|decode| {
11533            let mut error = Error::decode(decode);
11534            error.operation_id = Some("doc.tables.clearCellSpacing".into());
11535            error.outcome_unknown = true;
11536            self.invoker.handle_decode_error(error)
11537        })
11538    }
11539
11540    #[doc = "Clear the contents of the target table or cell range."]
11541    pub fn clear_contents<'call>(
11542        &'call self,
11543        params: &'call DocTablesClearContentsBoundParams,
11544    ) -> impl std::future::Future<Output = Result<DocTablesClearContentsResult>> + Send + 'call
11545    {
11546        self.clear_contents_with_options(params, InvokeOptions::default())
11547    }
11548    #[doc = "Clear the contents of the target table or cell range."]
11549    pub async fn clear_contents_with_options(
11550        &self,
11551        params: &DocTablesClearContentsBoundParams,
11552        options: InvokeOptions,
11553    ) -> Result<DocTablesClearContentsResult> {
11554        let params = serde_json::to_value(params)
11555            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11556        let result = self
11557            .invoker
11558            .invoke("doc.tables.clearContents", params, options)
11559            .await?;
11560        serde_json::from_value(result).map_err(|decode| {
11561            let mut error = Error::decode(decode);
11562            error.operation_id = Some("doc.tables.clearContents".into());
11563            error.outcome_unknown = true;
11564            self.invoker.handle_decode_error(error)
11565        })
11566    }
11567
11568    #[doc = "Remove the document-level default table style setting."]
11569    pub fn clear_default_style<'call>(
11570        &'call self,
11571        params: &'call DocTablesClearDefaultStyleBoundParams,
11572    ) -> impl std::future::Future<Output = Result<DocTablesClearDefaultStyleResult>> + Send + 'call
11573    {
11574        self.clear_default_style_with_options(params, InvokeOptions::default())
11575    }
11576    #[doc = "Remove the document-level default table style setting."]
11577    pub async fn clear_default_style_with_options(
11578        &self,
11579        params: &DocTablesClearDefaultStyleBoundParams,
11580        options: InvokeOptions,
11581    ) -> Result<DocTablesClearDefaultStyleResult> {
11582        let params = serde_json::to_value(params)
11583            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11584        let result = self
11585            .invoker
11586            .invoke("doc.tables.clearDefaultStyle", params, options)
11587            .await?;
11588        serde_json::from_value(result).map_err(|decode| {
11589            let mut error = Error::decode(decode);
11590            error.operation_id = Some("doc.tables.clearDefaultStyle".into());
11591            error.outcome_unknown = true;
11592            self.invoker.handle_decode_error(error)
11593        })
11594    }
11595
11596    #[doc = "Remove shading from a table or cell range."]
11597    pub fn clear_shading<'call>(
11598        &'call self,
11599        params: &'call DocTablesClearShadingBoundParams,
11600    ) -> impl std::future::Future<Output = Result<DocTablesClearShadingResult>> + Send + 'call {
11601        self.clear_shading_with_options(params, InvokeOptions::default())
11602    }
11603    #[doc = "Remove shading from a table or cell range."]
11604    pub async fn clear_shading_with_options(
11605        &self,
11606        params: &DocTablesClearShadingBoundParams,
11607        options: InvokeOptions,
11608    ) -> Result<DocTablesClearShadingResult> {
11609        let params = serde_json::to_value(params)
11610            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11611        let result = self
11612            .invoker
11613            .invoke("doc.tables.clearShading", params, options)
11614            .await?;
11615        serde_json::from_value(result).map_err(|decode| {
11616            let mut error = Error::decode(decode);
11617            error.operation_id = Some("doc.tables.clearShading".into());
11618            error.outcome_unknown = true;
11619            self.invoker.handle_decode_error(error)
11620        })
11621    }
11622
11623    #[doc = "Remove the applied table style, reverting to defaults."]
11624    pub fn clear_style<'call>(
11625        &'call self,
11626        params: &'call DocTablesClearStyleBoundParams,
11627    ) -> impl std::future::Future<Output = Result<DocTablesClearStyleResult>> + Send + 'call {
11628        self.clear_style_with_options(params, InvokeOptions::default())
11629    }
11630    #[doc = "Remove the applied table style, reverting to defaults."]
11631    pub async fn clear_style_with_options(
11632        &self,
11633        params: &DocTablesClearStyleBoundParams,
11634        options: InvokeOptions,
11635    ) -> Result<DocTablesClearStyleResult> {
11636        let params = serde_json::to_value(params)
11637            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11638        let result = self
11639            .invoker
11640            .invoke("doc.tables.clearStyle", params, options)
11641            .await?;
11642        serde_json::from_value(result).map_err(|decode| {
11643            let mut error = Error::decode(decode);
11644            error.operation_id = Some("doc.tables.clearStyle".into());
11645            error.outcome_unknown = true;
11646            self.invoker.handle_decode_error(error)
11647        })
11648    }
11649
11650    #[doc = "Convert a text range into a table."]
11651    pub fn convert_from_text<'call>(
11652        &'call self,
11653        params: &'call DocTablesConvertFromTextBoundParams,
11654    ) -> impl std::future::Future<Output = Result<DocTablesConvertFromTextResult>> + Send + 'call
11655    {
11656        self.convert_from_text_with_options(params, InvokeOptions::default())
11657    }
11658    #[doc = "Convert a text range into a table."]
11659    pub async fn convert_from_text_with_options(
11660        &self,
11661        params: &DocTablesConvertFromTextBoundParams,
11662        options: InvokeOptions,
11663    ) -> Result<DocTablesConvertFromTextResult> {
11664        let params = serde_json::to_value(params)
11665            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11666        let result = self
11667            .invoker
11668            .invoke("doc.tables.convertFromText", params, options)
11669            .await?;
11670        serde_json::from_value(result).map_err(|decode| {
11671            let mut error = Error::decode(decode);
11672            error.operation_id = Some("doc.tables.convertFromText".into());
11673            error.outcome_unknown = true;
11674            self.invoker.handle_decode_error(error)
11675        })
11676    }
11677
11678    #[doc = "Convert a table back to plain text."]
11679    pub fn convert_to_text<'call>(
11680        &'call self,
11681        params: &'call DocTablesConvertToTextBoundParams,
11682    ) -> impl std::future::Future<Output = Result<DocTablesConvertToTextResult>> + Send + 'call
11683    {
11684        self.convert_to_text_with_options(params, InvokeOptions::default())
11685    }
11686    #[doc = "Convert a table back to plain text."]
11687    pub async fn convert_to_text_with_options(
11688        &self,
11689        params: &DocTablesConvertToTextBoundParams,
11690        options: InvokeOptions,
11691    ) -> Result<DocTablesConvertToTextResult> {
11692        let params = serde_json::to_value(params)
11693            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11694        let result = self
11695            .invoker
11696            .invoke("doc.tables.convertToText", params, options)
11697            .await?;
11698        serde_json::from_value(result).map_err(|decode| {
11699            let mut error = Error::decode(decode);
11700            error.operation_id = Some("doc.tables.convertToText".into());
11701            error.outcome_unknown = true;
11702            self.invoker.handle_decode_error(error)
11703        })
11704    }
11705
11706    #[doc = "Delete the target table from the document."]
11707    pub fn delete<'call>(
11708        &'call self,
11709        params: &'call DocTablesDeleteBoundParams,
11710    ) -> impl std::future::Future<Output = Result<DocTablesDeleteResult>> + Send + 'call {
11711        self.delete_with_options(params, InvokeOptions::default())
11712    }
11713    #[doc = "Delete the target table from the document."]
11714    pub async fn delete_with_options(
11715        &self,
11716        params: &DocTablesDeleteBoundParams,
11717        options: InvokeOptions,
11718    ) -> Result<DocTablesDeleteResult> {
11719        let params = serde_json::to_value(params)
11720            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11721        let result = self
11722            .invoker
11723            .invoke("doc.tables.delete", params, options)
11724            .await?;
11725        serde_json::from_value(result).map_err(|decode| {
11726            let mut error = Error::decode(decode);
11727            error.operation_id = Some("doc.tables.delete".into());
11728            error.outcome_unknown = true;
11729            self.invoker.handle_decode_error(error)
11730        })
11731    }
11732
11733    #[doc = "Delete a cell from a table row."]
11734    pub fn delete_cell<'call>(
11735        &'call self,
11736        params: &'call DocTablesDeleteCellBoundParams,
11737    ) -> impl std::future::Future<Output = Result<DocTablesDeleteCellResult>> + Send + 'call {
11738        self.delete_cell_with_options(params, InvokeOptions::default())
11739    }
11740    #[doc = "Delete a cell from a table row."]
11741    pub async fn delete_cell_with_options(
11742        &self,
11743        params: &DocTablesDeleteCellBoundParams,
11744        options: InvokeOptions,
11745    ) -> Result<DocTablesDeleteCellResult> {
11746        let params = serde_json::to_value(params)
11747            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11748        let result = self
11749            .invoker
11750            .invoke("doc.tables.deleteCell", params, options)
11751            .await?;
11752        serde_json::from_value(result).map_err(|decode| {
11753            let mut error = Error::decode(decode);
11754            error.operation_id = Some("doc.tables.deleteCell".into());
11755            error.outcome_unknown = true;
11756            self.invoker.handle_decode_error(error)
11757        })
11758    }
11759
11760    #[doc = "Delete a column from the target table."]
11761    pub fn delete_column<'call>(
11762        &'call self,
11763        params: &'call DocTablesDeleteColumnBoundParams,
11764    ) -> impl std::future::Future<Output = Result<DocTablesDeleteColumnResult>> + Send + 'call {
11765        self.delete_column_with_options(params, InvokeOptions::default())
11766    }
11767    #[doc = "Delete a column from the target table."]
11768    pub async fn delete_column_with_options(
11769        &self,
11770        params: &DocTablesDeleteColumnBoundParams,
11771        options: InvokeOptions,
11772    ) -> Result<DocTablesDeleteColumnResult> {
11773        let params = serde_json::to_value(params)
11774            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11775        let result = self
11776            .invoker
11777            .invoke("doc.tables.deleteColumn", params, options)
11778            .await?;
11779        serde_json::from_value(result).map_err(|decode| {
11780            let mut error = Error::decode(decode);
11781            error.operation_id = Some("doc.tables.deleteColumn".into());
11782            error.outcome_unknown = true;
11783            self.invoker.handle_decode_error(error)
11784        })
11785    }
11786
11787    #[doc = "Delete a row from the target table."]
11788    pub fn delete_row<'call>(
11789        &'call self,
11790        params: &'call DocTablesDeleteRowBoundParams,
11791    ) -> impl std::future::Future<Output = Result<DocTablesDeleteRowResult>> + Send + 'call {
11792        self.delete_row_with_options(params, InvokeOptions::default())
11793    }
11794    #[doc = "Delete a row from the target table."]
11795    pub async fn delete_row_with_options(
11796        &self,
11797        params: &DocTablesDeleteRowBoundParams,
11798        options: InvokeOptions,
11799    ) -> Result<DocTablesDeleteRowResult> {
11800        let params = serde_json::to_value(params)
11801            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11802        let result = self
11803            .invoker
11804            .invoke("doc.tables.deleteRow", params, options)
11805            .await?;
11806        serde_json::from_value(result).map_err(|decode| {
11807            let mut error = Error::decode(decode);
11808            error.operation_id = Some("doc.tables.deleteRow".into());
11809            error.outcome_unknown = true;
11810            self.invoker.handle_decode_error(error)
11811        })
11812    }
11813
11814    #[doc = "Distribute column widths evenly across the target table."]
11815    pub fn distribute_columns<'call>(
11816        &'call self,
11817        params: &'call DocTablesDistributeColumnsBoundParams,
11818    ) -> impl std::future::Future<Output = Result<DocTablesDistributeColumnsResult>> + Send + 'call
11819    {
11820        self.distribute_columns_with_options(params, InvokeOptions::default())
11821    }
11822    #[doc = "Distribute column widths evenly across the target table."]
11823    pub async fn distribute_columns_with_options(
11824        &self,
11825        params: &DocTablesDistributeColumnsBoundParams,
11826        options: InvokeOptions,
11827    ) -> Result<DocTablesDistributeColumnsResult> {
11828        let params = serde_json::to_value(params)
11829            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11830        let result = self
11831            .invoker
11832            .invoke("doc.tables.distributeColumns", params, options)
11833            .await?;
11834        serde_json::from_value(result).map_err(|decode| {
11835            let mut error = Error::decode(decode);
11836            error.operation_id = Some("doc.tables.distributeColumns".into());
11837            error.outcome_unknown = true;
11838            self.invoker.handle_decode_error(error)
11839        })
11840    }
11841
11842    #[doc = "Distribute row heights evenly across the target table."]
11843    pub fn distribute_rows<'call>(
11844        &'call self,
11845        params: &'call DocTablesDistributeRowsBoundParams,
11846    ) -> impl std::future::Future<Output = Result<DocTablesDistributeRowsResult>> + Send + 'call
11847    {
11848        self.distribute_rows_with_options(params, InvokeOptions::default())
11849    }
11850    #[doc = "Distribute row heights evenly across the target table."]
11851    pub async fn distribute_rows_with_options(
11852        &self,
11853        params: &DocTablesDistributeRowsBoundParams,
11854        options: InvokeOptions,
11855    ) -> Result<DocTablesDistributeRowsResult> {
11856        let params = serde_json::to_value(params)
11857            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11858        let result = self
11859            .invoker
11860            .invoke("doc.tables.distributeRows", params, options)
11861            .await?;
11862        serde_json::from_value(result).map_err(|decode| {
11863            let mut error = Error::decode(decode);
11864            error.operation_id = Some("doc.tables.distributeRows".into());
11865            error.outcome_unknown = true;
11866            self.invoker.handle_decode_error(error)
11867        })
11868    }
11869
11870    #[doc = "Retrieve table structure and dimensions by locator."]
11871    pub fn get<'call>(
11872        &'call self,
11873        params: &'call DocTablesGetBoundParams,
11874    ) -> impl std::future::Future<Output = Result<DocTablesGetResult>> + Send + 'call {
11875        self.get_with_options(params, InvokeOptions::default())
11876    }
11877    #[doc = "Retrieve table structure and dimensions by locator."]
11878    pub async fn get_with_options(
11879        &self,
11880        params: &DocTablesGetBoundParams,
11881        options: InvokeOptions,
11882    ) -> Result<DocTablesGetResult> {
11883        let params = serde_json::to_value(params)
11884            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11885        let result = self
11886            .invoker
11887            .invoke("doc.tables.get", params, options)
11888            .await?;
11889        serde_json::from_value(result).map_err(|decode| {
11890            let mut error = Error::decode(decode);
11891            error.operation_id = Some("doc.tables.get".into());
11892            error.outcome_unknown = false;
11893            self.invoker.handle_decode_error(error)
11894        })
11895    }
11896
11897    #[doc = "Retrieve cell information for a table, optionally filtered by row or column."]
11898    pub fn get_cells<'call>(
11899        &'call self,
11900        params: &'call DocTablesGetCellsBoundParams,
11901    ) -> impl std::future::Future<Output = Result<DocTablesGetCellsResult>> + Send + 'call {
11902        self.get_cells_with_options(params, InvokeOptions::default())
11903    }
11904    #[doc = "Retrieve cell information for a table, optionally filtered by row or column."]
11905    pub async fn get_cells_with_options(
11906        &self,
11907        params: &DocTablesGetCellsBoundParams,
11908        options: InvokeOptions,
11909    ) -> Result<DocTablesGetCellsResult> {
11910        let params = serde_json::to_value(params)
11911            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11912        let result = self
11913            .invoker
11914            .invoke("doc.tables.getCells", params, options)
11915            .await?;
11916        serde_json::from_value(result).map_err(|decode| {
11917            let mut error = Error::decode(decode);
11918            error.operation_id = Some("doc.tables.getCells".into());
11919            error.outcome_unknown = false;
11920            self.invoker.handle_decode_error(error)
11921        })
11922    }
11923
11924    #[doc = "Retrieve layout and style properties of a table."]
11925    pub fn get_properties<'call>(
11926        &'call self,
11927        params: &'call DocTablesGetPropertiesBoundParams,
11928    ) -> impl std::future::Future<Output = Result<DocTablesGetPropertiesResult>> + Send + 'call
11929    {
11930        self.get_properties_with_options(params, InvokeOptions::default())
11931    }
11932    #[doc = "Retrieve layout and style properties of a table."]
11933    pub async fn get_properties_with_options(
11934        &self,
11935        params: &DocTablesGetPropertiesBoundParams,
11936        options: InvokeOptions,
11937    ) -> Result<DocTablesGetPropertiesResult> {
11938        let params = serde_json::to_value(params)
11939            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11940        let result = self
11941            .invoker
11942            .invoke("doc.tables.getProperties", params, options)
11943            .await?;
11944        serde_json::from_value(result).map_err(|decode| {
11945            let mut error = Error::decode(decode);
11946            error.operation_id = Some("doc.tables.getProperties".into());
11947            error.outcome_unknown = false;
11948            self.invoker.handle_decode_error(error)
11949        })
11950    }
11951
11952    #[doc = "List all table styles and the document-level default table style setting."]
11953    pub fn get_styles<'call>(
11954        &'call self,
11955        params: &'call DocTablesGetStylesBoundParams,
11956    ) -> impl std::future::Future<Output = Result<DocTablesGetStylesResult>> + Send + 'call {
11957        self.get_styles_with_options(params, InvokeOptions::default())
11958    }
11959    #[doc = "List all table styles and the document-level default table style setting."]
11960    pub async fn get_styles_with_options(
11961        &self,
11962        params: &DocTablesGetStylesBoundParams,
11963        options: InvokeOptions,
11964    ) -> Result<DocTablesGetStylesResult> {
11965        let params = serde_json::to_value(params)
11966            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11967        let result = self
11968            .invoker
11969            .invoke("doc.tables.getStyles", params, options)
11970            .await?;
11971        serde_json::from_value(result).map_err(|decode| {
11972            let mut error = Error::decode(decode);
11973            error.operation_id = Some("doc.tables.getStyles".into());
11974            error.outcome_unknown = false;
11975            self.invoker.handle_decode_error(error)
11976        })
11977    }
11978
11979    #[doc = "Insert a new cell into a table row."]
11980    pub fn insert_cell<'call>(
11981        &'call self,
11982        params: &'call DocTablesInsertCellBoundParams,
11983    ) -> impl std::future::Future<Output = Result<DocTablesInsertCellResult>> + Send + 'call {
11984        self.insert_cell_with_options(params, InvokeOptions::default())
11985    }
11986    #[doc = "Insert a new cell into a table row."]
11987    pub async fn insert_cell_with_options(
11988        &self,
11989        params: &DocTablesInsertCellBoundParams,
11990        options: InvokeOptions,
11991    ) -> Result<DocTablesInsertCellResult> {
11992        let params = serde_json::to_value(params)
11993            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
11994        let result = self
11995            .invoker
11996            .invoke("doc.tables.insertCell", params, options)
11997            .await?;
11998        serde_json::from_value(result).map_err(|decode| {
11999            let mut error = Error::decode(decode);
12000            error.operation_id = Some("doc.tables.insertCell".into());
12001            error.outcome_unknown = true;
12002            self.invoker.handle_decode_error(error)
12003        })
12004    }
12005
12006    #[doc = "Insert a new column into the target table. The new column is cloned from an adjacent column, so it inherits the existing cell shading, borders, alignment, and width. No follow-up styling call is needed unless the new column should look different from the rest of the table."]
12007    pub fn insert_column<'call>(
12008        &'call self,
12009        params: &'call DocTablesInsertColumnBoundParams,
12010    ) -> impl std::future::Future<Output = Result<DocTablesInsertColumnResult>> + Send + 'call {
12011        self.insert_column_with_options(params, InvokeOptions::default())
12012    }
12013    #[doc = "Insert a new column into the target table. The new column is cloned from an adjacent column, so it inherits the existing cell shading, borders, alignment, and width. No follow-up styling call is needed unless the new column should look different from the rest of the table."]
12014    pub async fn insert_column_with_options(
12015        &self,
12016        params: &DocTablesInsertColumnBoundParams,
12017        options: InvokeOptions,
12018    ) -> Result<DocTablesInsertColumnResult> {
12019        let params = serde_json::to_value(params)
12020            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12021        let result = self
12022            .invoker
12023            .invoke("doc.tables.insertColumn", params, options)
12024            .await?;
12025        serde_json::from_value(result).map_err(|decode| {
12026            let mut error = Error::decode(decode);
12027            error.operation_id = Some("doc.tables.insertColumn".into());
12028            error.outcome_unknown = true;
12029            self.invoker.handle_decode_error(error)
12030        })
12031    }
12032
12033    #[doc = "Insert a new row into the target table. The new row is cloned from an adjacent row, so it inherits the existing cell shading, borders, alignment, and padding. No follow-up styling call is needed unless the new row should look different from the rest of the table."]
12034    pub fn insert_row<'call>(
12035        &'call self,
12036        params: &'call DocTablesInsertRowBoundParams,
12037    ) -> impl std::future::Future<Output = Result<DocTablesInsertRowResult>> + Send + 'call {
12038        self.insert_row_with_options(params, InvokeOptions::default())
12039    }
12040    #[doc = "Insert a new row into the target table. The new row is cloned from an adjacent row, so it inherits the existing cell shading, borders, alignment, and padding. No follow-up styling call is needed unless the new row should look different from the rest of the table."]
12041    pub async fn insert_row_with_options(
12042        &self,
12043        params: &DocTablesInsertRowBoundParams,
12044        options: InvokeOptions,
12045    ) -> Result<DocTablesInsertRowResult> {
12046        let params = serde_json::to_value(params)
12047            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12048        let result = self
12049            .invoker
12050            .invoke("doc.tables.insertRow", params, options)
12051            .await?;
12052        serde_json::from_value(result).map_err(|decode| {
12053            let mut error = Error::decode(decode);
12054            error.operation_id = Some("doc.tables.insertRow".into());
12055            error.outcome_unknown = true;
12056            self.invoker.handle_decode_error(error)
12057        })
12058    }
12059
12060    #[doc = "Merge a range of table cells into one."]
12061    pub fn merge_cells<'call>(
12062        &'call self,
12063        params: &'call DocTablesMergeCellsBoundParams,
12064    ) -> impl std::future::Future<Output = Result<DocTablesMergeCellsResult>> + Send + 'call {
12065        self.merge_cells_with_options(params, InvokeOptions::default())
12066    }
12067    #[doc = "Merge a range of table cells into one."]
12068    pub async fn merge_cells_with_options(
12069        &self,
12070        params: &DocTablesMergeCellsBoundParams,
12071        options: InvokeOptions,
12072    ) -> Result<DocTablesMergeCellsResult> {
12073        let params = serde_json::to_value(params)
12074            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12075        let result = self
12076            .invoker
12077            .invoke("doc.tables.mergeCells", params, options)
12078            .await?;
12079        serde_json::from_value(result).map_err(|decode| {
12080            let mut error = Error::decode(decode);
12081            error.operation_id = Some("doc.tables.mergeCells".into());
12082            error.outcome_unknown = true;
12083            self.invoker.handle_decode_error(error)
12084        })
12085    }
12086
12087    #[doc = "Move a table to a new position in the document."]
12088    pub fn move_<'call>(
12089        &'call self,
12090        params: &'call DocTablesMoveBoundParams,
12091    ) -> impl std::future::Future<Output = Result<DocTablesMoveResult>> + Send + 'call {
12092        self.move_with_options(params, InvokeOptions::default())
12093    }
12094    #[doc = "Move a table to a new position in the document."]
12095    pub async fn move_with_options(
12096        &self,
12097        params: &DocTablesMoveBoundParams,
12098        options: InvokeOptions,
12099    ) -> Result<DocTablesMoveResult> {
12100        let params = serde_json::to_value(params)
12101            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12102        let result = self
12103            .invoker
12104            .invoke("doc.tables.move", params, options)
12105            .await?;
12106        serde_json::from_value(result).map_err(|decode| {
12107            let mut error = Error::decode(decode);
12108            error.operation_id = Some("doc.tables.move".into());
12109            error.outcome_unknown = true;
12110            self.invoker.handle_decode_error(error)
12111        })
12112    }
12113
12114    #[doc = "Move a column to a new position within the same table. Direct mode only; tables with vertical merges, nested tables, or irregular column coverage are rejected, and tracked (suggesting) mode is not supported yet."]
12115    pub fn move_column<'call>(
12116        &'call self,
12117        params: &'call DocTablesMoveColumnBoundParams,
12118    ) -> impl std::future::Future<Output = Result<DocTablesMoveColumnResult>> + Send + 'call {
12119        self.move_column_with_options(params, InvokeOptions::default())
12120    }
12121    #[doc = "Move a column to a new position within the same table. Direct mode only; tables with vertical merges, nested tables, or irregular column coverage are rejected, and tracked (suggesting) mode is not supported yet."]
12122    pub async fn move_column_with_options(
12123        &self,
12124        params: &DocTablesMoveColumnBoundParams,
12125        options: InvokeOptions,
12126    ) -> Result<DocTablesMoveColumnResult> {
12127        let params = serde_json::to_value(params)
12128            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12129        let result = self
12130            .invoker
12131            .invoke("doc.tables.moveColumn", params, options)
12132            .await?;
12133        serde_json::from_value(result).map_err(|decode| {
12134            let mut error = Error::decode(decode);
12135            error.operation_id = Some("doc.tables.moveColumn".into());
12136            error.outcome_unknown = true;
12137            self.invoker.handle_decode_error(error)
12138        })
12139    }
12140
12141    #[doc = "Move a row to a new position within the same table."]
12142    pub fn move_row<'call>(
12143        &'call self,
12144        params: &'call DocTablesMoveRowBoundParams,
12145    ) -> impl std::future::Future<Output = Result<DocTablesMoveRowResult>> + Send + 'call {
12146        self.move_row_with_options(params, InvokeOptions::default())
12147    }
12148    #[doc = "Move a row to a new position within the same table."]
12149    pub async fn move_row_with_options(
12150        &self,
12151        params: &DocTablesMoveRowBoundParams,
12152        options: InvokeOptions,
12153    ) -> Result<DocTablesMoveRowResult> {
12154        let params = serde_json::to_value(params)
12155            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12156        let result = self
12157            .invoker
12158            .invoke("doc.tables.moveRow", params, options)
12159            .await?;
12160        serde_json::from_value(result).map_err(|decode| {
12161            let mut error = Error::decode(decode);
12162            error.operation_id = Some("doc.tables.moveRow".into());
12163            error.outcome_unknown = true;
12164            self.invoker.handle_decode_error(error)
12165        })
12166    }
12167
12168    #[doc = "Set the alternative text description for a table."]
12169    pub fn set_alt_text<'call>(
12170        &'call self,
12171        params: &'call DocTablesSetAltTextBoundParams,
12172    ) -> impl std::future::Future<Output = Result<DocTablesSetAltTextResult>> + Send + 'call {
12173        self.set_alt_text_with_options(params, InvokeOptions::default())
12174    }
12175    #[doc = "Set the alternative text description for a table."]
12176    pub async fn set_alt_text_with_options(
12177        &self,
12178        params: &DocTablesSetAltTextBoundParams,
12179        options: InvokeOptions,
12180    ) -> Result<DocTablesSetAltTextResult> {
12181        let params = serde_json::to_value(params)
12182            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12183        let result = self
12184            .invoker
12185            .invoke("doc.tables.setAltText", params, options)
12186            .await?;
12187        serde_json::from_value(result).map_err(|decode| {
12188            let mut error = Error::decode(decode);
12189            error.operation_id = Some("doc.tables.setAltText".into());
12190            error.outcome_unknown = true;
12191            self.invoker.handle_decode_error(error)
12192        })
12193    }
12194
12195    #[doc = "Set border properties on a table or cell range."]
12196    pub fn set_border<'call>(
12197        &'call self,
12198        params: &'call DocTablesSetBorderBoundParams,
12199    ) -> impl std::future::Future<Output = Result<DocTablesSetBorderResult>> + Send + 'call {
12200        self.set_border_with_options(params, InvokeOptions::default())
12201    }
12202    #[doc = "Set border properties on a table or cell range."]
12203    pub async fn set_border_with_options(
12204        &self,
12205        params: &DocTablesSetBorderBoundParams,
12206        options: InvokeOptions,
12207    ) -> Result<DocTablesSetBorderResult> {
12208        let params = serde_json::to_value(params)
12209            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12210        let result = self
12211            .invoker
12212            .invoke("doc.tables.setBorder", params, options)
12213            .await?;
12214        serde_json::from_value(result).map_err(|decode| {
12215            let mut error = Error::decode(decode);
12216            error.operation_id = Some("doc.tables.setBorder".into());
12217            error.outcome_unknown = true;
12218            self.invoker.handle_decode_error(error)
12219        })
12220    }
12221
12222    #[doc = "Set borders on a table using a target set or per-edge patch."]
12223    pub fn set_borders<'call>(
12224        &'call self,
12225        params: &'call DocTablesSetBordersBoundParams,
12226    ) -> impl std::future::Future<Output = Result<DocTablesSetBordersResult>> + Send + 'call {
12227        self.set_borders_with_options(params, InvokeOptions::default())
12228    }
12229    #[doc = "Set borders on a table using a target set or per-edge patch."]
12230    pub async fn set_borders_with_options(
12231        &self,
12232        params: &DocTablesSetBordersBoundParams,
12233        options: InvokeOptions,
12234    ) -> Result<DocTablesSetBordersResult> {
12235        let params = serde_json::to_value(params)
12236            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12237        let result = self
12238            .invoker
12239            .invoke("doc.tables.setBorders", params, options)
12240            .await?;
12241        serde_json::from_value(result).map_err(|decode| {
12242            let mut error = Error::decode(decode);
12243            error.operation_id = Some("doc.tables.setBorders".into());
12244            error.outcome_unknown = true;
12245            self.invoker.handle_decode_error(error)
12246        })
12247    }
12248
12249    #[doc = "Set padding on a specific table cell or cell range."]
12250    pub fn set_cell_padding<'call>(
12251        &'call self,
12252        params: &'call DocTablesSetCellPaddingBoundParams,
12253    ) -> impl std::future::Future<Output = Result<DocTablesSetCellPaddingResult>> + Send + 'call
12254    {
12255        self.set_cell_padding_with_options(params, InvokeOptions::default())
12256    }
12257    #[doc = "Set padding on a specific table cell or cell range."]
12258    pub async fn set_cell_padding_with_options(
12259        &self,
12260        params: &DocTablesSetCellPaddingBoundParams,
12261        options: InvokeOptions,
12262    ) -> Result<DocTablesSetCellPaddingResult> {
12263        let params = serde_json::to_value(params)
12264            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12265        let result = self
12266            .invoker
12267            .invoke("doc.tables.setCellPadding", params, options)
12268            .await?;
12269        serde_json::from_value(result).map_err(|decode| {
12270            let mut error = Error::decode(decode);
12271            error.operation_id = Some("doc.tables.setCellPadding".into());
12272            error.outcome_unknown = true;
12273            self.invoker.handle_decode_error(error)
12274        })
12275    }
12276
12277    #[doc = "Set non-text properties on a single table cell: vertical alignment, text wrapping, fit-text, or preferred width. Requires a cell-level target (a tableCell block address with kind, nodeType, nodeId). Does NOT accept a table target with rowIndex/columnIndex. To set the text content of a cell, use action \"set_cell_text\" instead."]
12278    pub fn set_cell_properties<'call>(
12279        &'call self,
12280        params: &'call DocTablesSetCellPropertiesBoundParams,
12281    ) -> impl std::future::Future<Output = Result<DocTablesSetCellPropertiesResult>> + Send + 'call
12282    {
12283        self.set_cell_properties_with_options(params, InvokeOptions::default())
12284    }
12285    #[doc = "Set non-text properties on a single table cell: vertical alignment, text wrapping, fit-text, or preferred width. Requires a cell-level target (a tableCell block address with kind, nodeType, nodeId). Does NOT accept a table target with rowIndex/columnIndex. To set the text content of a cell, use action \"set_cell_text\" instead."]
12286    pub async fn set_cell_properties_with_options(
12287        &self,
12288        params: &DocTablesSetCellPropertiesBoundParams,
12289        options: InvokeOptions,
12290    ) -> Result<DocTablesSetCellPropertiesResult> {
12291        let params = serde_json::to_value(params)
12292            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12293        let result = self
12294            .invoker
12295            .invoke("doc.tables.setCellProperties", params, options)
12296            .await?;
12297        serde_json::from_value(result).map_err(|decode| {
12298            let mut error = Error::decode(decode);
12299            error.operation_id = Some("doc.tables.setCellProperties".into());
12300            error.outcome_unknown = true;
12301            self.invoker.handle_decode_error(error)
12302        })
12303    }
12304
12305    #[doc = "Set the cell spacing for the target table."]
12306    pub fn set_cell_spacing<'call>(
12307        &'call self,
12308        params: &'call DocTablesSetCellSpacingBoundParams,
12309    ) -> impl std::future::Future<Output = Result<DocTablesSetCellSpacingResult>> + Send + 'call
12310    {
12311        self.set_cell_spacing_with_options(params, InvokeOptions::default())
12312    }
12313    #[doc = "Set the cell spacing for the target table."]
12314    pub async fn set_cell_spacing_with_options(
12315        &self,
12316        params: &DocTablesSetCellSpacingBoundParams,
12317        options: InvokeOptions,
12318    ) -> Result<DocTablesSetCellSpacingResult> {
12319        let params = serde_json::to_value(params)
12320            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12321        let result = self
12322            .invoker
12323            .invoke("doc.tables.setCellSpacing", params, options)
12324            .await?;
12325        serde_json::from_value(result).map_err(|decode| {
12326            let mut error = Error::decode(decode);
12327            error.operation_id = Some("doc.tables.setCellSpacing".into());
12328            error.outcome_unknown = true;
12329            self.invoker.handle_decode_error(error)
12330        })
12331    }
12332
12333    #[doc = "Replace the text content of a single table cell with plain text (one paragraph). Accepts either a direct cell locator (a tableCell block address with kind, nodeType, nodeId) OR a table target with rowIndex + columnIndex. Cell properties (vertical alignment, shading, borders, colspan/rowspan) are preserved. Use this for filling cells with values, replacing cell text, or populating empty tables. Much simpler than walking paragraphs and runs through superdoc_edit."]
12334    pub fn set_cell_text<'call>(
12335        &'call self,
12336        params: &'call DocTablesSetCellTextBoundParams,
12337    ) -> impl std::future::Future<Output = Result<DocTablesSetCellTextResult>> + Send + 'call {
12338        self.set_cell_text_with_options(params, InvokeOptions::default())
12339    }
12340    #[doc = "Replace the text content of a single table cell with plain text (one paragraph). Accepts either a direct cell locator (a tableCell block address with kind, nodeType, nodeId) OR a table target with rowIndex + columnIndex. Cell properties (vertical alignment, shading, borders, colspan/rowspan) are preserved. Use this for filling cells with values, replacing cell text, or populating empty tables. Much simpler than walking paragraphs and runs through superdoc_edit."]
12341    pub async fn set_cell_text_with_options(
12342        &self,
12343        params: &DocTablesSetCellTextBoundParams,
12344        options: InvokeOptions,
12345    ) -> Result<DocTablesSetCellTextResult> {
12346        let params = serde_json::to_value(params)
12347            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12348        let result = self
12349            .invoker
12350            .invoke("doc.tables.setCellText", params, options)
12351            .await?;
12352        serde_json::from_value(result).map_err(|decode| {
12353            let mut error = Error::decode(decode);
12354            error.operation_id = Some("doc.tables.setCellText".into());
12355            error.outcome_unknown = true;
12356            self.invoker.handle_decode_error(error)
12357        })
12358    }
12359
12360    #[doc = "Set the width of a table column."]
12361    pub fn set_column_width<'call>(
12362        &'call self,
12363        params: &'call DocTablesSetColumnWidthBoundParams,
12364    ) -> impl std::future::Future<Output = Result<DocTablesSetColumnWidthResult>> + Send + 'call
12365    {
12366        self.set_column_width_with_options(params, InvokeOptions::default())
12367    }
12368    #[doc = "Set the width of a table column."]
12369    pub async fn set_column_width_with_options(
12370        &self,
12371        params: &DocTablesSetColumnWidthBoundParams,
12372        options: InvokeOptions,
12373    ) -> Result<DocTablesSetColumnWidthResult> {
12374        let params = serde_json::to_value(params)
12375            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12376        let result = self
12377            .invoker
12378            .invoke("doc.tables.setColumnWidth", params, options)
12379            .await?;
12380        serde_json::from_value(result).map_err(|decode| {
12381            let mut error = Error::decode(decode);
12382            error.operation_id = Some("doc.tables.setColumnWidth".into());
12383            error.outcome_unknown = true;
12384            self.invoker.handle_decode_error(error)
12385        })
12386    }
12387
12388    #[doc = "Set the document-level default table style (w:defaultTableStyle in settings.xml)."]
12389    pub fn set_default_style<'call>(
12390        &'call self,
12391        params: &'call DocTablesSetDefaultStyleBoundParams,
12392    ) -> impl std::future::Future<Output = Result<DocTablesSetDefaultStyleResult>> + Send + 'call
12393    {
12394        self.set_default_style_with_options(params, InvokeOptions::default())
12395    }
12396    #[doc = "Set the document-level default table style (w:defaultTableStyle in settings.xml)."]
12397    pub async fn set_default_style_with_options(
12398        &self,
12399        params: &DocTablesSetDefaultStyleBoundParams,
12400        options: InvokeOptions,
12401    ) -> Result<DocTablesSetDefaultStyleResult> {
12402        let params = serde_json::to_value(params)
12403            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12404        let result = self
12405            .invoker
12406            .invoke("doc.tables.setDefaultStyle", params, options)
12407            .await?;
12408        serde_json::from_value(result).map_err(|decode| {
12409            let mut error = Error::decode(decode);
12410            error.operation_id = Some("doc.tables.setDefaultStyle".into());
12411            error.outcome_unknown = true;
12412            self.invoker.handle_decode_error(error)
12413        })
12414    }
12415
12416    #[doc = "Set the layout mode of the target table."]
12417    pub fn set_layout<'call>(
12418        &'call self,
12419        params: &'call DocTablesSetLayoutBoundParams,
12420    ) -> impl std::future::Future<Output = Result<DocTablesSetLayoutResult>> + Send + 'call {
12421        self.set_layout_with_options(params, InvokeOptions::default())
12422    }
12423    #[doc = "Set the layout mode of the target table."]
12424    pub async fn set_layout_with_options(
12425        &self,
12426        params: &DocTablesSetLayoutBoundParams,
12427        options: InvokeOptions,
12428    ) -> Result<DocTablesSetLayoutResult> {
12429        let params = serde_json::to_value(params)
12430            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12431        let result = self
12432            .invoker
12433            .invoke("doc.tables.setLayout", params, options)
12434            .await?;
12435        serde_json::from_value(result).map_err(|decode| {
12436            let mut error = Error::decode(decode);
12437            error.operation_id = Some("doc.tables.setLayout".into());
12438            error.outcome_unknown = true;
12439            self.invoker.handle_decode_error(error)
12440        })
12441    }
12442
12443    #[doc = "Set the height of a table row."]
12444    pub fn set_row_height<'call>(
12445        &'call self,
12446        params: &'call DocTablesSetRowHeightBoundParams,
12447    ) -> impl std::future::Future<Output = Result<DocTablesSetRowHeightResult>> + Send + 'call {
12448        self.set_row_height_with_options(params, InvokeOptions::default())
12449    }
12450    #[doc = "Set the height of a table row."]
12451    pub async fn set_row_height_with_options(
12452        &self,
12453        params: &DocTablesSetRowHeightBoundParams,
12454        options: InvokeOptions,
12455    ) -> Result<DocTablesSetRowHeightResult> {
12456        let params = serde_json::to_value(params)
12457            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12458        let result = self
12459            .invoker
12460            .invoke("doc.tables.setRowHeight", params, options)
12461            .await?;
12462        serde_json::from_value(result).map_err(|decode| {
12463            let mut error = Error::decode(decode);
12464            error.operation_id = Some("doc.tables.setRowHeight".into());
12465            error.outcome_unknown = true;
12466            self.invoker.handle_decode_error(error)
12467        })
12468    }
12469
12470    #[doc = "Set options on a table row such as header repeat or page break."]
12471    pub fn set_row_options<'call>(
12472        &'call self,
12473        params: &'call DocTablesSetRowOptionsBoundParams,
12474    ) -> impl std::future::Future<Output = Result<DocTablesSetRowOptionsResult>> + Send + 'call
12475    {
12476        self.set_row_options_with_options(params, InvokeOptions::default())
12477    }
12478    #[doc = "Set options on a table row such as header repeat or page break."]
12479    pub async fn set_row_options_with_options(
12480        &self,
12481        params: &DocTablesSetRowOptionsBoundParams,
12482        options: InvokeOptions,
12483    ) -> Result<DocTablesSetRowOptionsResult> {
12484        let params = serde_json::to_value(params)
12485            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12486        let result = self
12487            .invoker
12488            .invoke("doc.tables.setRowOptions", params, options)
12489            .await?;
12490        serde_json::from_value(result).map_err(|decode| {
12491            let mut error = Error::decode(decode);
12492            error.operation_id = Some("doc.tables.setRowOptions".into());
12493            error.outcome_unknown = true;
12494            self.invoker.handle_decode_error(error)
12495        })
12496    }
12497
12498    #[doc = "Set the background shading color on a table or cell range."]
12499    pub fn set_shading<'call>(
12500        &'call self,
12501        params: &'call DocTablesSetShadingBoundParams,
12502    ) -> impl std::future::Future<Output = Result<DocTablesSetShadingResult>> + Send + 'call {
12503        self.set_shading_with_options(params, InvokeOptions::default())
12504    }
12505    #[doc = "Set the background shading color on a table or cell range."]
12506    pub async fn set_shading_with_options(
12507        &self,
12508        params: &DocTablesSetShadingBoundParams,
12509        options: InvokeOptions,
12510    ) -> Result<DocTablesSetShadingResult> {
12511        let params = serde_json::to_value(params)
12512            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12513        let result = self
12514            .invoker
12515            .invoke("doc.tables.setShading", params, options)
12516            .await?;
12517        serde_json::from_value(result).map_err(|decode| {
12518            let mut error = Error::decode(decode);
12519            error.operation_id = Some("doc.tables.setShading".into());
12520            error.outcome_unknown = true;
12521            self.invoker.handle_decode_error(error)
12522        })
12523    }
12524
12525    #[doc = "Apply a named table style to the target table, or clear the style when styleId is omitted."]
12526    pub fn set_style<'call>(
12527        &'call self,
12528        params: &'call DocTablesSetStyleBoundParams,
12529    ) -> impl std::future::Future<Output = Result<DocTablesSetStyleResult>> + Send + 'call {
12530        self.set_style_with_options(params, InvokeOptions::default())
12531    }
12532    #[doc = "Apply a named table style to the target table, or clear the style when styleId is omitted."]
12533    pub async fn set_style_with_options(
12534        &self,
12535        params: &DocTablesSetStyleBoundParams,
12536        options: InvokeOptions,
12537    ) -> Result<DocTablesSetStyleResult> {
12538        let params = serde_json::to_value(params)
12539            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12540        let result = self
12541            .invoker
12542            .invoke("doc.tables.setStyle", params, options)
12543            .await?;
12544        serde_json::from_value(result).map_err(|decode| {
12545            let mut error = Error::decode(decode);
12546            error.operation_id = Some("doc.tables.setStyle".into());
12547            error.outcome_unknown = true;
12548            self.invoker.handle_decode_error(error)
12549        })
12550    }
12551
12552    #[doc = "Toggle a conditional style option such as banded rows or first column."]
12553    pub fn set_style_option<'call>(
12554        &'call self,
12555        params: &'call DocTablesSetStyleOptionBoundParams,
12556    ) -> impl std::future::Future<Output = Result<DocTablesSetStyleOptionResult>> + Send + 'call
12557    {
12558        self.set_style_option_with_options(params, InvokeOptions::default())
12559    }
12560    #[doc = "Toggle a conditional style option such as banded rows or first column."]
12561    pub async fn set_style_option_with_options(
12562        &self,
12563        params: &DocTablesSetStyleOptionBoundParams,
12564        options: InvokeOptions,
12565    ) -> Result<DocTablesSetStyleOptionResult> {
12566        let params = serde_json::to_value(params)
12567            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12568        let result = self
12569            .invoker
12570            .invoke("doc.tables.setStyleOption", params, options)
12571            .await?;
12572        serde_json::from_value(result).map_err(|decode| {
12573            let mut error = Error::decode(decode);
12574            error.operation_id = Some("doc.tables.setStyleOption".into());
12575            error.outcome_unknown = true;
12576            self.invoker.handle_decode_error(error)
12577        })
12578    }
12579
12580    #[doc = "Set table-level default cell margins and/or cell spacing."]
12581    pub fn set_table_options<'call>(
12582        &'call self,
12583        params: &'call DocTablesSetTableOptionsBoundParams,
12584    ) -> impl std::future::Future<Output = Result<DocTablesSetTableOptionsResult>> + Send + 'call
12585    {
12586        self.set_table_options_with_options(params, InvokeOptions::default())
12587    }
12588    #[doc = "Set table-level default cell margins and/or cell spacing."]
12589    pub async fn set_table_options_with_options(
12590        &self,
12591        params: &DocTablesSetTableOptionsBoundParams,
12592        options: InvokeOptions,
12593    ) -> Result<DocTablesSetTableOptionsResult> {
12594        let params = serde_json::to_value(params)
12595            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12596        let result = self
12597            .invoker
12598            .invoke("doc.tables.setTableOptions", params, options)
12599            .await?;
12600        serde_json::from_value(result).map_err(|decode| {
12601            let mut error = Error::decode(decode);
12602            error.operation_id = Some("doc.tables.setTableOptions".into());
12603            error.outcome_unknown = true;
12604            self.invoker.handle_decode_error(error)
12605        })
12606    }
12607
12608    #[doc = "Set default cell padding for the entire table."]
12609    pub fn set_table_padding<'call>(
12610        &'call self,
12611        params: &'call DocTablesSetTablePaddingBoundParams,
12612    ) -> impl std::future::Future<Output = Result<DocTablesSetTablePaddingResult>> + Send + 'call
12613    {
12614        self.set_table_padding_with_options(params, InvokeOptions::default())
12615    }
12616    #[doc = "Set default cell padding for the entire table."]
12617    pub async fn set_table_padding_with_options(
12618        &self,
12619        params: &DocTablesSetTablePaddingBoundParams,
12620        options: InvokeOptions,
12621    ) -> Result<DocTablesSetTablePaddingResult> {
12622        let params = serde_json::to_value(params)
12623            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12624        let result = self
12625            .invoker
12626            .invoke("doc.tables.setTablePadding", params, options)
12627            .await?;
12628        serde_json::from_value(result).map_err(|decode| {
12629            let mut error = Error::decode(decode);
12630            error.operation_id = Some("doc.tables.setTablePadding".into());
12631            error.outcome_unknown = true;
12632            self.invoker.handle_decode_error(error)
12633        })
12634    }
12635
12636    #[doc = "Sort table rows by a column value."]
12637    pub fn sort<'call>(
12638        &'call self,
12639        params: &'call DocTablesSortBoundParams,
12640    ) -> impl std::future::Future<Output = Result<DocTablesSortResult>> + Send + 'call {
12641        self.sort_with_options(params, InvokeOptions::default())
12642    }
12643    #[doc = "Sort table rows by a column value."]
12644    pub async fn sort_with_options(
12645        &self,
12646        params: &DocTablesSortBoundParams,
12647        options: InvokeOptions,
12648    ) -> Result<DocTablesSortResult> {
12649        let params = serde_json::to_value(params)
12650            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12651        let result = self
12652            .invoker
12653            .invoke("doc.tables.sort", params, options)
12654            .await?;
12655        serde_json::from_value(result).map_err(|decode| {
12656            let mut error = Error::decode(decode);
12657            error.operation_id = Some("doc.tables.sort".into());
12658            error.outcome_unknown = true;
12659            self.invoker.handle_decode_error(error)
12660        })
12661    }
12662
12663    #[doc = "Split a table into two tables at the target row."]
12664    pub fn split<'call>(
12665        &'call self,
12666        params: &'call DocTablesSplitBoundParams,
12667    ) -> impl std::future::Future<Output = Result<DocTablesSplitResult>> + Send + 'call {
12668        self.split_with_options(params, InvokeOptions::default())
12669    }
12670    #[doc = "Split a table into two tables at the target row."]
12671    pub async fn split_with_options(
12672        &self,
12673        params: &DocTablesSplitBoundParams,
12674        options: InvokeOptions,
12675    ) -> Result<DocTablesSplitResult> {
12676        let params = serde_json::to_value(params)
12677            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12678        let result = self
12679            .invoker
12680            .invoke("doc.tables.split", params, options)
12681            .await?;
12682        serde_json::from_value(result).map_err(|decode| {
12683            let mut error = Error::decode(decode);
12684            error.operation_id = Some("doc.tables.split".into());
12685            error.outcome_unknown = true;
12686            self.invoker.handle_decode_error(error)
12687        })
12688    }
12689
12690    #[doc = "Split a table cell into multiple cells."]
12691    pub fn split_cell<'call>(
12692        &'call self,
12693        params: &'call DocTablesSplitCellBoundParams,
12694    ) -> impl std::future::Future<Output = Result<DocTablesSplitCellResult>> + Send + 'call {
12695        self.split_cell_with_options(params, InvokeOptions::default())
12696    }
12697    #[doc = "Split a table cell into multiple cells."]
12698    pub async fn split_cell_with_options(
12699        &self,
12700        params: &DocTablesSplitCellBoundParams,
12701        options: InvokeOptions,
12702    ) -> Result<DocTablesSplitCellResult> {
12703        let params = serde_json::to_value(params)
12704            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12705        let result = self
12706            .invoker
12707            .invoke("doc.tables.splitCell", params, options)
12708            .await?;
12709        serde_json::from_value(result).map_err(|decode| {
12710            let mut error = Error::decode(decode);
12711            error.operation_id = Some("doc.tables.splitCell".into());
12712            error.outcome_unknown = true;
12713            self.invoker.handle_decode_error(error)
12714        })
12715    }
12716
12717    #[doc = "Unmerge a previously merged table cell."]
12718    pub fn unmerge_cells<'call>(
12719        &'call self,
12720        params: &'call DocTablesUnmergeCellsBoundParams,
12721    ) -> impl std::future::Future<Output = Result<DocTablesUnmergeCellsResult>> + Send + 'call {
12722        self.unmerge_cells_with_options(params, InvokeOptions::default())
12723    }
12724    #[doc = "Unmerge a previously merged table cell."]
12725    pub async fn unmerge_cells_with_options(
12726        &self,
12727        params: &DocTablesUnmergeCellsBoundParams,
12728        options: InvokeOptions,
12729    ) -> Result<DocTablesUnmergeCellsResult> {
12730        let params = serde_json::to_value(params)
12731            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12732        let result = self
12733            .invoker
12734            .invoke("doc.tables.unmergeCells", params, options)
12735            .await?;
12736        serde_json::from_value(result).map_err(|decode| {
12737            let mut error = Error::decode(decode);
12738            error.operation_id = Some("doc.tables.unmergeCells".into());
12739            error.outcome_unknown = true;
12740            self.invoker.handle_decode_error(error)
12741        })
12742    }
12743}
12744
12745pub struct DocApiTemplates<'a, I: Invoker> {
12746    invoker: &'a I,
12747}
12748impl<'a, I: Invoker> DocApiTemplates<'a, I> {
12749    pub fn new(invoker: &'a I) -> Self {
12750        Self { invoker }
12751    }
12752
12753    #[doc = "Apply detected DOCX template/substrate (styles, numbering, settings, theme, font table, web settings, headers/footers, section defaults) from a source package onto the current document, preserving body content. Scopes are auto-detected from source package evidence."]
12754    pub fn apply<'call>(
12755        &'call self,
12756        params: &'call DocTemplatesApplyBoundParams,
12757    ) -> impl std::future::Future<Output = Result<DocTemplatesApplyResult>> + Send + 'call {
12758        self.apply_with_options(params, InvokeOptions::default())
12759    }
12760    #[doc = "Apply detected DOCX template/substrate (styles, numbering, settings, theme, font table, web settings, headers/footers, section defaults) from a source package onto the current document, preserving body content. Scopes are auto-detected from source package evidence."]
12761    pub async fn apply_with_options(
12762        &self,
12763        params: &DocTemplatesApplyBoundParams,
12764        options: InvokeOptions,
12765    ) -> Result<DocTemplatesApplyResult> {
12766        let params = serde_json::to_value(params)
12767            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12768        let result = self
12769            .invoker
12770            .invoke("doc.templates.apply", params, options)
12771            .await?;
12772        serde_json::from_value(result).map_err(|decode| {
12773            let mut error = Error::decode(decode);
12774            error.operation_id = Some("doc.templates.apply".into());
12775            error.outcome_unknown = true;
12776            self.invoker.handle_decode_error(error)
12777        })
12778    }
12779}
12780
12781pub struct DocApiToc<'a, I: Invoker> {
12782    invoker: &'a I,
12783}
12784impl<'a, I: Invoker> DocApiToc<'a, I> {
12785    pub fn new(invoker: &'a I) -> Self {
12786        Self { invoker }
12787    }
12788
12789    #[doc = "Update the configuration switches of a table of contents."]
12790    pub fn configure<'call>(
12791        &'call self,
12792        params: &'call DocTocConfigureBoundParams,
12793    ) -> impl std::future::Future<Output = Result<DocTocConfigureResult>> + Send + 'call {
12794        self.configure_with_options(params, InvokeOptions::default())
12795    }
12796    #[doc = "Update the configuration switches of a table of contents."]
12797    pub async fn configure_with_options(
12798        &self,
12799        params: &DocTocConfigureBoundParams,
12800        options: InvokeOptions,
12801    ) -> Result<DocTocConfigureResult> {
12802        let params = serde_json::to_value(params)
12803            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12804        let result = self
12805            .invoker
12806            .invoke("doc.toc.configure", params, options)
12807            .await?;
12808        serde_json::from_value(result).map_err(|decode| {
12809            let mut error = Error::decode(decode);
12810            error.operation_id = Some("doc.toc.configure".into());
12811            error.outcome_unknown = true;
12812            self.invoker.handle_decode_error(error)
12813        })
12814    }
12815
12816    #[doc = "Update the properties of a TC (table of contents entry) field."]
12817    pub fn edit_entry<'call>(
12818        &'call self,
12819        params: &'call DocTocEditEntryBoundParams,
12820    ) -> impl std::future::Future<Output = Result<DocTocEditEntryResult>> + Send + 'call {
12821        self.edit_entry_with_options(params, InvokeOptions::default())
12822    }
12823    #[doc = "Update the properties of a TC (table of contents entry) field."]
12824    pub async fn edit_entry_with_options(
12825        &self,
12826        params: &DocTocEditEntryBoundParams,
12827        options: InvokeOptions,
12828    ) -> Result<DocTocEditEntryResult> {
12829        let params = serde_json::to_value(params)
12830            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12831        let result = self
12832            .invoker
12833            .invoke("doc.toc.editEntry", params, options)
12834            .await?;
12835        serde_json::from_value(result).map_err(|decode| {
12836            let mut error = Error::decode(decode);
12837            error.operation_id = Some("doc.toc.editEntry".into());
12838            error.outcome_unknown = true;
12839            self.invoker.handle_decode_error(error)
12840        })
12841    }
12842
12843    #[doc = "Retrieve details of a specific table of contents."]
12844    pub fn get<'call>(
12845        &'call self,
12846        params: &'call DocTocGetBoundParams,
12847    ) -> impl std::future::Future<Output = Result<DocTocGetResult>> + Send + 'call {
12848        self.get_with_options(params, InvokeOptions::default())
12849    }
12850    #[doc = "Retrieve details of a specific table of contents."]
12851    pub async fn get_with_options(
12852        &self,
12853        params: &DocTocGetBoundParams,
12854        options: InvokeOptions,
12855    ) -> Result<DocTocGetResult> {
12856        let params = serde_json::to_value(params)
12857            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12858        let result = self.invoker.invoke("doc.toc.get", params, options).await?;
12859        serde_json::from_value(result).map_err(|decode| {
12860            let mut error = Error::decode(decode);
12861            error.operation_id = Some("doc.toc.get".into());
12862            error.outcome_unknown = false;
12863            self.invoker.handle_decode_error(error)
12864        })
12865    }
12866
12867    #[doc = "Retrieve details of a specific TC (table of contents entry) field."]
12868    pub fn get_entry<'call>(
12869        &'call self,
12870        params: &'call DocTocGetEntryBoundParams,
12871    ) -> impl std::future::Future<Output = Result<DocTocGetEntryResult>> + Send + 'call {
12872        self.get_entry_with_options(params, InvokeOptions::default())
12873    }
12874    #[doc = "Retrieve details of a specific TC (table of contents entry) field."]
12875    pub async fn get_entry_with_options(
12876        &self,
12877        params: &DocTocGetEntryBoundParams,
12878        options: InvokeOptions,
12879    ) -> Result<DocTocGetEntryResult> {
12880        let params = serde_json::to_value(params)
12881            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12882        let result = self
12883            .invoker
12884            .invoke("doc.toc.getEntry", params, options)
12885            .await?;
12886        serde_json::from_value(result).map_err(|decode| {
12887            let mut error = Error::decode(decode);
12888            error.operation_id = Some("doc.toc.getEntry".into());
12889            error.outcome_unknown = false;
12890            self.invoker.handle_decode_error(error)
12891        })
12892    }
12893
12894    #[doc = "List all tables of contents in the document."]
12895    pub fn list<'call>(
12896        &'call self,
12897        params: &'call DocTocListBoundParams,
12898    ) -> impl std::future::Future<Output = Result<DocTocListResult>> + Send + 'call {
12899        self.list_with_options(params, InvokeOptions::default())
12900    }
12901    #[doc = "List all tables of contents in the document."]
12902    pub async fn list_with_options(
12903        &self,
12904        params: &DocTocListBoundParams,
12905        options: InvokeOptions,
12906    ) -> Result<DocTocListResult> {
12907        let params = serde_json::to_value(params)
12908            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12909        let result = self.invoker.invoke("doc.toc.list", params, options).await?;
12910        serde_json::from_value(result).map_err(|decode| {
12911            let mut error = Error::decode(decode);
12912            error.operation_id = Some("doc.toc.list".into());
12913            error.outcome_unknown = false;
12914            self.invoker.handle_decode_error(error)
12915        })
12916    }
12917
12918    #[doc = "List all TC (table of contents entry) fields in the document body."]
12919    pub fn list_entries<'call>(
12920        &'call self,
12921        params: &'call DocTocListEntriesBoundParams,
12922    ) -> impl std::future::Future<Output = Result<DocTocListEntriesResult>> + Send + 'call {
12923        self.list_entries_with_options(params, InvokeOptions::default())
12924    }
12925    #[doc = "List all TC (table of contents entry) fields in the document body."]
12926    pub async fn list_entries_with_options(
12927        &self,
12928        params: &DocTocListEntriesBoundParams,
12929        options: InvokeOptions,
12930    ) -> Result<DocTocListEntriesResult> {
12931        let params = serde_json::to_value(params)
12932            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12933        let result = self
12934            .invoker
12935            .invoke("doc.toc.listEntries", params, options)
12936            .await?;
12937        serde_json::from_value(result).map_err(|decode| {
12938            let mut error = Error::decode(decode);
12939            error.operation_id = Some("doc.toc.listEntries".into());
12940            error.outcome_unknown = false;
12941            self.invoker.handle_decode_error(error)
12942        })
12943    }
12944
12945    #[doc = "Insert a TC (table of contents entry) field at the target paragraph."]
12946    pub fn mark_entry<'call>(
12947        &'call self,
12948        params: &'call DocTocMarkEntryBoundParams,
12949    ) -> impl std::future::Future<Output = Result<DocTocMarkEntryResult>> + Send + 'call {
12950        self.mark_entry_with_options(params, InvokeOptions::default())
12951    }
12952    #[doc = "Insert a TC (table of contents entry) field at the target paragraph."]
12953    pub async fn mark_entry_with_options(
12954        &self,
12955        params: &DocTocMarkEntryBoundParams,
12956        options: InvokeOptions,
12957    ) -> Result<DocTocMarkEntryResult> {
12958        let params = serde_json::to_value(params)
12959            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12960        let result = self
12961            .invoker
12962            .invoke("doc.toc.markEntry", params, options)
12963            .await?;
12964        serde_json::from_value(result).map_err(|decode| {
12965            let mut error = Error::decode(decode);
12966            error.operation_id = Some("doc.toc.markEntry".into());
12967            error.outcome_unknown = true;
12968            self.invoker.handle_decode_error(error)
12969        })
12970    }
12971
12972    #[doc = "Remove a table of contents from the document."]
12973    pub fn remove<'call>(
12974        &'call self,
12975        params: &'call DocTocRemoveBoundParams,
12976    ) -> impl std::future::Future<Output = Result<DocTocRemoveResult>> + Send + 'call {
12977        self.remove_with_options(params, InvokeOptions::default())
12978    }
12979    #[doc = "Remove a table of contents from the document."]
12980    pub async fn remove_with_options(
12981        &self,
12982        params: &DocTocRemoveBoundParams,
12983        options: InvokeOptions,
12984    ) -> Result<DocTocRemoveResult> {
12985        let params = serde_json::to_value(params)
12986            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
12987        let result = self
12988            .invoker
12989            .invoke("doc.toc.remove", params, options)
12990            .await?;
12991        serde_json::from_value(result).map_err(|decode| {
12992            let mut error = Error::decode(decode);
12993            error.operation_id = Some("doc.toc.remove".into());
12994            error.outcome_unknown = true;
12995            self.invoker.handle_decode_error(error)
12996        })
12997    }
12998
12999    #[doc = "Remove a TC (table of contents entry) field from the document."]
13000    pub fn unmark_entry<'call>(
13001        &'call self,
13002        params: &'call DocTocUnmarkEntryBoundParams,
13003    ) -> impl std::future::Future<Output = Result<DocTocUnmarkEntryResult>> + Send + 'call {
13004        self.unmark_entry_with_options(params, InvokeOptions::default())
13005    }
13006    #[doc = "Remove a TC (table of contents entry) field from the document."]
13007    pub async fn unmark_entry_with_options(
13008        &self,
13009        params: &DocTocUnmarkEntryBoundParams,
13010        options: InvokeOptions,
13011    ) -> Result<DocTocUnmarkEntryResult> {
13012        let params = serde_json::to_value(params)
13013            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13014        let result = self
13015            .invoker
13016            .invoke("doc.toc.unmarkEntry", params, options)
13017            .await?;
13018        serde_json::from_value(result).map_err(|decode| {
13019            let mut error = Error::decode(decode);
13020            error.operation_id = Some("doc.toc.unmarkEntry".into());
13021            error.outcome_unknown = true;
13022            self.invoker.handle_decode_error(error)
13023        })
13024    }
13025
13026    #[doc = "Rebuild or refresh the materialized content of a table of contents."]
13027    pub fn update<'call>(
13028        &'call self,
13029        params: &'call DocTocUpdateBoundParams,
13030    ) -> impl std::future::Future<Output = Result<DocTocUpdateResult>> + Send + 'call {
13031        self.update_with_options(params, InvokeOptions::default())
13032    }
13033    #[doc = "Rebuild or refresh the materialized content of a table of contents."]
13034    pub async fn update_with_options(
13035        &self,
13036        params: &DocTocUpdateBoundParams,
13037        options: InvokeOptions,
13038    ) -> Result<DocTocUpdateResult> {
13039        let params = serde_json::to_value(params)
13040            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13041        let result = self
13042            .invoker
13043            .invoke("doc.toc.update", params, options)
13044            .await?;
13045        serde_json::from_value(result).map_err(|decode| {
13046            let mut error = Error::decode(decode);
13047            error.operation_id = Some("doc.toc.update".into());
13048            error.outcome_unknown = true;
13049            self.invoker.handle_decode_error(error)
13050        })
13051    }
13052}
13053
13054pub struct DocApiTrackChanges<'a, I: Invoker> {
13055    invoker: &'a I,
13056}
13057impl<'a, I: Invoker> DocApiTrackChanges<'a, I> {
13058    pub fn new(invoker: &'a I) -> Self {
13059        Self { invoker }
13060    }
13061
13062    #[doc = "Accept or reject tracked changes by logical id, by several logical ids atomically, by selected text range, by logical anchor range ({ anchor, relativeStart, relativeEnd }), or every active change in the document. Range targets may include overlap / side selectors and may partially resolve a change, splitting surviving content into new fragments with stable ids. Legacy `{ id, range: { kind: \"partial\", ... } }` targets are promoted only when the active adapter supports `decide()`; legacy fallback adapters fail closed with `INVALID_INPUT`. `input.expectedRevision` is accepted as a compatibility alias for mutation options."]
13063    pub fn decide<'call>(
13064        &'call self,
13065        params: &'call DocTrackChangesDecideBoundParams,
13066    ) -> impl std::future::Future<Output = Result<DocTrackChangesDecideResult>> + Send + 'call {
13067        self.decide_with_options(params, InvokeOptions::default())
13068    }
13069    #[doc = "Accept or reject tracked changes by logical id, by several logical ids atomically, by selected text range, by logical anchor range ({ anchor, relativeStart, relativeEnd }), or every active change in the document. Range targets may include overlap / side selectors and may partially resolve a change, splitting surviving content into new fragments with stable ids. Legacy `{ id, range: { kind: \"partial\", ... } }` targets are promoted only when the active adapter supports `decide()`; legacy fallback adapters fail closed with `INVALID_INPUT`. `input.expectedRevision` is accepted as a compatibility alias for mutation options."]
13070    pub async fn decide_with_options(
13071        &self,
13072        params: &DocTrackChangesDecideBoundParams,
13073        options: InvokeOptions,
13074    ) -> Result<DocTrackChangesDecideResult> {
13075        let params = serde_json::to_value(params)
13076            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13077        let result = self
13078            .invoker
13079            .invoke("doc.trackChanges.decide", params, options)
13080            .await?;
13081        serde_json::from_value(result).map_err(|decode| {
13082            let mut error = Error::decode(decode);
13083            error.operation_id = Some("doc.trackChanges.decide".into());
13084            error.outcome_unknown = true;
13085            self.invoker.handle_decode_error(error)
13086        })
13087    }
13088
13089    #[doc = "Retrieve a single tracked change by SuperDoc logical id."]
13090    pub fn get<'call>(
13091        &'call self,
13092        params: &'call DocTrackChangesGetBoundParams,
13093    ) -> impl std::future::Future<Output = Result<DocTrackChangesGetResult>> + Send + 'call {
13094        self.get_with_options(params, InvokeOptions::default())
13095    }
13096    #[doc = "Retrieve a single tracked change by SuperDoc logical id."]
13097    pub async fn get_with_options(
13098        &self,
13099        params: &DocTrackChangesGetBoundParams,
13100        options: InvokeOptions,
13101    ) -> Result<DocTrackChangesGetResult> {
13102        let params = serde_json::to_value(params)
13103            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13104        let result = self
13105            .invoker
13106            .invoke("doc.trackChanges.get", params, options)
13107            .await?;
13108        serde_json::from_value(result).map_err(|decode| {
13109            let mut error = Error::decode(decode);
13110            error.operation_id = Some("doc.trackChanges.get".into());
13111            error.outcome_unknown = false;
13112            self.invoker.handle_decode_error(error)
13113        })
13114    }
13115
13116    #[doc = "List tracked changes in the document. Body-only by default; pass `in: <StoryLocator>` or `in: \"all\"` to widen scope."]
13117    pub fn list<'call>(
13118        &'call self,
13119        params: &'call DocTrackChangesListBoundParams,
13120    ) -> impl std::future::Future<Output = Result<DocTrackChangesListResult>> + Send + 'call {
13121        self.list_with_options(params, InvokeOptions::default())
13122    }
13123    #[doc = "List tracked changes in the document. Body-only by default; pass `in: <StoryLocator>` or `in: \"all\"` to widen scope."]
13124    pub async fn list_with_options(
13125        &self,
13126        params: &DocTrackChangesListBoundParams,
13127        options: InvokeOptions,
13128    ) -> Result<DocTrackChangesListResult> {
13129        let params = serde_json::to_value(params)
13130            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13131        let result = self
13132            .invoker
13133            .invoke("doc.trackChanges.list", params, options)
13134            .await?;
13135        serde_json::from_value(result).map_err(|decode| {
13136            let mut error = Error::decode(decode);
13137            error.operation_id = Some("doc.trackChanges.list".into());
13138            error.outcome_unknown = false;
13139            self.invoker.handle_decode_error(error)
13140        })
13141    }
13142}
13143
13144pub struct DocApiWatermarks<'a, I: Invoker> {
13145    invoker: &'a I,
13146}
13147impl<'a, I: Invoker> DocApiWatermarks<'a, I> {
13148    pub fn new(invoker: &'a I) -> Self {
13149        Self { invoker }
13150    }
13151
13152    #[doc = "Atomically insert, replace, or remove selected watermarks in explicit scopes while preserving surrounding headers."]
13153    pub fn apply<'call>(
13154        &'call self,
13155        params: &'call DocWatermarksApplyBoundParams,
13156    ) -> impl std::future::Future<Output = Result<DocWatermarksApplyResult>> + Send + 'call {
13157        self.apply_with_options(params, InvokeOptions::default())
13158    }
13159    #[doc = "Atomically insert, replace, or remove selected watermarks in explicit scopes while preserving surrounding headers."]
13160    pub async fn apply_with_options(
13161        &self,
13162        params: &DocWatermarksApplyBoundParams,
13163        options: InvokeOptions,
13164    ) -> Result<DocWatermarksApplyResult> {
13165        let params = serde_json::to_value(params)
13166            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13167        let result = self
13168            .invoker
13169            .invoke("doc.watermarks.apply", params, options)
13170            .await?;
13171        serde_json::from_value(result).map_err(|decode| {
13172            let mut error = Error::decode(decode);
13173            error.operation_id = Some("doc.watermarks.apply".into());
13174            error.outcome_unknown = true;
13175            self.invoker.handle_decode_error(error)
13176        })
13177    }
13178
13179    #[doc = "Insert a Word-compatible text or picture watermark into a header scope."]
13180    pub fn insert<'call>(
13181        &'call self,
13182        params: &'call DocWatermarksInsertBoundParams,
13183    ) -> impl std::future::Future<Output = Result<DocWatermarksInsertResult>> + Send + 'call {
13184        self.insert_with_options(params, InvokeOptions::default())
13185    }
13186    #[doc = "Insert a Word-compatible text or picture watermark into a header scope."]
13187    pub async fn insert_with_options(
13188        &self,
13189        params: &DocWatermarksInsertBoundParams,
13190        options: InvokeOptions,
13191    ) -> Result<DocWatermarksInsertResult> {
13192        let params = serde_json::to_value(params)
13193            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13194        let result = self
13195            .invoker
13196            .invoke("doc.watermarks.insert", params, options)
13197            .await?;
13198        serde_json::from_value(result).map_err(|decode| {
13199            let mut error = Error::decode(decode);
13200            error.operation_id = Some("doc.watermarks.insert".into());
13201            error.outcome_unknown = true;
13202            self.invoker.handle_decode_error(error)
13203        })
13204    }
13205
13206    #[doc = "List Word-compatible text and picture watermarks and their effective header scopes."]
13207    pub fn list<'call>(
13208        &'call self,
13209        params: &'call DocWatermarksListBoundParams,
13210    ) -> impl std::future::Future<Output = Result<DocWatermarksListResult>> + Send + 'call {
13211        self.list_with_options(params, InvokeOptions::default())
13212    }
13213    #[doc = "List Word-compatible text and picture watermarks and their effective header scopes."]
13214    pub async fn list_with_options(
13215        &self,
13216        params: &DocWatermarksListBoundParams,
13217        options: InvokeOptions,
13218    ) -> Result<DocWatermarksListResult> {
13219        let params = serde_json::to_value(params)
13220            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13221        let result = self
13222            .invoker
13223            .invoke("doc.watermarks.list", params, options)
13224            .await?;
13225        serde_json::from_value(result).map_err(|decode| {
13226            let mut error = Error::decode(decode);
13227            error.operation_id = Some("doc.watermarks.list".into());
13228            error.outcome_unknown = false;
13229            self.invoker.handle_decode_error(error)
13230        })
13231    }
13232
13233    #[doc = "Remove a watermark without removing unrelated header content."]
13234    pub fn remove<'call>(
13235        &'call self,
13236        params: &'call DocWatermarksRemoveBoundParams,
13237    ) -> impl std::future::Future<Output = Result<DocWatermarksRemoveResult>> + Send + 'call {
13238        self.remove_with_options(params, InvokeOptions::default())
13239    }
13240    #[doc = "Remove a watermark without removing unrelated header content."]
13241    pub async fn remove_with_options(
13242        &self,
13243        params: &DocWatermarksRemoveBoundParams,
13244        options: InvokeOptions,
13245    ) -> Result<DocWatermarksRemoveResult> {
13246        let params = serde_json::to_value(params)
13247            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13248        let result = self
13249            .invoker
13250            .invoke("doc.watermarks.remove", params, options)
13251            .await?;
13252        serde_json::from_value(result).map_err(|decode| {
13253            let mut error = Error::decode(decode);
13254            error.operation_id = Some("doc.watermarks.remove".into());
13255            error.outcome_unknown = true;
13256            self.invoker.handle_decode_error(error)
13257        })
13258    }
13259
13260    #[doc = "Replace an existing watermark while retaining its stable identity and owner scope."]
13261    pub fn replace<'call>(
13262        &'call self,
13263        params: &'call DocWatermarksReplaceBoundParams,
13264    ) -> impl std::future::Future<Output = Result<DocWatermarksReplaceResult>> + Send + 'call {
13265        self.replace_with_options(params, InvokeOptions::default())
13266    }
13267    #[doc = "Replace an existing watermark while retaining its stable identity and owner scope."]
13268    pub async fn replace_with_options(
13269        &self,
13270        params: &DocWatermarksReplaceBoundParams,
13271        options: InvokeOptions,
13272    ) -> Result<DocWatermarksReplaceResult> {
13273        let params = serde_json::to_value(params)
13274            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13275        let result = self
13276            .invoker
13277            .invoke("doc.watermarks.replace", params, options)
13278            .await?;
13279        serde_json::from_value(result).map_err(|decode| {
13280            let mut error = Error::decode(decode);
13281            error.operation_id = Some("doc.watermarks.replace".into());
13282            error.outcome_unknown = true;
13283            self.invoker.handle_decode_error(error)
13284        })
13285    }
13286}
13287
13288pub(crate) struct ClientApi<'a, I: Invoker> {
13289    invoker: &'a I,
13290}
13291impl<'a, I: Invoker> ClientApi<'a, I> {
13292    pub(crate) fn new(invoker: &'a I) -> Self {
13293        Self { invoker }
13294    }
13295
13296    #[doc = "List all available CLI operations and contract metadata."]
13297    pub(crate) fn describe<'call>(
13298        &'call self,
13299        params: &'call DocDescribeParams,
13300    ) -> impl std::future::Future<Output = Result<DocDescribeResult>> + Send + 'call {
13301        self.describe_with_options(params, InvokeOptions::default())
13302    }
13303    #[doc = "List all available CLI operations and contract metadata."]
13304    pub(crate) async fn describe_with_options(
13305        &self,
13306        params: &DocDescribeParams,
13307        options: InvokeOptions,
13308    ) -> Result<DocDescribeResult> {
13309        let params = serde_json::to_value(params)
13310            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13311        let result = self.invoker.invoke("doc.describe", params, options).await?;
13312        serde_json::from_value(result).map_err(|decode| {
13313            let mut error = Error::decode(decode);
13314            error.operation_id = Some("doc.describe".into());
13315            error.outcome_unknown = false;
13316            self.invoker.handle_decode_error(error)
13317        })
13318    }
13319
13320    #[doc = "Show detailed metadata for a single CLI operation."]
13321    pub(crate) fn describe_command<'call>(
13322        &'call self,
13323        params: &'call DocDescribeCommandParams,
13324    ) -> impl std::future::Future<Output = Result<DocDescribeCommandResult>> + Send + 'call {
13325        self.describe_command_with_options(params, InvokeOptions::default())
13326    }
13327    #[doc = "Show detailed metadata for a single CLI operation."]
13328    pub(crate) async fn describe_command_with_options(
13329        &self,
13330        params: &DocDescribeCommandParams,
13331        options: InvokeOptions,
13332    ) -> Result<DocDescribeCommandResult> {
13333        let params = serde_json::to_value(params)
13334            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13335        let result = self
13336            .invoker
13337            .invoke("doc.describeCommand", params, options)
13338            .await?;
13339        serde_json::from_value(result).map_err(|decode| {
13340            let mut error = Error::decode(decode);
13341            error.operation_id = Some("doc.describeCommand".into());
13342            error.outcome_unknown = false;
13343            self.invoker.handle_decode_error(error)
13344        })
13345    }
13346
13347    #[doc = "Open a document and create a persistent v2 editing session. Content override atomically initializes a blank document or replaces a template body. V2 single-socket collaboration supports y-websocket, Hocuspocus, and Liveblocks."]
13348    pub(crate) fn open<'call>(
13349        &'call self,
13350        params: &'call DocOpenParams,
13351    ) -> impl std::future::Future<Output = Result<DocOpenResult>> + Send + 'call {
13352        self.open_with_options(params, InvokeOptions::default())
13353    }
13354    #[doc = "Open a document and create a persistent v2 editing session. Content override atomically initializes a blank document or replaces a template body. V2 single-socket collaboration supports y-websocket, Hocuspocus, and Liveblocks."]
13355    pub(crate) async fn open_with_options(
13356        &self,
13357        params: &DocOpenParams,
13358        options: InvokeOptions,
13359    ) -> Result<DocOpenResult> {
13360        let params = serde_json::to_value(params)
13361            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13362        let result = self.invoker.invoke("doc.open", params, options).await?;
13363        serde_json::from_value(result).map_err(|decode| {
13364            let mut error = Error::decode(decode);
13365            error.operation_id = Some("doc.open".into());
13366            error.outcome_unknown = true;
13367            self.invoker.handle_decode_error(error)
13368        })
13369    }
13370}
13371
13372pub(crate) struct InternalApi<'a, I: Invoker> {
13373    invoker: &'a I,
13374}
13375impl<'a, I: Invoker> InternalApi<'a, I> {
13376    pub(crate) fn new(invoker: &'a I) -> Self {
13377        Self { invoker }
13378    }
13379    pub(crate) fn session(&self) -> InternalApiSession<'a, I> {
13380        InternalApiSession::new(self.invoker)
13381    }
13382
13383    #[doc = "Find CLI operations from a natural-language intent. Returns an adaptive relevant set capped at ten results and expands the leading operation input shape."]
13384    pub(crate) fn discover<'call>(
13385        &'call self,
13386        params: &'call DocDiscoverParams,
13387    ) -> impl std::future::Future<Output = Result<DocDiscoverResult>> + Send + 'call {
13388        self.discover_with_options(params, InvokeOptions::default())
13389    }
13390    #[doc = "Find CLI operations from a natural-language intent. Returns an adaptive relevant set capped at ten results and expands the leading operation input shape."]
13391    pub(crate) async fn discover_with_options(
13392        &self,
13393        params: &DocDiscoverParams,
13394        options: InvokeOptions,
13395    ) -> Result<DocDiscoverResult> {
13396        let params = serde_json::to_value(params)
13397            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13398        let result = self.invoker.invoke("doc.discover", params, options).await?;
13399        serde_json::from_value(result).map_err(|decode| {
13400            let mut error = Error::decode(decode);
13401            error.operation_id = Some("doc.discover".into());
13402            error.outcome_unknown = false;
13403            self.invoker.handle_decode_error(error)
13404        })
13405    }
13406
13407    #[doc = "Show the current session status and document metadata."]
13408    pub(crate) fn status<'call>(
13409        &'call self,
13410        params: &'call DocStatusParams,
13411    ) -> impl std::future::Future<Output = Result<DocStatusResult>> + Send + 'call {
13412        self.status_with_options(params, InvokeOptions::default())
13413    }
13414    #[doc = "Show the current session status and document metadata."]
13415    pub(crate) async fn status_with_options(
13416        &self,
13417        params: &DocStatusParams,
13418        options: InvokeOptions,
13419    ) -> Result<DocStatusResult> {
13420        let params = serde_json::to_value(params)
13421            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13422        let result = self.invoker.invoke("doc.status", params, options).await?;
13423        serde_json::from_value(result).map_err(|decode| {
13424            let mut error = Error::decode(decode);
13425            error.operation_id = Some("doc.status".into());
13426            error.outcome_unknown = false;
13427            self.invoker.handle_decode_error(error)
13428        })
13429    }
13430}
13431
13432pub(crate) struct InternalApiSession<'a, I: Invoker> {
13433    invoker: &'a I,
13434}
13435impl<'a, I: Invoker> InternalApiSession<'a, I> {
13436    pub(crate) fn new(invoker: &'a I) -> Self {
13437        Self { invoker }
13438    }
13439
13440    #[doc = "Close a specific editing session by ID."]
13441    pub(crate) fn close<'call>(
13442        &'call self,
13443        params: &'call DocSessionCloseParams,
13444    ) -> impl std::future::Future<Output = Result<DocSessionCloseResult>> + Send + 'call {
13445        self.close_with_options(params, InvokeOptions::default())
13446    }
13447    #[doc = "Close a specific editing session by ID."]
13448    pub(crate) async fn close_with_options(
13449        &self,
13450        params: &DocSessionCloseParams,
13451        options: InvokeOptions,
13452    ) -> Result<DocSessionCloseResult> {
13453        let params = serde_json::to_value(params)
13454            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13455        let result = self
13456            .invoker
13457            .invoke("doc.session.close", params, options)
13458            .await?;
13459        serde_json::from_value(result).map_err(|decode| {
13460            let mut error = Error::decode(decode);
13461            error.operation_id = Some("doc.session.close".into());
13462            error.outcome_unknown = true;
13463            self.invoker.handle_decode_error(error)
13464        })
13465    }
13466
13467    #[doc = "List all active editing sessions."]
13468    pub(crate) fn list<'call>(
13469        &'call self,
13470        params: &'call DocSessionListParams,
13471    ) -> impl std::future::Future<Output = Result<DocSessionListResult>> + Send + 'call {
13472        self.list_with_options(params, InvokeOptions::default())
13473    }
13474    #[doc = "List all active editing sessions."]
13475    pub(crate) async fn list_with_options(
13476        &self,
13477        params: &DocSessionListParams,
13478        options: InvokeOptions,
13479    ) -> Result<DocSessionListResult> {
13480        let params = serde_json::to_value(params)
13481            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13482        let result = self
13483            .invoker
13484            .invoke("doc.session.list", params, options)
13485            .await?;
13486        serde_json::from_value(result).map_err(|decode| {
13487            let mut error = Error::decode(decode);
13488            error.operation_id = Some("doc.session.list".into());
13489            error.outcome_unknown = false;
13490            self.invoker.handle_decode_error(error)
13491        })
13492    }
13493
13494    #[doc = "Persist the current session state."]
13495    pub(crate) fn save<'call>(
13496        &'call self,
13497        params: &'call DocSessionSaveParams,
13498    ) -> impl std::future::Future<Output = Result<DocSessionSaveResult>> + Send + 'call {
13499        self.save_with_options(params, InvokeOptions::default())
13500    }
13501    #[doc = "Persist the current session state."]
13502    pub(crate) async fn save_with_options(
13503        &self,
13504        params: &DocSessionSaveParams,
13505        options: InvokeOptions,
13506    ) -> Result<DocSessionSaveResult> {
13507        let params = serde_json::to_value(params)
13508            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13509        let result = self
13510            .invoker
13511            .invoke("doc.session.save", params, options)
13512            .await?;
13513        serde_json::from_value(result).map_err(|decode| {
13514            let mut error = Error::decode(decode);
13515            error.operation_id = Some("doc.session.save".into());
13516            error.outcome_unknown = true;
13517            self.invoker.handle_decode_error(error)
13518        })
13519    }
13520
13521    #[doc = "Set the default session for subsequent commands."]
13522    pub(crate) fn set_default<'call>(
13523        &'call self,
13524        params: &'call DocSessionSetDefaultParams,
13525    ) -> impl std::future::Future<Output = Result<DocSessionSetDefaultResult>> + Send + 'call {
13526        self.set_default_with_options(params, InvokeOptions::default())
13527    }
13528    #[doc = "Set the default session for subsequent commands."]
13529    pub(crate) async fn set_default_with_options(
13530        &self,
13531        params: &DocSessionSetDefaultParams,
13532        options: InvokeOptions,
13533    ) -> Result<DocSessionSetDefaultResult> {
13534        let params = serde_json::to_value(params)
13535            .map_err(|error| Error::new("INVALID_ARGUMENT", error.to_string()))?;
13536        let result = self
13537            .invoker
13538            .invoke("doc.session.setDefault", params, options)
13539            .await?;
13540        serde_json::from_value(result).map_err(|decode| {
13541            let mut error = Error::decode(decode);
13542            error.operation_id = Some("doc.session.setDefault".into());
13543            error.outcome_unknown = true;
13544            self.invoker.handle_decode_error(error)
13545        })
13546    }
13547}
13548
13549#[cfg(any(test, feature = "conformance"))]
13550pub(crate) async fn exercise_callables<I: Invoker>(invoker: &I) {
13551    {
13552        let params:DocAuthoritiesConfigureBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfAuthorities\",\"nodeId\":\"\"},\"patch\":{}}").expect("generated inhabited parameter fixture");
13553        let _ = DocApi::new(invoker).authorities().configure(&params).await;
13554    }
13555
13556    {
13557        let params:DocAuthoritiesEntriesGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"authorityEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
13558        let _ = DocApi::new(invoker)
13559            .authorities()
13560            .entries()
13561            .get(&params)
13562            .await;
13563    }
13564
13565    {
13566        let params:DocAuthoritiesEntriesInsertBoundParams=serde_json::from_str("{\"at\":{\"kind\":\"text\",\"segments\":[]},\"entry\":{\"longCitation\":\"\",\"category\":\"\"}}").expect("generated inhabited parameter fixture");
13567        let _ = DocApi::new(invoker)
13568            .authorities()
13569            .entries()
13570            .insert(&params)
13571            .await;
13572    }
13573
13574    {
13575        let params: DocAuthoritiesEntriesListBoundParams =
13576            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13577        let _ = DocApi::new(invoker)
13578            .authorities()
13579            .entries()
13580            .list(&params)
13581            .await;
13582    }
13583
13584    {
13585        let params:DocAuthoritiesEntriesRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"authorityEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
13586        let _ = DocApi::new(invoker)
13587            .authorities()
13588            .entries()
13589            .remove(&params)
13590            .await;
13591    }
13592
13593    {
13594        let params:DocAuthoritiesEntriesUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"authorityEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}},\"patch\":{}}").expect("generated inhabited parameter fixture");
13595        let _ = DocApi::new(invoker)
13596            .authorities()
13597            .entries()
13598            .update(&params)
13599            .await;
13600    }
13601
13602    {
13603        let params: DocAuthoritiesGetBoundParams = serde_json::from_str(
13604            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfAuthorities\",\"nodeId\":\"\"}}",
13605        )
13606        .expect("generated inhabited parameter fixture");
13607        let _ = DocApi::new(invoker).authorities().get(&params).await;
13608    }
13609
13610    {
13611        let params: DocAuthoritiesInsertBoundParams =
13612            serde_json::from_str("{\"at\":{\"kind\":\"documentStart\"}}")
13613                .expect("generated inhabited parameter fixture");
13614        let _ = DocApi::new(invoker).authorities().insert(&params).await;
13615    }
13616
13617    {
13618        let params: DocAuthoritiesListBoundParams =
13619            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13620        let _ = DocApi::new(invoker).authorities().list(&params).await;
13621    }
13622
13623    {
13624        let params: DocAuthoritiesRebuildBoundParams = serde_json::from_str(
13625            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfAuthorities\",\"nodeId\":\"\"}}",
13626        )
13627        .expect("generated inhabited parameter fixture");
13628        let _ = DocApi::new(invoker).authorities().rebuild(&params).await;
13629    }
13630
13631    {
13632        let params: DocAuthoritiesRemoveBoundParams = serde_json::from_str(
13633            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfAuthorities\",\"nodeId\":\"\"}}",
13634        )
13635        .expect("generated inhabited parameter fixture");
13636        let _ = DocApi::new(invoker).authorities().remove(&params).await;
13637    }
13638
13639    {
13640        let params: DocBlocksDeleteBoundParams =
13641            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13642        let _ = DocApi::new(invoker).blocks().delete(&params).await;
13643    }
13644
13645    {
13646        let params: DocBlocksDeleteRangeBoundParams =
13647            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13648        let _ = DocApi::new(invoker).blocks().delete_range(&params).await;
13649    }
13650
13651    {
13652        let params: DocBlocksFindTextBoundParams =
13653            serde_json::from_str("{\"text\":\"\"}").expect("generated inhabited parameter fixture");
13654        let _ = DocApi::new(invoker).blocks().find_text(&params).await;
13655    }
13656
13657    {
13658        let params: DocBlocksListBoundParams =
13659            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13660        let _ = DocApi::new(invoker).blocks().list(&params).await;
13661    }
13662
13663    {
13664        let params:DocBlocksMergeBoundParams=serde_json::from_str("{\"first\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"second\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
13665        let _ = DocApi::new(invoker).blocks().merge(&params).await;
13666    }
13667
13668    {
13669        let params:DocBlocksMoveBoundParams=serde_json::from_str("{\"source\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"destination\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"placement\":\"before\"}").expect("generated inhabited parameter fixture");
13670        let _ = DocApi::new(invoker).blocks().move_(&params).await;
13671    }
13672
13673    {
13674        let params:DocBlocksSplitBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"offset\":0}").expect("generated inhabited parameter fixture");
13675        let _ = DocApi::new(invoker).blocks().split(&params).await;
13676    }
13677
13678    {
13679        let params: DocBookmarksGetBoundParams = serde_json::from_str(
13680            "{\"target\":{\"kind\":\"entity\",\"entityType\":\"bookmark\",\"name\":\"\"}}",
13681        )
13682        .expect("generated inhabited parameter fixture");
13683        let _ = DocApi::new(invoker).bookmarks().get(&params).await;
13684    }
13685
13686    {
13687        let params: DocBookmarksInsertBoundParams =
13688            serde_json::from_str("{\"name\":\"\",\"at\":{\"kind\":\"text\",\"segments\":[]}}")
13689                .expect("generated inhabited parameter fixture");
13690        let _ = DocApi::new(invoker).bookmarks().insert(&params).await;
13691    }
13692
13693    {
13694        let params: DocBookmarksListBoundParams =
13695            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13696        let _ = DocApi::new(invoker).bookmarks().list(&params).await;
13697    }
13698
13699    {
13700        let params: DocBookmarksRemoveBoundParams = serde_json::from_str(
13701            "{\"target\":{\"kind\":\"entity\",\"entityType\":\"bookmark\",\"name\":\"\"}}",
13702        )
13703        .expect("generated inhabited parameter fixture");
13704        let _ = DocApi::new(invoker).bookmarks().remove(&params).await;
13705    }
13706
13707    {
13708        let params:DocBookmarksRenameBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"entity\",\"entityType\":\"bookmark\",\"name\":\"\"},\"newName\":\"\"}").expect("generated inhabited parameter fixture");
13709        let _ = DocApi::new(invoker).bookmarks().rename(&params).await;
13710    }
13711
13712    {
13713        let params: DocCapabilitiesCheckBoundParams =
13714            serde_json::from_str("{\"operation\":\"insert\"}")
13715                .expect("generated inhabited parameter fixture");
13716        let _ = DocApi::new(invoker).capabilities().check(&params).await;
13717    }
13718
13719    {
13720        let params: DocCapabilitiesGetBoundParams =
13721            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13722        let _ = DocApi::new(invoker).capabilities().get(&params).await;
13723    }
13724
13725    {
13726        let params: DocCapabilitiesResolveBoundParams =
13727            serde_json::from_str("{\"operationId\":\"get\"}")
13728                .expect("generated inhabited parameter fixture");
13729        let _ = DocApi::new(invoker).capabilities().resolve(&params).await;
13730    }
13731
13732    {
13733        let params: DocCaptionsConfigureBoundParams = serde_json::from_str("{\"label\":\"\"}")
13734            .expect("generated inhabited parameter fixture");
13735        let _ = DocApi::new(invoker).captions().configure(&params).await;
13736    }
13737
13738    {
13739        let params: DocCaptionsGetBoundParams = serde_json::from_str(
13740            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
13741        )
13742        .expect("generated inhabited parameter fixture");
13743        let _ = DocApi::new(invoker).captions().get(&params).await;
13744    }
13745
13746    {
13747        let params:DocCaptionsInsertBoundParams=serde_json::from_str("{\"adjacentTo\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"position\":\"above\",\"label\":\"\"}").expect("generated inhabited parameter fixture");
13748        let _ = DocApi::new(invoker).captions().insert(&params).await;
13749    }
13750
13751    {
13752        let params: DocCaptionsListBoundParams =
13753            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13754        let _ = DocApi::new(invoker).captions().list(&params).await;
13755    }
13756
13757    {
13758        let params: DocCaptionsRemoveBoundParams = serde_json::from_str(
13759            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
13760        )
13761        .expect("generated inhabited parameter fixture");
13762        let _ = DocApi::new(invoker).captions().remove(&params).await;
13763    }
13764
13765    {
13766        let params:DocCaptionsUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"patch\":{}}").expect("generated inhabited parameter fixture");
13767        let _ = DocApi::new(invoker).captions().update(&params).await;
13768    }
13769
13770    {
13771        let params:DocCitationsBibliographyConfigureBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"bibliography\",\"nodeId\":\"\"},\"style\":\"\"}").expect("generated inhabited parameter fixture");
13772        let _ = DocApi::new(invoker)
13773            .citations()
13774            .bibliography()
13775            .configure(&params)
13776            .await;
13777    }
13778
13779    {
13780        let params: DocCitationsBibliographyGetBoundParams = serde_json::from_str(
13781            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"bibliography\",\"nodeId\":\"\"}}",
13782        )
13783        .expect("generated inhabited parameter fixture");
13784        let _ = DocApi::new(invoker)
13785            .citations()
13786            .bibliography()
13787            .get(&params)
13788            .await;
13789    }
13790
13791    {
13792        let params: DocCitationsBibliographyInsertBoundParams =
13793            serde_json::from_str("{\"at\":{\"kind\":\"documentStart\"}}")
13794                .expect("generated inhabited parameter fixture");
13795        let _ = DocApi::new(invoker)
13796            .citations()
13797            .bibliography()
13798            .insert(&params)
13799            .await;
13800    }
13801
13802    {
13803        let params: DocCitationsBibliographyRebuildBoundParams = serde_json::from_str(
13804            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"bibliography\",\"nodeId\":\"\"}}",
13805        )
13806        .expect("generated inhabited parameter fixture");
13807        let _ = DocApi::new(invoker)
13808            .citations()
13809            .bibliography()
13810            .rebuild(&params)
13811            .await;
13812    }
13813
13814    {
13815        let params: DocCitationsBibliographyRemoveBoundParams = serde_json::from_str(
13816            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"bibliography\",\"nodeId\":\"\"}}",
13817        )
13818        .expect("generated inhabited parameter fixture");
13819        let _ = DocApi::new(invoker)
13820            .citations()
13821            .bibliography()
13822            .remove(&params)
13823            .await;
13824    }
13825
13826    {
13827        let params:DocCitationsGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"citation\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
13828        let _ = DocApi::new(invoker).citations().get(&params).await;
13829    }
13830
13831    {
13832        let params: DocCitationsInsertBoundParams =
13833            serde_json::from_str("{\"at\":{\"kind\":\"text\",\"segments\":[]},\"sourceIds\":[]}")
13834                .expect("generated inhabited parameter fixture");
13835        let _ = DocApi::new(invoker).citations().insert(&params).await;
13836    }
13837
13838    {
13839        let params: DocCitationsListBoundParams =
13840            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13841        let _ = DocApi::new(invoker).citations().list(&params).await;
13842    }
13843
13844    {
13845        let params:DocCitationsRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"citation\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
13846        let _ = DocApi::new(invoker).citations().remove(&params).await;
13847    }
13848
13849    {
13850        let params:DocCitationsSourcesGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"entity\",\"entityType\":\"citationSource\",\"sourceId\":\"\"}}").expect("generated inhabited parameter fixture");
13851        let _ = DocApi::new(invoker)
13852            .citations()
13853            .sources()
13854            .get(&params)
13855            .await;
13856    }
13857
13858    {
13859        let params: DocCitationsSourcesInsertBoundParams =
13860            serde_json::from_str("{\"type\":\"book\",\"fields\":{}}")
13861                .expect("generated inhabited parameter fixture");
13862        let _ = DocApi::new(invoker)
13863            .citations()
13864            .sources()
13865            .insert(&params)
13866            .await;
13867    }
13868
13869    {
13870        let params: DocCitationsSourcesListBoundParams =
13871            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13872        let _ = DocApi::new(invoker)
13873            .citations()
13874            .sources()
13875            .list(&params)
13876            .await;
13877    }
13878
13879    {
13880        let params:DocCitationsSourcesRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"entity\",\"entityType\":\"citationSource\",\"sourceId\":\"\"}}").expect("generated inhabited parameter fixture");
13881        let _ = DocApi::new(invoker)
13882            .citations()
13883            .sources()
13884            .remove(&params)
13885            .await;
13886    }
13887
13888    {
13889        let params:DocCitationsSourcesUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"entity\",\"entityType\":\"citationSource\",\"sourceId\":\"\"},\"patch\":{}}").expect("generated inhabited parameter fixture");
13890        let _ = DocApi::new(invoker)
13891            .citations()
13892            .sources()
13893            .update(&params)
13894            .await;
13895    }
13896
13897    {
13898        let params:DocCitationsUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"citation\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}},\"patch\":{}}").expect("generated inhabited parameter fixture");
13899        let _ = DocApi::new(invoker).citations().update(&params).await;
13900    }
13901
13902    {
13903        let params: DocClearContentBoundParams =
13904            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13905        let _ = DocApi::new(invoker).clear_content(&params).await;
13906    }
13907
13908    {
13909        let params: DocClipboardInsertBoundParams =
13910            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13911        let _ = DocApi::new(invoker).clipboard().insert(&params).await;
13912    }
13913
13914    {
13915        let params: DocClipboardParseBoundParams =
13916            serde_json::from_str("{\"items\":[]}").expect("generated inhabited parameter fixture");
13917        let _ = DocApi::new(invoker).clipboard().parse(&params).await;
13918    }
13919
13920    {
13921        let params: DocClipboardSerializeSelectionBoundParams =
13922            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13923        let _ = DocApi::new(invoker)
13924            .clipboard()
13925            .serialize_selection(&params)
13926            .await;
13927    }
13928
13929    {
13930        let params: DocCloseBoundParams =
13931            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13932        let _ = DocApi::new(invoker).close(&params).await;
13933    }
13934
13935    {
13936        let params: DocCommentsCreateBoundParams =
13937            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13938        let _ = DocApi::new(invoker).comments().create(&params).await;
13939    }
13940
13941    {
13942        let params: DocCommentsDeleteBoundParams =
13943            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
13944        let _ = DocApi::new(invoker).comments().delete(&params).await;
13945    }
13946
13947    {
13948        let params: DocCommentsGetBoundParams =
13949            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
13950        let _ = DocApi::new(invoker).comments().get(&params).await;
13951    }
13952
13953    {
13954        let params: DocCommentsListBoundParams =
13955            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13956        let _ = DocApi::new(invoker).comments().list(&params).await;
13957    }
13958
13959    {
13960        let params: DocCommentsPatchBoundParams =
13961            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
13962        let _ = DocApi::new(invoker).comments().patch(&params).await;
13963    }
13964
13965    {
13966        let params:DocContentControlsAppendContentBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"content\":\"\"}").expect("generated inhabited parameter fixture");
13967        let _ = DocApi::new(invoker)
13968            .content_controls()
13969            .append_content(&params)
13970            .await;
13971    }
13972
13973    {
13974        let params: DocContentControlsCheckboxGetStateBoundParams = serde_json::from_str(
13975            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
13976        )
13977        .expect("generated inhabited parameter fixture");
13978        let _ = DocApi::new(invoker)
13979            .content_controls()
13980            .checkbox()
13981            .get_state(&params)
13982            .await;
13983    }
13984
13985    {
13986        let params:DocContentControlsCheckboxSetStateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"checked\":false}").expect("generated inhabited parameter fixture");
13987        let _ = DocApi::new(invoker)
13988            .content_controls()
13989            .checkbox()
13990            .set_state(&params)
13991            .await;
13992    }
13993
13994    {
13995        let params:DocContentControlsCheckboxSetSymbolPairBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"checkedSymbol\":{},\"uncheckedSymbol\":{}}").expect("generated inhabited parameter fixture");
13996        let _ = DocApi::new(invoker)
13997            .content_controls()
13998            .checkbox()
13999            .set_symbol_pair(&params)
14000            .await;
14001    }
14002
14003    {
14004        let params: DocContentControlsCheckboxToggleBoundParams = serde_json::from_str(
14005            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14006        )
14007        .expect("generated inhabited parameter fixture");
14008        let _ = DocApi::new(invoker)
14009            .content_controls()
14010            .checkbox()
14011            .toggle(&params)
14012            .await;
14013    }
14014
14015    {
14016        let params: DocContentControlsChoiceListGetItemsBoundParams = serde_json::from_str(
14017            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14018        )
14019        .expect("generated inhabited parameter fixture");
14020        let _ = DocApi::new(invoker)
14021            .content_controls()
14022            .choice_list()
14023            .get_items(&params)
14024            .await;
14025    }
14026
14027    {
14028        let params: DocContentControlsChoiceListSetItemsBoundParams = serde_json::from_str(
14029            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"items\":[]}",
14030        )
14031        .expect("generated inhabited parameter fixture");
14032        let _ = DocApi::new(invoker)
14033            .content_controls()
14034            .choice_list()
14035            .set_items(&params)
14036            .await;
14037    }
14038
14039    {
14040        let params: DocContentControlsChoiceListSetSelectedBoundParams = serde_json::from_str(
14041            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"value\":\"\"}",
14042        )
14043        .expect("generated inhabited parameter fixture");
14044        let _ = DocApi::new(invoker)
14045            .content_controls()
14046            .choice_list()
14047            .set_selected(&params)
14048            .await;
14049    }
14050
14051    {
14052        let params: DocContentControlsClearBindingBoundParams = serde_json::from_str(
14053            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14054        )
14055        .expect("generated inhabited parameter fixture");
14056        let _ = DocApi::new(invoker)
14057            .content_controls()
14058            .clear_binding(&params)
14059            .await;
14060    }
14061
14062    {
14063        let params: DocContentControlsClearContentBoundParams = serde_json::from_str(
14064            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14065        )
14066        .expect("generated inhabited parameter fixture");
14067        let _ = DocApi::new(invoker)
14068            .content_controls()
14069            .clear_content(&params)
14070            .await;
14071    }
14072
14073    {
14074        let params:DocContentControlsCopyBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"destination\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
14075        let _ = DocApi::new(invoker).content_controls().copy(&params).await;
14076    }
14077
14078    {
14079        let params: DocContentControlsDateClearValueBoundParams = serde_json::from_str(
14080            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14081        )
14082        .expect("generated inhabited parameter fixture");
14083        let _ = DocApi::new(invoker)
14084            .content_controls()
14085            .date()
14086            .clear_value(&params)
14087            .await;
14088    }
14089
14090    {
14091        let params:DocContentControlsDateSetCalendarBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"calendar\":\"\"}").expect("generated inhabited parameter fixture");
14092        let _ = DocApi::new(invoker)
14093            .content_controls()
14094            .date()
14095            .set_calendar(&params)
14096            .await;
14097    }
14098
14099    {
14100        let params:DocContentControlsDateSetDisplayFormatBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"format\":\"\"}").expect("generated inhabited parameter fixture");
14101        let _ = DocApi::new(invoker)
14102            .content_controls()
14103            .date()
14104            .set_display_format(&params)
14105            .await;
14106    }
14107
14108    {
14109        let params:DocContentControlsDateSetDisplayLocaleBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"locale\":\"\"}").expect("generated inhabited parameter fixture");
14110        let _ = DocApi::new(invoker)
14111            .content_controls()
14112            .date()
14113            .set_display_locale(&params)
14114            .await;
14115    }
14116
14117    {
14118        let params:DocContentControlsDateSetStorageFormatBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"format\":\"\"}").expect("generated inhabited parameter fixture");
14119        let _ = DocApi::new(invoker)
14120            .content_controls()
14121            .date()
14122            .set_storage_format(&params)
14123            .await;
14124    }
14125
14126    {
14127        let params: DocContentControlsDateSetValueBoundParams = serde_json::from_str(
14128            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"value\":\"\"}",
14129        )
14130        .expect("generated inhabited parameter fixture");
14131        let _ = DocApi::new(invoker)
14132            .content_controls()
14133            .date()
14134            .set_value(&params)
14135            .await;
14136    }
14137
14138    {
14139        let params: DocContentControlsDeleteBoundParams = serde_json::from_str(
14140            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14141        )
14142        .expect("generated inhabited parameter fixture");
14143        let _ = DocApi::new(invoker)
14144            .content_controls()
14145            .delete(&params)
14146            .await;
14147    }
14148
14149    {
14150        let params: DocContentControlsGetBoundParams = serde_json::from_str(
14151            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14152        )
14153        .expect("generated inhabited parameter fixture");
14154        let _ = DocApi::new(invoker).content_controls().get(&params).await;
14155    }
14156
14157    {
14158        let params: DocContentControlsGetBindingBoundParams = serde_json::from_str(
14159            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14160        )
14161        .expect("generated inhabited parameter fixture");
14162        let _ = DocApi::new(invoker)
14163            .content_controls()
14164            .get_binding(&params)
14165            .await;
14166    }
14167
14168    {
14169        let params: DocContentControlsGetContentBoundParams = serde_json::from_str(
14170            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14171        )
14172        .expect("generated inhabited parameter fixture");
14173        let _ = DocApi::new(invoker)
14174            .content_controls()
14175            .get_content(&params)
14176            .await;
14177    }
14178
14179    {
14180        let params: DocContentControlsGetParentBoundParams = serde_json::from_str(
14181            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14182        )
14183        .expect("generated inhabited parameter fixture");
14184        let _ = DocApi::new(invoker)
14185            .content_controls()
14186            .get_parent(&params)
14187            .await;
14188    }
14189
14190    {
14191        let params: DocContentControlsGetRawPropertiesBoundParams = serde_json::from_str(
14192            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14193        )
14194        .expect("generated inhabited parameter fixture");
14195        let _ = DocApi::new(invoker)
14196            .content_controls()
14197            .get_raw_properties(&params)
14198            .await;
14199    }
14200
14201    {
14202        let params: DocContentControlsGroupUngroupBoundParams = serde_json::from_str(
14203            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14204        )
14205        .expect("generated inhabited parameter fixture");
14206        let _ = DocApi::new(invoker)
14207            .content_controls()
14208            .group()
14209            .ungroup(&params)
14210            .await;
14211    }
14212
14213    {
14214        let params: DocContentControlsGroupWrapBoundParams = serde_json::from_str(
14215            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14216        )
14217        .expect("generated inhabited parameter fixture");
14218        let _ = DocApi::new(invoker)
14219            .content_controls()
14220            .group()
14221            .wrap(&params)
14222            .await;
14223    }
14224
14225    {
14226        let params:DocContentControlsInsertAfterBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"content\":\"\"}").expect("generated inhabited parameter fixture");
14227        let _ = DocApi::new(invoker)
14228            .content_controls()
14229            .insert_after(&params)
14230            .await;
14231    }
14232
14233    {
14234        let params:DocContentControlsInsertBeforeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"content\":\"\"}").expect("generated inhabited parameter fixture");
14235        let _ = DocApi::new(invoker)
14236            .content_controls()
14237            .insert_before(&params)
14238            .await;
14239    }
14240
14241    {
14242        let params: DocContentControlsListBoundParams =
14243            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14244        let _ = DocApi::new(invoker).content_controls().list(&params).await;
14245    }
14246
14247    {
14248        let params: DocContentControlsListChildrenBoundParams = serde_json::from_str(
14249            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14250        )
14251        .expect("generated inhabited parameter fixture");
14252        let _ = DocApi::new(invoker)
14253            .content_controls()
14254            .list_children(&params)
14255            .await;
14256    }
14257
14258    {
14259        let params: DocContentControlsListInRangeBoundParams =
14260            serde_json::from_str("{\"startBlockId\":\"\",\"endBlockId\":\"\"}")
14261                .expect("generated inhabited parameter fixture");
14262        let _ = DocApi::new(invoker)
14263            .content_controls()
14264            .list_in_range(&params)
14265            .await;
14266    }
14267
14268    {
14269        let params:DocContentControlsMoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"destination\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
14270        let _ = DocApi::new(invoker).content_controls().move_(&params).await;
14271    }
14272
14273    {
14274        let params: DocContentControlsNormalizeTagPayloadBoundParams = serde_json::from_str(
14275            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14276        )
14277        .expect("generated inhabited parameter fixture");
14278        let _ = DocApi::new(invoker)
14279            .content_controls()
14280            .normalize_tag_payload(&params)
14281            .await;
14282    }
14283
14284    {
14285        let params: DocContentControlsNormalizeWordCompatibilityBoundParams = serde_json::from_str(
14286            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14287        )
14288        .expect("generated inhabited parameter fixture");
14289        let _ = DocApi::new(invoker)
14290            .content_controls()
14291            .normalize_word_compatibility(&params)
14292            .await;
14293    }
14294
14295    {
14296        let params: DocContentControlsPatchBoundParams = serde_json::from_str(
14297            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14298        )
14299        .expect("generated inhabited parameter fixture");
14300        let _ = DocApi::new(invoker).content_controls().patch(&params).await;
14301    }
14302
14303    {
14304        let params: DocContentControlsPatchRawPropertiesBoundParams = serde_json::from_str(
14305            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"patches\":[]}",
14306        )
14307        .expect("generated inhabited parameter fixture");
14308        let _ = DocApi::new(invoker)
14309            .content_controls()
14310            .patch_raw_properties(&params)
14311            .await;
14312    }
14313
14314    {
14315        let params:DocContentControlsPrependContentBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"content\":\"\"}").expect("generated inhabited parameter fixture");
14316        let _ = DocApi::new(invoker)
14317            .content_controls()
14318            .prepend_content(&params)
14319            .await;
14320    }
14321
14322    {
14323        let params: DocContentControlsRepeatingSectionCloneItemBoundParams = serde_json::from_str(
14324            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"index\":0}",
14325        )
14326        .expect("generated inhabited parameter fixture");
14327        let _ = DocApi::new(invoker)
14328            .content_controls()
14329            .repeating_section()
14330            .clone_item(&params)
14331            .await;
14332    }
14333
14334    {
14335        let params: DocContentControlsRepeatingSectionDeleteItemBoundParams = serde_json::from_str(
14336            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"index\":0}",
14337        )
14338        .expect("generated inhabited parameter fixture");
14339        let _ = DocApi::new(invoker)
14340            .content_controls()
14341            .repeating_section()
14342            .delete_item(&params)
14343            .await;
14344    }
14345
14346    {
14347        let params:DocContentControlsRepeatingSectionInsertItemAfterBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"index\":0}").expect("generated inhabited parameter fixture");
14348        let _ = DocApi::new(invoker)
14349            .content_controls()
14350            .repeating_section()
14351            .insert_item_after(&params)
14352            .await;
14353    }
14354
14355    {
14356        let params:DocContentControlsRepeatingSectionInsertItemBeforeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"index\":0}").expect("generated inhabited parameter fixture");
14357        let _ = DocApi::new(invoker)
14358            .content_controls()
14359            .repeating_section()
14360            .insert_item_before(&params)
14361            .await;
14362    }
14363
14364    {
14365        let params: DocContentControlsRepeatingSectionListItemsBoundParams = serde_json::from_str(
14366            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14367        )
14368        .expect("generated inhabited parameter fixture");
14369        let _ = DocApi::new(invoker)
14370            .content_controls()
14371            .repeating_section()
14372            .list_items(&params)
14373            .await;
14374    }
14375
14376    {
14377        let params:DocContentControlsRepeatingSectionSetAllowInsertDeleteBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"allow\":false}").expect("generated inhabited parameter fixture");
14378        let _ = DocApi::new(invoker)
14379            .content_controls()
14380            .repeating_section()
14381            .set_allow_insert_delete(&params)
14382            .await;
14383    }
14384
14385    {
14386        let params:DocContentControlsReplaceContentBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"content\":\"\"}").expect("generated inhabited parameter fixture");
14387        let _ = DocApi::new(invoker)
14388            .content_controls()
14389            .replace_content(&params)
14390            .await;
14391    }
14392
14393    {
14394        let params: DocContentControlsSelectByTagBoundParams =
14395            serde_json::from_str("{\"tag\":\"\"}").expect("generated inhabited parameter fixture");
14396        let _ = DocApi::new(invoker)
14397            .content_controls()
14398            .select_by_tag(&params)
14399            .await;
14400    }
14401
14402    {
14403        let params: DocContentControlsSelectByTitleBoundParams =
14404            serde_json::from_str("{\"title\":\"\"}")
14405                .expect("generated inhabited parameter fixture");
14406        let _ = DocApi::new(invoker)
14407            .content_controls()
14408            .select_by_title(&params)
14409            .await;
14410    }
14411
14412    {
14413        let params:DocContentControlsSetBindingBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"storeItemId\":\"\",\"xpath\":\"\"}").expect("generated inhabited parameter fixture");
14414        let _ = DocApi::new(invoker)
14415            .content_controls()
14416            .set_binding(&params)
14417            .await;
14418    }
14419
14420    {
14421        let params:DocContentControlsSetLockModeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"lockMode\":\"unlocked\"}").expect("generated inhabited parameter fixture");
14422        let _ = DocApi::new(invoker)
14423            .content_controls()
14424            .set_lock_mode(&params)
14425            .await;
14426    }
14427
14428    {
14429        let params:DocContentControlsSetTypeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"controlType\":\"\"}").expect("generated inhabited parameter fixture");
14430        let _ = DocApi::new(invoker)
14431            .content_controls()
14432            .set_type(&params)
14433            .await;
14434    }
14435
14436    {
14437        let params: DocContentControlsTextClearValueBoundParams = serde_json::from_str(
14438            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14439        )
14440        .expect("generated inhabited parameter fixture");
14441        let _ = DocApi::new(invoker)
14442            .content_controls()
14443            .text()
14444            .clear_value(&params)
14445            .await;
14446    }
14447
14448    {
14449        let params:DocContentControlsTextSetMultilineBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"multiline\":false}").expect("generated inhabited parameter fixture");
14450        let _ = DocApi::new(invoker)
14451            .content_controls()
14452            .text()
14453            .set_multiline(&params)
14454            .await;
14455    }
14456
14457    {
14458        let params: DocContentControlsTextSetValueBoundParams = serde_json::from_str(
14459            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"},\"value\":\"\"}",
14460        )
14461        .expect("generated inhabited parameter fixture");
14462        let _ = DocApi::new(invoker)
14463            .content_controls()
14464            .text()
14465            .set_value(&params)
14466            .await;
14467    }
14468
14469    {
14470        let params: DocContentControlsUnwrapBoundParams = serde_json::from_str(
14471            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14472        )
14473        .expect("generated inhabited parameter fixture");
14474        let _ = DocApi::new(invoker)
14475            .content_controls()
14476            .unwrap(&params)
14477            .await;
14478    }
14479
14480    {
14481        let params: DocContentControlsValidateWordCompatibilityBoundParams = serde_json::from_str(
14482            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}",
14483        )
14484        .expect("generated inhabited parameter fixture");
14485        let _ = DocApi::new(invoker)
14486            .content_controls()
14487            .validate_word_compatibility(&params)
14488            .await;
14489    }
14490
14491    {
14492        let params:DocContentControlsWrapBoundParams=serde_json::from_str("{\"kind\":\"block\",\"target\":{\"kind\":\"block\",\"nodeType\":\"sdt\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
14493        let _ = DocApi::new(invoker).content_controls().wrap(&params).await;
14494    }
14495
14496    {
14497        let params: DocCreateContentControlBoundParams =
14498            serde_json::from_str("{\"kind\":\"block\"}")
14499                .expect("generated inhabited parameter fixture");
14500        let _ = DocApi::new(invoker).create().content_control(&params).await;
14501    }
14502
14503    {
14504        let params: DocCreateHeadingBoundParams =
14505            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14506        let _ = DocApi::new(invoker).create().heading(&params).await;
14507    }
14508
14509    {
14510        let params: DocCreateImageBoundParams =
14511            serde_json::from_str("{\"src\":\"\"}").expect("generated inhabited parameter fixture");
14512        let _ = DocApi::new(invoker).create().image(&params).await;
14513    }
14514
14515    {
14516        let params: DocCreateParagraphBoundParams =
14517            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14518        let _ = DocApi::new(invoker).create().paragraph(&params).await;
14519    }
14520
14521    {
14522        let params: DocCreateSectionBreakBoundParams =
14523            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14524        let _ = DocApi::new(invoker).create().section_break(&params).await;
14525    }
14526
14527    {
14528        let params: DocCreateTableBoundParams = serde_json::from_str("{\"rows\":0,\"columns\":0}")
14529            .expect("generated inhabited parameter fixture");
14530        let _ = DocApi::new(invoker).create().table(&params).await;
14531    }
14532
14533    {
14534        let params: DocCreateTableOfContentsBoundParams =
14535            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14536        let _ = DocApi::new(invoker)
14537            .create()
14538            .table_of_contents(&params)
14539            .await;
14540    }
14541
14542    {
14543        let params:DocCrossRefsGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"crossRef\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
14544        let _ = DocApi::new(invoker).cross_refs().get(&params).await;
14545    }
14546
14547    {
14548        let params:DocCrossRefsInsertBoundParams=serde_json::from_str("{\"at\":{\"kind\":\"text\",\"segments\":[]},\"target\":{\"kind\":\"bookmark\",\"name\":\"\"},\"display\":\"content\"}").expect("generated inhabited parameter fixture");
14549        let _ = DocApi::new(invoker).cross_refs().insert(&params).await;
14550    }
14551
14552    {
14553        let params: DocCrossRefsListBoundParams =
14554            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14555        let _ = DocApi::new(invoker).cross_refs().list(&params).await;
14556    }
14557
14558    {
14559        let params:DocCrossRefsRebuildBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"crossRef\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
14560        let _ = DocApi::new(invoker).cross_refs().rebuild(&params).await;
14561    }
14562
14563    {
14564        let params:DocCrossRefsRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"crossRef\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
14565        let _ = DocApi::new(invoker).cross_refs().remove(&params).await;
14566    }
14567
14568    {
14569        let params: DocCustomXmlPartsCreateBoundParams = serde_json::from_str("{\"content\":\"\"}")
14570            .expect("generated inhabited parameter fixture");
14571        let _ = DocApi::new(invoker)
14572            .custom_xml()
14573            .parts()
14574            .create(&params)
14575            .await;
14576    }
14577
14578    {
14579        let params: DocCustomXmlPartsGetBoundParams =
14580            serde_json::from_str("{\"target\":{\"id\":\"\"}}")
14581                .expect("generated inhabited parameter fixture");
14582        let _ = DocApi::new(invoker).custom_xml().parts().get(&params).await;
14583    }
14584
14585    {
14586        let params: DocCustomXmlPartsListBoundParams =
14587            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14588        let _ = DocApi::new(invoker)
14589            .custom_xml()
14590            .parts()
14591            .list(&params)
14592            .await;
14593    }
14594
14595    {
14596        let params: DocCustomXmlPartsPatchBoundParams =
14597            serde_json::from_str("{\"target\":{\"id\":\"\"}}")
14598                .expect("generated inhabited parameter fixture");
14599        let _ = DocApi::new(invoker)
14600            .custom_xml()
14601            .parts()
14602            .patch(&params)
14603            .await;
14604    }
14605
14606    {
14607        let params: DocCustomXmlPartsRemoveBoundParams =
14608            serde_json::from_str("{\"target\":{\"id\":\"\"}}")
14609                .expect("generated inhabited parameter fixture");
14610        let _ = DocApi::new(invoker)
14611            .custom_xml()
14612            .parts()
14613            .remove(&params)
14614            .await;
14615    }
14616
14617    {
14618        let params: DocDeleteBoundParams =
14619            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14620        let _ = DocApi::new(invoker).delete(&params).await;
14621    }
14622
14623    {
14624        let params: DocDescribeParams =
14625            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14626        let _ = ClientApi::new(invoker).describe(&params).await;
14627    }
14628
14629    {
14630        let params: DocDescribeCommandParams = serde_json::from_str("{\"operationId\":\"\"}")
14631            .expect("generated inhabited parameter fixture");
14632        let _ = ClientApi::new(invoker).describe_command(&params).await;
14633    }
14634
14635    {
14636        let params:DocDiffApplyBoundParams=serde_json::from_str("{\"diff\":{\"version\":\"sd-diff-payload/v1\",\"engine\":\"superdoc-v2\",\"baseFingerprint\":\"\",\"targetFingerprint\":\"\",\"coverage\":{\"body\":true,\"comments\":false,\"styles\":false,\"numbering\":false,\"headerFooters\":false},\"summary\":{\"hasChanges\":false,\"changedComponents\":[],\"body\":{\"hasChanges\":false},\"comments\":{\"hasChanges\":false},\"styles\":{\"hasChanges\":false},\"numbering\":{\"hasChanges\":false},\"headerFooters\":{\"hasChanges\":false},\"parts\":{\"hasChanges\":false}},\"payload\":{}}}").expect("generated inhabited parameter fixture");
14637        let _ = DocApi::new(invoker).diff().apply(&params).await;
14638    }
14639
14640    {
14641        let params: DocDiffCaptureBoundParams =
14642            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14643        let _ = DocApi::new(invoker).diff().capture(&params).await;
14644    }
14645
14646    {
14647        let params:DocDiffCompareBoundParams=serde_json::from_str("{\"targetSnapshot\":{\"version\":\"sd-diff-snapshot/v1\",\"engine\":\"superdoc-v2\",\"fingerprint\":\"\",\"coverage\":{\"body\":true,\"comments\":false,\"styles\":false,\"numbering\":false,\"headerFooters\":false},\"payload\":{}}}").expect("generated inhabited parameter fixture");
14648        let _ = DocApi::new(invoker).diff().compare(&params).await;
14649    }
14650
14651    {
14652        let params: DocDiscoverParams = serde_json::from_str("{\"query\":\"\"}")
14653            .expect("generated inhabited parameter fixture");
14654        let _ = InternalApi::new(invoker).discover(&params).await;
14655    }
14656
14657    {
14658        let params: DocExecuteCodeBoundParams =
14659            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14660        let _ = DocApi::new(invoker).execute_code(&params).await;
14661    }
14662
14663    {
14664        let params: DocExportToDocxBoundParams =
14665            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14666        let _ = DocApi::new(invoker).export().to_docx(&params).await;
14667    }
14668
14669    {
14670        let params: DocExtractBoundParams =
14671            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14672        let _ = DocApi::new(invoker).extract(&params).await;
14673    }
14674
14675    {
14676        let params: DocFieldsGetBoundParams = serde_json::from_str(
14677            "{\"target\":{\"kind\":\"field\",\"blockId\":\"\",\"occurrenceIndex\":0}}",
14678        )
14679        .expect("generated inhabited parameter fixture");
14680        let _ = DocApi::new(invoker).fields().get(&params).await;
14681    }
14682
14683    {
14684        let params: DocFieldsInsertBoundParams = serde_json::from_str(
14685            "{\"mode\":\"raw\",\"at\":{\"kind\":\"text\",\"segments\":[]},\"instruction\":\"\"}",
14686        )
14687        .expect("generated inhabited parameter fixture");
14688        let _ = DocApi::new(invoker).fields().insert(&params).await;
14689    }
14690
14691    {
14692        let params: DocFieldsListBoundParams =
14693            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14694        let _ = DocApi::new(invoker).fields().list(&params).await;
14695    }
14696
14697    {
14698        let params: DocFieldsRebuildBoundParams = serde_json::from_str(
14699            "{\"target\":{\"kind\":\"field\",\"blockId\":\"\",\"occurrenceIndex\":0}}",
14700        )
14701        .expect("generated inhabited parameter fixture");
14702        let _ = DocApi::new(invoker).fields().rebuild(&params).await;
14703    }
14704
14705    {
14706        let params:DocFieldsRemoveBoundParams=serde_json::from_str("{\"mode\":\"raw\",\"target\":{\"kind\":\"field\",\"blockId\":\"\",\"occurrenceIndex\":0}}").expect("generated inhabited parameter fixture");
14707        let _ = DocApi::new(invoker).fields().remove(&params).await;
14708    }
14709
14710    {
14711        let params: DocFindBoundParams =
14712            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14713        let _ = DocApi::new(invoker).find(&params).await;
14714    }
14715
14716    {
14717        let params: DocFootnotesConfigureBoundParams =
14718            serde_json::from_str("{\"type\":\"footnote\",\"scope\":{\"kind\":\"document\"}}")
14719                .expect("generated inhabited parameter fixture");
14720        let _ = DocApi::new(invoker).footnotes().configure(&params).await;
14721    }
14722
14723    {
14724        let params: DocFootnotesGetBoundParams = serde_json::from_str(
14725            "{\"target\":{\"kind\":\"entity\",\"entityType\":\"footnote\",\"noteId\":\"\"}}",
14726        )
14727        .expect("generated inhabited parameter fixture");
14728        let _ = DocApi::new(invoker).footnotes().get(&params).await;
14729    }
14730
14731    {
14732        let params: DocFootnotesInsertBoundParams = serde_json::from_str("{\"type\":\"footnote\"}")
14733            .expect("generated inhabited parameter fixture");
14734        let _ = DocApi::new(invoker).footnotes().insert(&params).await;
14735    }
14736
14737    {
14738        let params: DocFootnotesListBoundParams =
14739            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14740        let _ = DocApi::new(invoker).footnotes().list(&params).await;
14741    }
14742
14743    {
14744        let params: DocFootnotesRemoveBoundParams = serde_json::from_str(
14745            "{\"target\":{\"kind\":\"entity\",\"entityType\":\"footnote\",\"noteId\":\"\"}}",
14746        )
14747        .expect("generated inhabited parameter fixture");
14748        let _ = DocApi::new(invoker).footnotes().remove(&params).await;
14749    }
14750
14751    {
14752        let params:DocFootnotesUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"entity\",\"entityType\":\"footnote\",\"noteId\":\"\"},\"patch\":{\"content\":\"\"}}").expect("generated inhabited parameter fixture");
14753        let _ = DocApi::new(invoker).footnotes().update(&params).await;
14754    }
14755
14756    {
14757        let params: DocFormatApplyBoundParams =
14758            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14759        let _ = DocApi::new(invoker).format().apply(&params).await;
14760    }
14761
14762    {
14763        let params: DocFormatBCsBoundParams =
14764            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14765        let _ = DocApi::new(invoker).format().b_cs(&params).await;
14766    }
14767
14768    {
14769        let params: DocFormatBoldBoundParams =
14770            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14771        let _ = DocApi::new(invoker).format().bold(&params).await;
14772    }
14773
14774    {
14775        let params: DocFormatBorderBoundParams =
14776            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14777        let _ = DocApi::new(invoker).format().border(&params).await;
14778    }
14779
14780    {
14781        let params: DocFormatCapsBoundParams =
14782            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14783        let _ = DocApi::new(invoker).format().caps(&params).await;
14784    }
14785
14786    {
14787        let params: DocFormatCharScaleBoundParams =
14788            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14789        let _ = DocApi::new(invoker).format().char_scale(&params).await;
14790    }
14791
14792    {
14793        let params: DocFormatColorBoundParams =
14794            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14795        let _ = DocApi::new(invoker).format().color(&params).await;
14796    }
14797
14798    {
14799        let params: DocFormatContextualAlternatesBoundParams =
14800            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14801        let _ = DocApi::new(invoker)
14802            .format()
14803            .contextual_alternates(&params)
14804            .await;
14805    }
14806
14807    {
14808        let params: DocFormatCsBoundParams =
14809            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14810        let _ = DocApi::new(invoker).format().cs(&params).await;
14811    }
14812
14813    {
14814        let params: DocFormatDstrikeBoundParams =
14815            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14816        let _ = DocApi::new(invoker).format().dstrike(&params).await;
14817    }
14818
14819    {
14820        let params: DocFormatEastAsianLayoutBoundParams =
14821            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14822        let _ = DocApi::new(invoker)
14823            .format()
14824            .east_asian_layout(&params)
14825            .await;
14826    }
14827
14828    {
14829        let params: DocFormatEmBoundParams =
14830            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14831        let _ = DocApi::new(invoker).format().em(&params).await;
14832    }
14833
14834    {
14835        let params: DocFormatEmbossBoundParams =
14836            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14837        let _ = DocApi::new(invoker).format().emboss(&params).await;
14838    }
14839
14840    {
14841        let params: DocFormatFitTextBoundParams =
14842            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14843        let _ = DocApi::new(invoker).format().fit_text(&params).await;
14844    }
14845
14846    {
14847        let params: DocFormatFontFamilyBoundParams =
14848            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14849        let _ = DocApi::new(invoker).format().font_family(&params).await;
14850    }
14851
14852    {
14853        let params: DocFormatFontSizeBoundParams =
14854            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14855        let _ = DocApi::new(invoker).format().font_size(&params).await;
14856    }
14857
14858    {
14859        let params: DocFormatFontSizeCsBoundParams =
14860            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14861        let _ = DocApi::new(invoker).format().font_size_cs(&params).await;
14862    }
14863
14864    {
14865        let params: DocFormatHighlightBoundParams =
14866            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14867        let _ = DocApi::new(invoker).format().highlight(&params).await;
14868    }
14869
14870    {
14871        let params: DocFormatICsBoundParams =
14872            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14873        let _ = DocApi::new(invoker).format().i_cs(&params).await;
14874    }
14875
14876    {
14877        let params: DocFormatImprintBoundParams =
14878            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14879        let _ = DocApi::new(invoker).format().imprint(&params).await;
14880    }
14881
14882    {
14883        let params: DocFormatItalicBoundParams =
14884            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14885        let _ = DocApi::new(invoker).format().italic(&params).await;
14886    }
14887
14888    {
14889        let params: DocFormatKerningBoundParams =
14890            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14891        let _ = DocApi::new(invoker).format().kerning(&params).await;
14892    }
14893
14894    {
14895        let params: DocFormatLangBoundParams =
14896            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14897        let _ = DocApi::new(invoker).format().lang(&params).await;
14898    }
14899
14900    {
14901        let params: DocFormatLetterSpacingBoundParams =
14902            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14903        let _ = DocApi::new(invoker).format().letter_spacing(&params).await;
14904    }
14905
14906    {
14907        let params: DocFormatLigaturesBoundParams =
14908            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14909        let _ = DocApi::new(invoker).format().ligatures(&params).await;
14910    }
14911
14912    {
14913        let params: DocFormatNumFormBoundParams =
14914            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14915        let _ = DocApi::new(invoker).format().num_form(&params).await;
14916    }
14917
14918    {
14919        let params: DocFormatNumSpacingBoundParams =
14920            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14921        let _ = DocApi::new(invoker).format().num_spacing(&params).await;
14922    }
14923
14924    {
14925        let params: DocFormatOMathBoundParams =
14926            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14927        let _ = DocApi::new(invoker).format().o_math(&params).await;
14928    }
14929
14930    {
14931        let params: DocFormatOutlineBoundParams =
14932            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14933        let _ = DocApi::new(invoker).format().outline(&params).await;
14934    }
14935
14936    {
14937        let params: DocFormatParagraphClearAlignmentBoundParams =
14938            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14939        let _ = DocApi::new(invoker)
14940            .format()
14941            .paragraph()
14942            .clear_alignment(&params)
14943            .await;
14944    }
14945
14946    {
14947        let params: DocFormatParagraphClearAllTabStopsBoundParams =
14948            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14949        let _ = DocApi::new(invoker)
14950            .format()
14951            .paragraph()
14952            .clear_all_tab_stops(&params)
14953            .await;
14954    }
14955
14956    {
14957        let params: DocFormatParagraphClearBorderBoundParams =
14958            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14959        let _ = DocApi::new(invoker)
14960            .format()
14961            .paragraph()
14962            .clear_border(&params)
14963            .await;
14964    }
14965
14966    {
14967        let params: DocFormatParagraphClearDirectionBoundParams =
14968            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14969        let _ = DocApi::new(invoker)
14970            .format()
14971            .paragraph()
14972            .clear_direction(&params)
14973            .await;
14974    }
14975
14976    {
14977        let params: DocFormatParagraphClearIndentationBoundParams =
14978            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14979        let _ = DocApi::new(invoker)
14980            .format()
14981            .paragraph()
14982            .clear_indentation(&params)
14983            .await;
14984    }
14985
14986    {
14987        let params: DocFormatParagraphClearShadingBoundParams =
14988            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14989        let _ = DocApi::new(invoker)
14990            .format()
14991            .paragraph()
14992            .clear_shading(&params)
14993            .await;
14994    }
14995
14996    {
14997        let params: DocFormatParagraphClearSpacingBoundParams =
14998            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
14999        let _ = DocApi::new(invoker)
15000            .format()
15001            .paragraph()
15002            .clear_spacing(&params)
15003            .await;
15004    }
15005
15006    {
15007        let params: DocFormatParagraphClearTabStopBoundParams =
15008            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15009        let _ = DocApi::new(invoker)
15010            .format()
15011            .paragraph()
15012            .clear_tab_stop(&params)
15013            .await;
15014    }
15015
15016    {
15017        let params: DocFormatParagraphResetDirectFormattingBoundParams =
15018            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15019        let _ = DocApi::new(invoker)
15020            .format()
15021            .paragraph()
15022            .reset_direct_formatting(&params)
15023            .await;
15024    }
15025
15026    {
15027        let params: DocFormatParagraphSetAlignmentBoundParams =
15028            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15029        let _ = DocApi::new(invoker)
15030            .format()
15031            .paragraph()
15032            .set_alignment(&params)
15033            .await;
15034    }
15035
15036    {
15037        let params: DocFormatParagraphSetBorderBoundParams =
15038            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15039        let _ = DocApi::new(invoker)
15040            .format()
15041            .paragraph()
15042            .set_border(&params)
15043            .await;
15044    }
15045
15046    {
15047        let params: DocFormatParagraphSetDirectionBoundParams =
15048            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15049        let _ = DocApi::new(invoker)
15050            .format()
15051            .paragraph()
15052            .set_direction(&params)
15053            .await;
15054    }
15055
15056    {
15057        let params: DocFormatParagraphSetFlowOptionsBoundParams =
15058            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15059        let _ = DocApi::new(invoker)
15060            .format()
15061            .paragraph()
15062            .set_flow_options(&params)
15063            .await;
15064    }
15065
15066    {
15067        let params: DocFormatParagraphSetIndentationBoundParams =
15068            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15069        let _ = DocApi::new(invoker)
15070            .format()
15071            .paragraph()
15072            .set_indentation(&params)
15073            .await;
15074    }
15075
15076    {
15077        let params: DocFormatParagraphSetKeepOptionsBoundParams =
15078            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15079        let _ = DocApi::new(invoker)
15080            .format()
15081            .paragraph()
15082            .set_keep_options(&params)
15083            .await;
15084    }
15085
15086    {
15087        let params: DocFormatParagraphSetMarkRunPropsBoundParams =
15088            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15089        let _ = DocApi::new(invoker)
15090            .format()
15091            .paragraph()
15092            .set_mark_run_props(&params)
15093            .await;
15094    }
15095
15096    {
15097        let params: DocFormatParagraphSetNumberingBoundParams =
15098            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15099        let _ = DocApi::new(invoker)
15100            .format()
15101            .paragraph()
15102            .set_numbering(&params)
15103            .await;
15104    }
15105
15106    {
15107        let params: DocFormatParagraphSetOutlineLevelBoundParams =
15108            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15109        let _ = DocApi::new(invoker)
15110            .format()
15111            .paragraph()
15112            .set_outline_level(&params)
15113            .await;
15114    }
15115
15116    {
15117        let params: DocFormatParagraphSetShadingBoundParams =
15118            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15119        let _ = DocApi::new(invoker)
15120            .format()
15121            .paragraph()
15122            .set_shading(&params)
15123            .await;
15124    }
15125
15126    {
15127        let params: DocFormatParagraphSetSpacingBoundParams =
15128            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15129        let _ = DocApi::new(invoker)
15130            .format()
15131            .paragraph()
15132            .set_spacing(&params)
15133            .await;
15134    }
15135
15136    {
15137        let params: DocFormatParagraphSetTabStopBoundParams =
15138            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15139        let _ = DocApi::new(invoker)
15140            .format()
15141            .paragraph()
15142            .set_tab_stop(&params)
15143            .await;
15144    }
15145
15146    {
15147        let params: DocFormatPositionBoundParams =
15148            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15149        let _ = DocApi::new(invoker).format().position(&params).await;
15150    }
15151
15152    {
15153        let params: DocFormatReadSelectionBoundParams =
15154            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15155        let _ = DocApi::new(invoker).format().read_selection(&params).await;
15156    }
15157
15158    {
15159        let params: DocFormatRFontsBoundParams =
15160            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15161        let _ = DocApi::new(invoker).format().r_fonts(&params).await;
15162    }
15163
15164    {
15165        let params: DocFormatRStyleBoundParams =
15166            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15167        let _ = DocApi::new(invoker).format().r_style(&params).await;
15168    }
15169
15170    {
15171        let params: DocFormatRtlBoundParams =
15172            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15173        let _ = DocApi::new(invoker).format().rtl(&params).await;
15174    }
15175
15176    {
15177        let params: DocFormatShadingBoundParams =
15178            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15179        let _ = DocApi::new(invoker).format().shading(&params).await;
15180    }
15181
15182    {
15183        let params: DocFormatShadowBoundParams =
15184            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15185        let _ = DocApi::new(invoker).format().shadow(&params).await;
15186    }
15187
15188    {
15189        let params: DocFormatSmallCapsBoundParams =
15190            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15191        let _ = DocApi::new(invoker).format().small_caps(&params).await;
15192    }
15193
15194    {
15195        let params: DocFormatSnapToGridBoundParams =
15196            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15197        let _ = DocApi::new(invoker).format().snap_to_grid(&params).await;
15198    }
15199
15200    {
15201        let params: DocFormatSpecVanishBoundParams =
15202            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15203        let _ = DocApi::new(invoker).format().spec_vanish(&params).await;
15204    }
15205
15206    {
15207        let params: DocFormatStrikeBoundParams =
15208            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15209        let _ = DocApi::new(invoker).format().strike(&params).await;
15210    }
15211
15212    {
15213        let params: DocFormatStylisticSetsBoundParams =
15214            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15215        let _ = DocApi::new(invoker).format().stylistic_sets(&params).await;
15216    }
15217
15218    {
15219        let params: DocFormatUnderlineBoundParams =
15220            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15221        let _ = DocApi::new(invoker).format().underline(&params).await;
15222    }
15223
15224    {
15225        let params: DocFormatVanishBoundParams =
15226            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15227        let _ = DocApi::new(invoker).format().vanish(&params).await;
15228    }
15229
15230    {
15231        let params: DocFormatVertAlignBoundParams =
15232            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15233        let _ = DocApi::new(invoker).format().vert_align(&params).await;
15234    }
15235
15236    {
15237        let params: DocFormatWebHiddenBoundParams =
15238            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15239        let _ = DocApi::new(invoker).format().web_hidden(&params).await;
15240    }
15241
15242    {
15243        let params: DocFormatRangeBoundParams = serde_json::from_str("{\"properties\":{}}")
15244            .expect("generated inhabited parameter fixture");
15245        let _ = DocApi::new(invoker).format_range(&params).await;
15246    }
15247
15248    {
15249        let params: DocGetBoundParams =
15250            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15251        let _ = DocApi::new(invoker).get(&params).await;
15252    }
15253
15254    {
15255        let params: DocGetHtmlBoundParams =
15256            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15257        let _ = DocApi::new(invoker).get_html(&params).await;
15258    }
15259
15260    {
15261        let params: DocGetMarkdownBoundParams =
15262            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15263        let _ = DocApi::new(invoker).get_markdown(&params).await;
15264    }
15265
15266    {
15267        let params: DocGetNodeBoundParams =
15268            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15269        let _ = DocApi::new(invoker).get_node(&params).await;
15270    }
15271
15272    {
15273        let params: DocGetNodeByIdBoundParams =
15274            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
15275        let _ = DocApi::new(invoker).get_node_by_id(&params).await;
15276    }
15277
15278    {
15279        let params: DocGetTextBoundParams =
15280            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15281        let _ = DocApi::new(invoker).get_text(&params).await;
15282    }
15283
15284    {
15285        let params:DocHeaderFootersGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"headerFooterSlot\",\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"headerFooterKind\":\"header\",\"variant\":\"default\"}}").expect("generated inhabited parameter fixture");
15286        let _ = DocApi::new(invoker).header_footers().get(&params).await;
15287    }
15288
15289    {
15290        let params: DocHeaderFootersListBoundParams =
15291            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15292        let _ = DocApi::new(invoker).header_footers().list(&params).await;
15293    }
15294
15295    {
15296        let params: DocHeaderFootersPageNumbersGetBoundParams =
15297            serde_json::from_str("{\"section\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
15298                .expect("generated inhabited parameter fixture");
15299        let _ = DocApi::new(invoker)
15300            .header_footers()
15301            .page_numbers()
15302            .get(&params)
15303            .await;
15304    }
15305
15306    {
15307        let params: DocHeaderFootersPageNumbersInsertBoundParams = serde_json::from_str(
15308            "{\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"kind\":\"header\"}",
15309        )
15310        .expect("generated inhabited parameter fixture");
15311        let _ = DocApi::new(invoker)
15312            .header_footers()
15313            .page_numbers()
15314            .insert(&params)
15315            .await;
15316    }
15317
15318    {
15319        let params: DocHeaderFootersPageNumbersRemoveBoundParams =
15320            serde_json::from_str("{\"section\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
15321                .expect("generated inhabited parameter fixture");
15322        let _ = DocApi::new(invoker)
15323            .header_footers()
15324            .page_numbers()
15325            .remove(&params)
15326            .await;
15327    }
15328
15329    {
15330        let params: DocHeaderFootersPageNumbersSetBoundParams = serde_json::from_str(
15331            "{\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"kind\":\"header\"}",
15332        )
15333        .expect("generated inhabited parameter fixture");
15334        let _ = DocApi::new(invoker)
15335            .header_footers()
15336            .page_numbers()
15337            .set(&params)
15338            .await;
15339    }
15340
15341    {
15342        let params: DocHeaderFootersPartsCreateBoundParams =
15343            serde_json::from_str("{\"kind\":\"header\"}")
15344                .expect("generated inhabited parameter fixture");
15345        let _ = DocApi::new(invoker)
15346            .header_footers()
15347            .parts()
15348            .create(&params)
15349            .await;
15350    }
15351
15352    {
15353        let params: DocHeaderFootersPartsDeleteBoundParams =
15354            serde_json::from_str("{\"target\":{\"kind\":\"headerFooterPart\",\"refId\":\"\"}}")
15355                .expect("generated inhabited parameter fixture");
15356        let _ = DocApi::new(invoker)
15357            .header_footers()
15358            .parts()
15359            .delete(&params)
15360            .await;
15361    }
15362
15363    {
15364        let params: DocHeaderFootersPartsListBoundParams =
15365            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15366        let _ = DocApi::new(invoker)
15367            .header_footers()
15368            .parts()
15369            .list(&params)
15370            .await;
15371    }
15372
15373    {
15374        let params:DocHeaderFootersRefsClearBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"headerFooterSlot\",\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"headerFooterKind\":\"header\",\"variant\":\"default\"}}").expect("generated inhabited parameter fixture");
15375        let _ = DocApi::new(invoker)
15376            .header_footers()
15377            .refs()
15378            .clear(&params)
15379            .await;
15380    }
15381
15382    {
15383        let params:DocHeaderFootersRefsSetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"headerFooterSlot\",\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"headerFooterKind\":\"header\",\"variant\":\"default\"},\"refId\":\"\"}").expect("generated inhabited parameter fixture");
15384        let _ = DocApi::new(invoker)
15385            .header_footers()
15386            .refs()
15387            .set(&params)
15388            .await;
15389    }
15390
15391    {
15392        let params:DocHeaderFootersRefsSetLinkedToPreviousBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"headerFooterSlot\",\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"headerFooterKind\":\"header\",\"variant\":\"default\"},\"linked\":false}").expect("generated inhabited parameter fixture");
15393        let _ = DocApi::new(invoker)
15394            .header_footers()
15395            .refs()
15396            .set_linked_to_previous(&params)
15397            .await;
15398    }
15399
15400    {
15401        let params:DocHeaderFootersResolveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"headerFooterSlot\",\"section\":{\"kind\":\"section\",\"sectionId\":\"\"},\"headerFooterKind\":\"header\",\"variant\":\"default\"}}").expect("generated inhabited parameter fixture");
15402        let _ = DocApi::new(invoker).header_footers().resolve(&params).await;
15403    }
15404
15405    {
15406        let params: DocHistoryGetBoundParams =
15407            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15408        let _ = DocApi::new(invoker).history().get(&params).await;
15409    }
15410
15411    {
15412        let params: DocHistoryRedoBoundParams =
15413            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15414        let _ = DocApi::new(invoker).history().redo(&params).await;
15415    }
15416
15417    {
15418        let params: DocHistoryUndoBoundParams =
15419            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15420        let _ = DocApi::new(invoker).history().undo(&params).await;
15421    }
15422
15423    {
15424        let params: DocHtmlToFragmentBoundParams =
15425            serde_json::from_str("{\"html\":\"\"}").expect("generated inhabited parameter fixture");
15426        let _ = DocApi::new(invoker).html_to_fragment(&params).await;
15427    }
15428
15429    {
15430        let params:DocHyperlinksGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"hyperlink\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
15431        let _ = DocApi::new(invoker).hyperlinks().get(&params).await;
15432    }
15433
15434    {
15435        let params: DocHyperlinksInsertBoundParams =
15436            serde_json::from_str("{\"text\":\"\",\"link\":{\"destination\":{}}}")
15437                .expect("generated inhabited parameter fixture");
15438        let _ = DocApi::new(invoker).hyperlinks().insert(&params).await;
15439    }
15440
15441    {
15442        let params: DocHyperlinksListBoundParams =
15443            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15444        let _ = DocApi::new(invoker).hyperlinks().list(&params).await;
15445    }
15446
15447    {
15448        let params:DocHyperlinksPatchBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"hyperlink\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}},\"patch\":{}}").expect("generated inhabited parameter fixture");
15449        let _ = DocApi::new(invoker).hyperlinks().patch(&params).await;
15450    }
15451
15452    {
15453        let params:DocHyperlinksRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"hyperlink\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
15454        let _ = DocApi::new(invoker).hyperlinks().remove(&params).await;
15455    }
15456
15457    {
15458        let params:DocHyperlinksWrapBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"text\",\"blockId\":\"\",\"range\":{\"start\":0,\"end\":0}},\"link\":{\"destination\":{}}}").expect("generated inhabited parameter fixture");
15459        let _ = DocApi::new(invoker).hyperlinks().wrap(&params).await;
15460    }
15461
15462    {
15463        let params: DocImagesConvertToFloatingBoundParams =
15464            serde_json::from_str("{\"imageId\":\"\"}")
15465                .expect("generated inhabited parameter fixture");
15466        let _ = DocApi::new(invoker)
15467            .images()
15468            .convert_to_floating(&params)
15469            .await;
15470    }
15471
15472    {
15473        let params: DocImagesConvertToInlineBoundParams =
15474            serde_json::from_str("{\"imageId\":\"\"}")
15475                .expect("generated inhabited parameter fixture");
15476        let _ = DocApi::new(invoker)
15477            .images()
15478            .convert_to_inline(&params)
15479            .await;
15480    }
15481
15482    {
15483        let params: DocImagesCropBoundParams =
15484            serde_json::from_str("{\"imageId\":\"\",\"crop\":{}}")
15485                .expect("generated inhabited parameter fixture");
15486        let _ = DocApi::new(invoker).images().crop(&params).await;
15487    }
15488
15489    {
15490        let params: DocImagesDeleteBoundParams = serde_json::from_str("{\"imageId\":\"\"}")
15491            .expect("generated inhabited parameter fixture");
15492        let _ = DocApi::new(invoker).images().delete(&params).await;
15493    }
15494
15495    {
15496        let params: DocImagesFlipBoundParams = serde_json::from_str("{\"imageId\":\"\"}")
15497            .expect("generated inhabited parameter fixture");
15498        let _ = DocApi::new(invoker).images().flip(&params).await;
15499    }
15500
15501    {
15502        let params: DocImagesGetBoundParams = serde_json::from_str("{\"imageId\":\"\"}")
15503            .expect("generated inhabited parameter fixture");
15504        let _ = DocApi::new(invoker).images().get(&params).await;
15505    }
15506
15507    {
15508        let params: DocImagesInsertCaptionBoundParams =
15509            serde_json::from_str("{\"imageId\":\"\",\"text\":\"\"}")
15510                .expect("generated inhabited parameter fixture");
15511        let _ = DocApi::new(invoker).images().insert_caption(&params).await;
15512    }
15513
15514    {
15515        let params: DocImagesListBoundParams =
15516            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15517        let _ = DocApi::new(invoker).images().list(&params).await;
15518    }
15519
15520    {
15521        let params: DocImagesMoveBoundParams =
15522            serde_json::from_str("{\"imageId\":\"\",\"to\":{\"kind\":\"documentStart\"}}")
15523                .expect("generated inhabited parameter fixture");
15524        let _ = DocApi::new(invoker).images().move_(&params).await;
15525    }
15526
15527    {
15528        let params: DocImagesRemoveCaptionBoundParams = serde_json::from_str("{\"imageId\":\"\"}")
15529            .expect("generated inhabited parameter fixture");
15530        let _ = DocApi::new(invoker).images().remove_caption(&params).await;
15531    }
15532
15533    {
15534        let params: DocImagesReplaceSourceBoundParams =
15535            serde_json::from_str("{\"imageId\":\"\",\"src\":\"\"}")
15536                .expect("generated inhabited parameter fixture");
15537        let _ = DocApi::new(invoker).images().replace_source(&params).await;
15538    }
15539
15540    {
15541        let params: DocImagesResetCropBoundParams = serde_json::from_str("{\"imageId\":\"\"}")
15542            .expect("generated inhabited parameter fixture");
15543        let _ = DocApi::new(invoker).images().reset_crop(&params).await;
15544    }
15545
15546    {
15547        let params: DocImagesRotateBoundParams =
15548            serde_json::from_str("{\"imageId\":\"\",\"angle\":0}")
15549                .expect("generated inhabited parameter fixture");
15550        let _ = DocApi::new(invoker).images().rotate(&params).await;
15551    }
15552
15553    {
15554        let params: DocImagesScaleBoundParams =
15555            serde_json::from_str("{\"imageId\":\"\",\"factor\":0}")
15556                .expect("generated inhabited parameter fixture");
15557        let _ = DocApi::new(invoker).images().scale(&params).await;
15558    }
15559
15560    {
15561        let params: DocImagesSetAltTextBoundParams =
15562            serde_json::from_str("{\"imageId\":\"\",\"description\":\"\"}")
15563                .expect("generated inhabited parameter fixture");
15564        let _ = DocApi::new(invoker).images().set_alt_text(&params).await;
15565    }
15566
15567    {
15568        let params: DocImagesSetAnchorOptionsBoundParams =
15569            serde_json::from_str("{\"imageId\":\"\",\"options\":{}}")
15570                .expect("generated inhabited parameter fixture");
15571        let _ = DocApi::new(invoker)
15572            .images()
15573            .set_anchor_options(&params)
15574            .await;
15575    }
15576
15577    {
15578        let params: DocImagesSetDecorativeBoundParams =
15579            serde_json::from_str("{\"imageId\":\"\",\"decorative\":false}")
15580                .expect("generated inhabited parameter fixture");
15581        let _ = DocApi::new(invoker).images().set_decorative(&params).await;
15582    }
15583
15584    {
15585        let params: DocImagesSetHyperlinkBoundParams =
15586            serde_json::from_str("{\"imageId\":\"\",\"url\":null}")
15587                .expect("generated inhabited parameter fixture");
15588        let _ = DocApi::new(invoker).images().set_hyperlink(&params).await;
15589    }
15590
15591    {
15592        let params: DocImagesSetLockAspectRatioBoundParams =
15593            serde_json::from_str("{\"imageId\":\"\",\"locked\":false}")
15594                .expect("generated inhabited parameter fixture");
15595        let _ = DocApi::new(invoker)
15596            .images()
15597            .set_lock_aspect_ratio(&params)
15598            .await;
15599    }
15600
15601    {
15602        let params: DocImagesSetNameBoundParams =
15603            serde_json::from_str("{\"imageId\":\"\",\"name\":\"\"}")
15604                .expect("generated inhabited parameter fixture");
15605        let _ = DocApi::new(invoker).images().set_name(&params).await;
15606    }
15607
15608    {
15609        let params: DocImagesSetPositionBoundParams =
15610            serde_json::from_str("{\"imageId\":\"\",\"position\":{}}")
15611                .expect("generated inhabited parameter fixture");
15612        let _ = DocApi::new(invoker).images().set_position(&params).await;
15613    }
15614
15615    {
15616        let params: DocImagesSetSizeBoundParams =
15617            serde_json::from_str("{\"imageId\":\"\",\"size\":{\"width\":0,\"height\":0}}")
15618                .expect("generated inhabited parameter fixture");
15619        let _ = DocApi::new(invoker).images().set_size(&params).await;
15620    }
15621
15622    {
15623        let params: DocImagesSetWrapDistancesBoundParams =
15624            serde_json::from_str("{\"imageId\":\"\",\"distances\":{}}")
15625                .expect("generated inhabited parameter fixture");
15626        let _ = DocApi::new(invoker)
15627            .images()
15628            .set_wrap_distances(&params)
15629            .await;
15630    }
15631
15632    {
15633        let params: DocImagesSetWrapSideBoundParams =
15634            serde_json::from_str("{\"imageId\":\"\",\"side\":\"bothSides\"}")
15635                .expect("generated inhabited parameter fixture");
15636        let _ = DocApi::new(invoker).images().set_wrap_side(&params).await;
15637    }
15638
15639    {
15640        let params: DocImagesSetWrapTypeBoundParams =
15641            serde_json::from_str("{\"imageId\":\"\",\"type\":\"None\"}")
15642                .expect("generated inhabited parameter fixture");
15643        let _ = DocApi::new(invoker).images().set_wrap_type(&params).await;
15644    }
15645
15646    {
15647        let params: DocImagesSetZOrderBoundParams =
15648            serde_json::from_str("{\"imageId\":\"\",\"zOrder\":{\"relativeHeight\":0}}")
15649                .expect("generated inhabited parameter fixture");
15650        let _ = DocApi::new(invoker).images().set_z_order(&params).await;
15651    }
15652
15653    {
15654        let params: DocImagesUpdateCaptionBoundParams =
15655            serde_json::from_str("{\"imageId\":\"\",\"text\":\"\"}")
15656                .expect("generated inhabited parameter fixture");
15657        let _ = DocApi::new(invoker).images().update_caption(&params).await;
15658    }
15659
15660    {
15661        let params: DocIndexConfigureBoundParams = serde_json::from_str(
15662            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"index\",\"nodeId\":\"\"},\"patch\":{}}",
15663        )
15664        .expect("generated inhabited parameter fixture");
15665        let _ = DocApi::new(invoker).index().configure(&params).await;
15666    }
15667
15668    {
15669        let params:DocIndexEntriesGetBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"indexEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
15670        let _ = DocApi::new(invoker).index().entries().get(&params).await;
15671    }
15672
15673    {
15674        let params: DocIndexEntriesInsertBoundParams = serde_json::from_str(
15675            "{\"at\":{\"kind\":\"text\",\"segments\":[]},\"entry\":{\"text\":\"\"}}",
15676        )
15677        .expect("generated inhabited parameter fixture");
15678        let _ = DocApi::new(invoker).index().entries().insert(&params).await;
15679    }
15680
15681    {
15682        let params: DocIndexEntriesListBoundParams =
15683            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15684        let _ = DocApi::new(invoker).index().entries().list(&params).await;
15685    }
15686
15687    {
15688        let params:DocIndexEntriesRemoveBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"indexEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}}}").expect("generated inhabited parameter fixture");
15689        let _ = DocApi::new(invoker).index().entries().remove(&params).await;
15690    }
15691
15692    {
15693        let params:DocIndexEntriesUpdateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"indexEntry\",\"anchor\":{\"start\":{\"blockId\":\"\",\"offset\":0},\"end\":{\"blockId\":\"\",\"offset\":0}}},\"patch\":{}}").expect("generated inhabited parameter fixture");
15694        let _ = DocApi::new(invoker).index().entries().update(&params).await;
15695    }
15696
15697    {
15698        let params: DocIndexGetBoundParams = serde_json::from_str(
15699            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"index\",\"nodeId\":\"\"}}",
15700        )
15701        .expect("generated inhabited parameter fixture");
15702        let _ = DocApi::new(invoker).index().get(&params).await;
15703    }
15704
15705    {
15706        let params: DocIndexInsertBoundParams =
15707            serde_json::from_str("{\"at\":{\"kind\":\"documentStart\"}}")
15708                .expect("generated inhabited parameter fixture");
15709        let _ = DocApi::new(invoker).index().insert(&params).await;
15710    }
15711
15712    {
15713        let params: DocIndexListBoundParams =
15714            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15715        let _ = DocApi::new(invoker).index().list(&params).await;
15716    }
15717
15718    {
15719        let params: DocIndexRebuildBoundParams = serde_json::from_str(
15720            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"index\",\"nodeId\":\"\"}}",
15721        )
15722        .expect("generated inhabited parameter fixture");
15723        let _ = DocApi::new(invoker).index().rebuild(&params).await;
15724    }
15725
15726    {
15727        let params: DocIndexRemoveBoundParams = serde_json::from_str(
15728            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"index\",\"nodeId\":\"\"}}",
15729        )
15730        .expect("generated inhabited parameter fixture");
15731        let _ = DocApi::new(invoker).index().remove(&params).await;
15732    }
15733
15734    {
15735        let params: DocInfoBoundParams =
15736            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15737        let _ = DocApi::new(invoker).info(&params).await;
15738    }
15739
15740    {
15741        let params: DocInsertBoundParams =
15742            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15743        let _ = DocApi::new(invoker).insert(&params).await;
15744    }
15745
15746    {
15747        let params: DocInsertLineBreakBoundParams =
15748            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15749        let _ = DocApi::new(invoker).insert_line_break(&params).await;
15750    }
15751
15752    {
15753        let params: DocInsertTabBoundParams =
15754            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15755        let _ = DocApi::new(invoker).insert_tab(&params).await;
15756    }
15757
15758    {
15759        let params:DocListsApplyBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"seed\":\"bullet\"}").expect("generated inhabited parameter fixture");
15760        let _ = DocApi::new(invoker).lists().apply(&params).await;
15761    }
15762
15763    {
15764        let params: DocListsApplyPresetBoundParams =
15765            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15766        let _ = DocApi::new(invoker).lists().apply_preset(&params).await;
15767    }
15768
15769    {
15770        let params:DocListsApplyStyleBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"style\":{\"version\":1,\"levels\":[]}}").expect("generated inhabited parameter fixture");
15771        let _ = DocApi::new(invoker).lists().apply_style(&params).await;
15772    }
15773
15774    {
15775        let params: DocListsApplyTemplateBoundParams =
15776            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15777        let _ = DocApi::new(invoker).lists().apply_template(&params).await;
15778    }
15779
15780    {
15781        let params: DocListsAttachBoundParams =
15782            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15783        let _ = DocApi::new(invoker).lists().attach(&params).await;
15784    }
15785
15786    {
15787        let params: DocListsCanContinuePreviousBoundParams =
15788            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15789        let _ = DocApi::new(invoker)
15790            .lists()
15791            .can_continue_previous(&params)
15792            .await;
15793    }
15794
15795    {
15796        let params: DocListsCanJoinBoundParams =
15797            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15798        let _ = DocApi::new(invoker).lists().can_join(&params).await;
15799    }
15800
15801    {
15802        let params: DocListsCaptureTemplateBoundParams =
15803            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15804        let _ = DocApi::new(invoker).lists().capture_template(&params).await;
15805    }
15806
15807    {
15808        let params: DocListsClearLevelOverridesBoundParams =
15809            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15810        let _ = DocApi::new(invoker)
15811            .lists()
15812            .clear_level_overrides(&params)
15813            .await;
15814    }
15815
15816    {
15817        let params: DocListsContinueBoundParams = serde_json::from_str(
15818            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
15819        )
15820        .expect("generated inhabited parameter fixture");
15821        let _ = DocApi::new(invoker).lists().continue_(&params).await;
15822    }
15823
15824    {
15825        let params: DocListsContinuePreviousBoundParams =
15826            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15827        let _ = DocApi::new(invoker)
15828            .lists()
15829            .continue_previous(&params)
15830            .await;
15831    }
15832
15833    {
15834        let params: DocListsConvertToTextBoundParams =
15835            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15836        let _ = DocApi::new(invoker).lists().convert_to_text(&params).await;
15837    }
15838
15839    {
15840        let params: DocListsCreateBoundParams =
15841            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15842        let _ = DocApi::new(invoker).lists().create(&params).await;
15843    }
15844
15845    {
15846        let params: DocListsDeleteBoundParams = serde_json::from_str(
15847            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"}}",
15848        )
15849        .expect("generated inhabited parameter fixture");
15850        let _ = DocApi::new(invoker).lists().delete(&params).await;
15851    }
15852
15853    {
15854        let params: DocListsDetachBoundParams =
15855            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15856        let _ = DocApi::new(invoker).lists().detach(&params).await;
15857    }
15858
15859    {
15860        let params: DocListsGetBoundParams = serde_json::from_str(
15861            "{\"address\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"}}",
15862        )
15863        .expect("generated inhabited parameter fixture");
15864        let _ = DocApi::new(invoker).lists().get(&params).await;
15865    }
15866
15867    {
15868        let params: DocListsGetStateBoundParams = serde_json::from_str(
15869            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
15870        )
15871        .expect("generated inhabited parameter fixture");
15872        let _ = DocApi::new(invoker).lists().get_state(&params).await;
15873    }
15874
15875    {
15876        let params: DocListsGetStyleBoundParams = serde_json::from_str(
15877            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"}}",
15878        )
15879        .expect("generated inhabited parameter fixture");
15880        let _ = DocApi::new(invoker).lists().get_style(&params).await;
15881    }
15882
15883    {
15884        let params: DocListsIndentBoundParams =
15885            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15886        let _ = DocApi::new(invoker).lists().indent(&params).await;
15887    }
15888
15889    {
15890        let params: DocListsInsertBoundParams =
15891            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15892        let _ = DocApi::new(invoker).lists().insert(&params).await;
15893    }
15894
15895    {
15896        let params: DocListsJoinBoundParams =
15897            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15898        let _ = DocApi::new(invoker).lists().join(&params).await;
15899    }
15900
15901    {
15902        let params: DocListsListBoundParams =
15903            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15904        let _ = DocApi::new(invoker).lists().list(&params).await;
15905    }
15906
15907    {
15908        let params:DocListsMergeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"direction\":\"withPrevious\"}").expect("generated inhabited parameter fixture");
15909        let _ = DocApi::new(invoker).lists().merge(&params).await;
15910    }
15911
15912    {
15913        let params: DocListsOutdentBoundParams =
15914            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15915        let _ = DocApi::new(invoker).lists().outdent(&params).await;
15916    }
15917
15918    {
15919        let params: DocListsRemoveBoundParams = serde_json::from_str(
15920            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
15921        )
15922        .expect("generated inhabited parameter fixture");
15923        let _ = DocApi::new(invoker).lists().remove(&params).await;
15924    }
15925
15926    {
15927        let params: DocListsRestartBoundParams = serde_json::from_str(
15928            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
15929        )
15930        .expect("generated inhabited parameter fixture");
15931        let _ = DocApi::new(invoker).lists().restart(&params).await;
15932    }
15933
15934    {
15935        let params:DocListsRestartAtBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"startAt\":0}").expect("generated inhabited parameter fixture");
15936        let _ = DocApi::new(invoker).lists().restart_at(&params).await;
15937    }
15938
15939    {
15940        let params: DocListsSeparateBoundParams =
15941            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15942        let _ = DocApi::new(invoker).lists().separate(&params).await;
15943    }
15944
15945    {
15946        let params: DocListsSetLevelBoundParams =
15947            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15948        let _ = DocApi::new(invoker).lists().set_level(&params).await;
15949    }
15950
15951    {
15952        let params: DocListsSetLevelAlignmentBoundParams =
15953            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15954        let _ = DocApi::new(invoker)
15955            .lists()
15956            .set_level_alignment(&params)
15957            .await;
15958    }
15959
15960    {
15961        let params: DocListsSetLevelBulletBoundParams =
15962            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15963        let _ = DocApi::new(invoker).lists().set_level_bullet(&params).await;
15964    }
15965
15966    {
15967        let params: DocListsSetLevelIndentsBoundParams =
15968            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15969        let _ = DocApi::new(invoker)
15970            .lists()
15971            .set_level_indents(&params)
15972            .await;
15973    }
15974
15975    {
15976        let params:DocListsSetLevelLayoutBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"level\":0,\"layout\":{}}").expect("generated inhabited parameter fixture");
15977        let _ = DocApi::new(invoker).lists().set_level_layout(&params).await;
15978    }
15979
15980    {
15981        let params: DocListsSetLevelMarkerFontBoundParams =
15982            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15983        let _ = DocApi::new(invoker)
15984            .lists()
15985            .set_level_marker_font(&params)
15986            .await;
15987    }
15988
15989    {
15990        let params: DocListsSetLevelNumberingBoundParams =
15991            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
15992        let _ = DocApi::new(invoker)
15993            .lists()
15994            .set_level_numbering(&params)
15995            .await;
15996    }
15997
15998    {
15999        let params:DocListsSetLevelNumberStyleBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"level\":0,\"numberStyle\":\"\"}").expect("generated inhabited parameter fixture");
16000        let _ = DocApi::new(invoker)
16001            .lists()
16002            .set_level_number_style(&params)
16003            .await;
16004    }
16005
16006    {
16007        let params: DocListsSetLevelPictureBulletBoundParams =
16008            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16009        let _ = DocApi::new(invoker)
16010            .lists()
16011            .set_level_picture_bullet(&params)
16012            .await;
16013    }
16014
16015    {
16016        let params: DocListsSetLevelRestartBoundParams =
16017            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16018        let _ = DocApi::new(invoker)
16019            .lists()
16020            .set_level_restart(&params)
16021            .await;
16022    }
16023
16024    {
16025        let params:DocListsSetLevelStartBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"level\":0,\"startAt\":0}").expect("generated inhabited parameter fixture");
16026        let _ = DocApi::new(invoker).lists().set_level_start(&params).await;
16027    }
16028
16029    {
16030        let params:DocListsSetLevelTextBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"level\":0,\"text\":\"\"}").expect("generated inhabited parameter fixture");
16031        let _ = DocApi::new(invoker).lists().set_level_text(&params).await;
16032    }
16033
16034    {
16035        let params: DocListsSetLevelTrailingCharacterBoundParams =
16036            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16037        let _ = DocApi::new(invoker)
16038            .lists()
16039            .set_level_trailing_character(&params)
16040            .await;
16041    }
16042
16043    {
16044        let params:DocListsSetTypeBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"},\"kind\":\"ordered\"}").expect("generated inhabited parameter fixture");
16045        let _ = DocApi::new(invoker).lists().set_type(&params).await;
16046    }
16047
16048    {
16049        let params: DocListsSetValueBoundParams =
16050            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16051        let _ = DocApi::new(invoker).lists().set_value(&params).await;
16052    }
16053
16054    {
16055        let params: DocListsSplitBoundParams = serde_json::from_str(
16056            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"listItem\",\"nodeId\":\"\"}}",
16057        )
16058        .expect("generated inhabited parameter fixture");
16059        let _ = DocApi::new(invoker).lists().split(&params).await;
16060    }
16061
16062    {
16063        let params: DocMarkdownToFragmentBoundParams = serde_json::from_str("{\"markdown\":\"\"}")
16064            .expect("generated inhabited parameter fixture");
16065        let _ = DocApi::new(invoker).markdown_to_fragment(&params).await;
16066    }
16067
16068    {
16069        let params:DocMetadataAttachBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"selection\",\"start\":{\"kind\":\"text\",\"blockId\":\"\",\"offset\":0},\"end\":{\"kind\":\"text\",\"blockId\":\"\",\"offset\":0}},\"namespace\":\"\",\"payload\":null}").expect("generated inhabited parameter fixture");
16070        let _ = DocApi::new(invoker).metadata().attach(&params).await;
16071    }
16072
16073    {
16074        let params: DocMetadataGetBoundParams =
16075            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
16076        let _ = DocApi::new(invoker).metadata().get(&params).await;
16077    }
16078
16079    {
16080        let params: DocMetadataListBoundParams =
16081            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16082        let _ = DocApi::new(invoker).metadata().list(&params).await;
16083    }
16084
16085    {
16086        let params: DocMetadataRemoveBoundParams =
16087            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
16088        let _ = DocApi::new(invoker).metadata().remove(&params).await;
16089    }
16090
16091    {
16092        let params: DocMetadataResolveBoundParams =
16093            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
16094        let _ = DocApi::new(invoker).metadata().resolve(&params).await;
16095    }
16096
16097    {
16098        let params: DocMetadataUpdateBoundParams =
16099            serde_json::from_str("{\"id\":\"\",\"payload\":null}")
16100                .expect("generated inhabited parameter fixture");
16101        let _ = DocApi::new(invoker).metadata().update(&params).await;
16102    }
16103
16104    {
16105        let params: DocMutationsApplyBoundParams =
16106            serde_json::from_str("{\"atomic\":false,\"steps\":[]}")
16107                .expect("generated inhabited parameter fixture");
16108        let _ = DocApi::new(invoker).mutations().apply(&params).await;
16109    }
16110
16111    {
16112        let params: DocMutationsBeginTemporaryBoundParams =
16113            serde_json::from_str("{\"tag\":\"\",\"operations\":[]}")
16114                .expect("generated inhabited parameter fixture");
16115        let _ = DocApi::new(invoker)
16116            .mutations()
16117            .begin_temporary(&params)
16118            .await;
16119    }
16120
16121    {
16122        let params: DocMutationsCommitTemporaryBoundParams =
16123            serde_json::from_str("{\"previewId\":\"\"}")
16124                .expect("generated inhabited parameter fixture");
16125        let _ = DocApi::new(invoker)
16126            .mutations()
16127            .commit_temporary(&params)
16128            .await;
16129    }
16130
16131    {
16132        let params: DocMutationsPreviewBoundParams =
16133            serde_json::from_str("{\"atomic\":false,\"changeMode\":\"direct\",\"steps\":[]}")
16134                .expect("generated inhabited parameter fixture");
16135        let _ = DocApi::new(invoker).mutations().preview(&params).await;
16136    }
16137
16138    {
16139        let params: DocMutationsReplaceTemporaryBoundParams =
16140            serde_json::from_str("{\"tag\":\"\",\"operations\":[],\"previewId\":\"\"}")
16141                .expect("generated inhabited parameter fixture");
16142        let _ = DocApi::new(invoker)
16143            .mutations()
16144            .replace_temporary(&params)
16145            .await;
16146    }
16147
16148    {
16149        let params: DocMutationsRollbackTemporaryBoundParams =
16150            serde_json::from_str("{\"previewId\":\"\"}")
16151                .expect("generated inhabited parameter fixture");
16152        let _ = DocApi::new(invoker)
16153            .mutations()
16154            .rollback_temporary(&params)
16155            .await;
16156    }
16157
16158    {
16159        let params: DocOpenParams =
16160            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16161        let _ = ClientApi::new(invoker).open(&params).await;
16162    }
16163
16164    {
16165        let params:DocPermissionRangesCreateBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"selection\",\"start\":{\"kind\":\"text\",\"blockId\":\"\",\"offset\":0},\"end\":{\"kind\":\"text\",\"blockId\":\"\",\"offset\":0}},\"principal\":{\"kind\":\"everyone\"}}").expect("generated inhabited parameter fixture");
16166        let _ = DocApi::new(invoker)
16167            .permission_ranges()
16168            .create(&params)
16169            .await;
16170    }
16171
16172    {
16173        let params: DocPermissionRangesGetBoundParams =
16174            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
16175        let _ = DocApi::new(invoker).permission_ranges().get(&params).await;
16176    }
16177
16178    {
16179        let params: DocPermissionRangesListBoundParams =
16180            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16181        let _ = DocApi::new(invoker).permission_ranges().list(&params).await;
16182    }
16183
16184    {
16185        let params: DocPermissionRangesRemoveBoundParams =
16186            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
16187        let _ = DocApi::new(invoker)
16188            .permission_ranges()
16189            .remove(&params)
16190            .await;
16191    }
16192
16193    {
16194        let params: DocPermissionRangesUpdatePrincipalBoundParams =
16195            serde_json::from_str("{\"id\":\"\",\"principal\":{\"kind\":\"everyone\"}}")
16196                .expect("generated inhabited parameter fixture");
16197        let _ = DocApi::new(invoker)
16198            .permission_ranges()
16199            .update_principal(&params)
16200            .await;
16201    }
16202
16203    {
16204        let params: DocPlanExecuteBoundParams = serde_json::from_str("{\"entries\":[]}")
16205            .expect("generated inhabited parameter fixture");
16206        let _ = DocApi::new(invoker).plan().execute(&params).await;
16207    }
16208
16209    {
16210        let params: DocPresetDispatchBoundParams = serde_json::from_str("{\"toolName\":\"\"}")
16211            .expect("generated inhabited parameter fixture");
16212        let _ = DocApi::new(invoker).preset().dispatch(&params).await;
16213    }
16214
16215    {
16216        let params: DocPresetGetCatalogBoundParams =
16217            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16218        let _ = DocApi::new(invoker).preset().get_catalog(&params).await;
16219    }
16220
16221    {
16222        let params: DocPresetGetMcpPromptBoundParams =
16223            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16224        let _ = DocApi::new(invoker).preset().get_mcp_prompt(&params).await;
16225    }
16226
16227    {
16228        let params: DocPresetGetSystemPromptBoundParams =
16229            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16230        let _ = DocApi::new(invoker)
16231            .preset()
16232            .get_system_prompt(&params)
16233            .await;
16234    }
16235
16236    {
16237        let params: DocPresetGetToolsBoundParams =
16238            serde_json::from_str("{\"provider\":\"openai\"}")
16239                .expect("generated inhabited parameter fixture");
16240        let _ = DocApi::new(invoker).preset().get_tools(&params).await;
16241    }
16242
16243    {
16244        let params: DocPresetListBoundParams =
16245            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16246        let _ = DocApi::new(invoker).preset().list(&params).await;
16247    }
16248
16249    {
16250        let params: DocProjectHtmlBoundParams =
16251            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16252        let _ = DocApi::new(invoker).project_html(&params).await;
16253    }
16254
16255    {
16256        let params: DocProjectMarkdownBoundParams =
16257            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16258        let _ = DocApi::new(invoker).project_markdown(&params).await;
16259    }
16260
16261    {
16262        let params: DocProtectionClearEditingRestrictionBoundParams =
16263            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16264        let _ = DocApi::new(invoker)
16265            .protection()
16266            .clear_editing_restriction(&params)
16267            .await;
16268    }
16269
16270    {
16271        let params: DocProtectionGetBoundParams =
16272            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16273        let _ = DocApi::new(invoker).protection().get(&params).await;
16274    }
16275
16276    {
16277        let params: DocProtectionSetEditingRestrictionBoundParams =
16278            serde_json::from_str("{\"mode\":\"readOnly\"}")
16279                .expect("generated inhabited parameter fixture");
16280        let _ = DocApi::new(invoker)
16281            .protection()
16282            .set_editing_restriction(&params)
16283            .await;
16284    }
16285
16286    {
16287        let params: DocQueryMatchBoundParams =
16288            serde_json::from_str("{\"select\":{\"type\":\"text\",\"pattern\":\"\"}}")
16289                .expect("generated inhabited parameter fixture");
16290        let _ = DocApi::new(invoker).query().match_(&params).await;
16291    }
16292
16293    {
16294        let params:DocRangesResolveBoundParams=serde_json::from_str("{\"start\":{\"kind\":\"document\",\"edge\":\"start\"},\"end\":{\"kind\":\"document\",\"edge\":\"start\"}}").expect("generated inhabited parameter fixture");
16295        let _ = DocApi::new(invoker).ranges().resolve(&params).await;
16296    }
16297
16298    {
16299        let params: DocReplaceBoundParams =
16300            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16301        let _ = DocApi::new(invoker).replace(&params).await;
16302    }
16303
16304    {
16305        let params: DocSaveBoundParams =
16306            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16307        let _ = DocApi::new(invoker).save(&params).await;
16308    }
16309
16310    {
16311        let params:DocSectionsClearHeaderFooterRefBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"kind\":\"header\",\"variant\":\"default\"}").expect("generated inhabited parameter fixture");
16312        let _ = DocApi::new(invoker)
16313            .sections()
16314            .clear_header_footer_ref(&params)
16315            .await;
16316    }
16317
16318    {
16319        let params: DocSectionsClearPageBordersBoundParams =
16320            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16321                .expect("generated inhabited parameter fixture");
16322        let _ = DocApi::new(invoker)
16323            .sections()
16324            .clear_page_borders(&params)
16325            .await;
16326    }
16327
16328    {
16329        let params: DocSectionsGetBoundParams =
16330            serde_json::from_str("{\"address\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16331                .expect("generated inhabited parameter fixture");
16332        let _ = DocApi::new(invoker).sections().get(&params).await;
16333    }
16334
16335    {
16336        let params: DocSectionsListBoundParams =
16337            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16338        let _ = DocApi::new(invoker).sections().list(&params).await;
16339    }
16340
16341    {
16342        let params: DocSectionsSetBreakTypeBoundParams = serde_json::from_str(
16343            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"breakType\":\"continuous\"}",
16344        )
16345        .expect("generated inhabited parameter fixture");
16346        let _ = DocApi::new(invoker)
16347            .sections()
16348            .set_break_type(&params)
16349            .await;
16350    }
16351
16352    {
16353        let params: DocSectionsSetColumnsBoundParams =
16354            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16355                .expect("generated inhabited parameter fixture");
16356        let _ = DocApi::new(invoker).sections().set_columns(&params).await;
16357    }
16358
16359    {
16360        let params: DocSectionsSetHeaderFooterMarginsBoundParams =
16361            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16362                .expect("generated inhabited parameter fixture");
16363        let _ = DocApi::new(invoker)
16364            .sections()
16365            .set_header_footer_margins(&params)
16366            .await;
16367    }
16368
16369    {
16370        let params:DocSectionsSetHeaderFooterRefBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"kind\":\"header\",\"variant\":\"default\",\"refId\":\"\"}").expect("generated inhabited parameter fixture");
16371        let _ = DocApi::new(invoker)
16372            .sections()
16373            .set_header_footer_ref(&params)
16374            .await;
16375    }
16376
16377    {
16378        let params: DocSectionsSetLineNumberingBoundParams = serde_json::from_str(
16379            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"enabled\":false}",
16380        )
16381        .expect("generated inhabited parameter fixture");
16382        let _ = DocApi::new(invoker)
16383            .sections()
16384            .set_line_numbering(&params)
16385            .await;
16386    }
16387
16388    {
16389        let params:DocSectionsSetLinkToPreviousBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"kind\":\"header\",\"variant\":\"default\",\"linked\":false}").expect("generated inhabited parameter fixture");
16390        let _ = DocApi::new(invoker)
16391            .sections()
16392            .set_link_to_previous(&params)
16393            .await;
16394    }
16395
16396    {
16397        let params: DocSectionsSetOddEvenHeadersFootersBoundParams =
16398            serde_json::from_str("{\"enabled\":false}")
16399                .expect("generated inhabited parameter fixture");
16400        let _ = DocApi::new(invoker)
16401            .sections()
16402            .set_odd_even_headers_footers(&params)
16403            .await;
16404    }
16405
16406    {
16407        let params: DocSectionsSetPageBordersBoundParams = serde_json::from_str(
16408            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"borders\":null}",
16409        )
16410        .expect("generated inhabited parameter fixture");
16411        let _ = DocApi::new(invoker)
16412            .sections()
16413            .set_page_borders(&params)
16414            .await;
16415    }
16416
16417    {
16418        let params: DocSectionsSetPageMarginsBoundParams =
16419            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16420                .expect("generated inhabited parameter fixture");
16421        let _ = DocApi::new(invoker)
16422            .sections()
16423            .set_page_margins(&params)
16424            .await;
16425    }
16426
16427    {
16428        let params: DocSectionsSetPageNumberingBoundParams =
16429            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16430                .expect("generated inhabited parameter fixture");
16431        let _ = DocApi::new(invoker)
16432            .sections()
16433            .set_page_numbering(&params)
16434            .await;
16435    }
16436
16437    {
16438        let params: DocSectionsSetPageSetupBoundParams =
16439            serde_json::from_str("{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"}}")
16440                .expect("generated inhabited parameter fixture");
16441        let _ = DocApi::new(invoker)
16442            .sections()
16443            .set_page_setup(&params)
16444            .await;
16445    }
16446
16447    {
16448        let params: DocSectionsSetSectionDirectionBoundParams = serde_json::from_str(
16449            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"direction\":\"ltr\"}",
16450        )
16451        .expect("generated inhabited parameter fixture");
16452        let _ = DocApi::new(invoker)
16453            .sections()
16454            .set_section_direction(&params)
16455            .await;
16456    }
16457
16458    {
16459        let params: DocSectionsSetTitlePageBoundParams = serde_json::from_str(
16460            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"enabled\":false}",
16461        )
16462        .expect("generated inhabited parameter fixture");
16463        let _ = DocApi::new(invoker)
16464            .sections()
16465            .set_title_page(&params)
16466            .await;
16467    }
16468
16469    {
16470        let params: DocSectionsSetVerticalAlignBoundParams = serde_json::from_str(
16471            "{\"target\":{\"kind\":\"section\",\"sectionId\":\"\"},\"value\":\"top\"}",
16472        )
16473        .expect("generated inhabited parameter fixture");
16474        let _ = DocApi::new(invoker)
16475            .sections()
16476            .set_vertical_align(&params)
16477            .await;
16478    }
16479
16480    {
16481        let params: DocSelectionCurrentBoundParams =
16482            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16483        let _ = DocApi::new(invoker).selection().current(&params).await;
16484    }
16485
16486    {
16487        let params: DocSelectionExtractOoxmlBoundParams =
16488            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16489        let _ = DocApi::new(invoker)
16490            .selection()
16491            .extract_ooxml(&params)
16492            .await;
16493    }
16494
16495    {
16496        let params: DocSelectionReleaseSnapshotBoundParams =
16497            serde_json::from_str("{\"snapshotId\":\"\"}")
16498                .expect("generated inhabited parameter fixture");
16499        let _ = DocApi::new(invoker)
16500            .selection()
16501            .release_snapshot(&params)
16502            .await;
16503    }
16504
16505    {
16506        let params: DocSessionCloseParams = serde_json::from_str("{\"sessionId\":\"\"}")
16507            .expect("generated inhabited parameter fixture");
16508        let _ = InternalApi::new(invoker).session().close(&params).await;
16509    }
16510
16511    {
16512        let params: DocSessionListParams =
16513            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16514        let _ = InternalApi::new(invoker).session().list(&params).await;
16515    }
16516
16517    {
16518        let params: DocSessionSaveParams = serde_json::from_str("{\"sessionId\":\"\"}")
16519            .expect("generated inhabited parameter fixture");
16520        let _ = InternalApi::new(invoker).session().save(&params).await;
16521    }
16522
16523    {
16524        let params: DocSessionSetDefaultParams = serde_json::from_str("{\"sessionId\":\"\"}")
16525            .expect("generated inhabited parameter fixture");
16526        let _ = InternalApi::new(invoker)
16527            .session()
16528            .set_default(&params)
16529            .await;
16530    }
16531
16532    {
16533        let params: DocStatusParams =
16534            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16535        let _ = InternalApi::new(invoker).status(&params).await;
16536    }
16537
16538    {
16539        let params: DocStylesApplyBoundParams =
16540            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16541        let _ = DocApi::new(invoker).styles().apply(&params).await;
16542    }
16543
16544    {
16545        let params: DocStylesCreateBoundParams =
16546            serde_json::from_str("{\"id\":\"\",\"name\":\"\",\"type\":\"paragraph\"}")
16547                .expect("generated inhabited parameter fixture");
16548        let _ = DocApi::new(invoker).styles().create(&params).await;
16549    }
16550
16551    {
16552        let params: DocStylesGetCatalogBoundParams =
16553            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16554        let _ = DocApi::new(invoker).styles().get_catalog(&params).await;
16555    }
16556
16557    {
16558        let params: DocStylesGetThemeBoundParams =
16559            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16560        let _ = DocApi::new(invoker).styles().get_theme(&params).await;
16561    }
16562
16563    {
16564        let params: DocStylesParagraphClearStyleBoundParams = serde_json::from_str(
16565            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
16566        )
16567        .expect("generated inhabited parameter fixture");
16568        let _ = DocApi::new(invoker)
16569            .styles()
16570            .paragraph()
16571            .clear_style(&params)
16572            .await;
16573    }
16574
16575    {
16576        let params: DocStylesParagraphSetStyleBoundParams = serde_json::from_str(
16577            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"}}",
16578        )
16579        .expect("generated inhabited parameter fixture");
16580        let _ = DocApi::new(invoker)
16581            .styles()
16582            .paragraph()
16583            .set_style(&params)
16584            .await;
16585    }
16586
16587    {
16588        let params:DocStylesParagraphSetStyleRefBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"\"},\"styleId\":\"\"}").expect("generated inhabited parameter fixture");
16589        let _ = DocApi::new(invoker)
16590            .styles()
16591            .paragraph()
16592            .set_style_ref(&params)
16593            .await;
16594    }
16595
16596    {
16597        let params: DocTablesApplyBorderPresetBoundParams =
16598            serde_json::from_str("{\"preset\":\"box\"}")
16599                .expect("generated inhabited parameter fixture");
16600        let _ = DocApi::new(invoker)
16601            .tables()
16602            .apply_border_preset(&params)
16603            .await;
16604    }
16605
16606    {
16607        let params: DocTablesApplyPresetBoundParams = serde_json::from_str("{\"preset\":\"grid\"}")
16608            .expect("generated inhabited parameter fixture");
16609        let _ = DocApi::new(invoker).tables().apply_preset(&params).await;
16610    }
16611
16612    {
16613        let params: DocTablesApplyStyleBoundParams =
16614            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16615        let _ = DocApi::new(invoker).tables().apply_style(&params).await;
16616    }
16617
16618    {
16619        let params: DocTablesClearBorderBoundParams = serde_json::from_str("{\"edge\":\"top\"}")
16620            .expect("generated inhabited parameter fixture");
16621        let _ = DocApi::new(invoker).tables().clear_border(&params).await;
16622    }
16623
16624    {
16625        let params: DocTablesClearCellSpacingBoundParams =
16626            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16627        let _ = DocApi::new(invoker)
16628            .tables()
16629            .clear_cell_spacing(&params)
16630            .await;
16631    }
16632
16633    {
16634        let params: DocTablesClearContentsBoundParams =
16635            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16636        let _ = DocApi::new(invoker).tables().clear_contents(&params).await;
16637    }
16638
16639    {
16640        let params: DocTablesClearDefaultStyleBoundParams =
16641            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16642        let _ = DocApi::new(invoker)
16643            .tables()
16644            .clear_default_style(&params)
16645            .await;
16646    }
16647
16648    {
16649        let params: DocTablesClearShadingBoundParams =
16650            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16651        let _ = DocApi::new(invoker).tables().clear_shading(&params).await;
16652    }
16653
16654    {
16655        let params: DocTablesClearStyleBoundParams =
16656            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16657        let _ = DocApi::new(invoker).tables().clear_style(&params).await;
16658    }
16659
16660    {
16661        let params: DocTablesConvertFromTextBoundParams =
16662            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16663        let _ = DocApi::new(invoker)
16664            .tables()
16665            .convert_from_text(&params)
16666            .await;
16667    }
16668
16669    {
16670        let params: DocTablesConvertToTextBoundParams =
16671            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16672        let _ = DocApi::new(invoker).tables().convert_to_text(&params).await;
16673    }
16674
16675    {
16676        let params: DocTablesDeleteBoundParams =
16677            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16678        let _ = DocApi::new(invoker).tables().delete(&params).await;
16679    }
16680
16681    {
16682        let params: DocTablesDeleteCellBoundParams =
16683            serde_json::from_str("{\"mode\":\"shiftLeft\"}")
16684                .expect("generated inhabited parameter fixture");
16685        let _ = DocApi::new(invoker).tables().delete_cell(&params).await;
16686    }
16687
16688    {
16689        let params: DocTablesDeleteColumnBoundParams = serde_json::from_str("{\"columnIndex\":0}")
16690            .expect("generated inhabited parameter fixture");
16691        let _ = DocApi::new(invoker).tables().delete_column(&params).await;
16692    }
16693
16694    {
16695        let params: DocTablesDeleteRowBoundParams =
16696            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16697        let _ = DocApi::new(invoker).tables().delete_row(&params).await;
16698    }
16699
16700    {
16701        let params: DocTablesDistributeColumnsBoundParams =
16702            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16703        let _ = DocApi::new(invoker)
16704            .tables()
16705            .distribute_columns(&params)
16706            .await;
16707    }
16708
16709    {
16710        let params: DocTablesDistributeRowsBoundParams =
16711            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16712        let _ = DocApi::new(invoker).tables().distribute_rows(&params).await;
16713    }
16714
16715    {
16716        let params: DocTablesGetBoundParams =
16717            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16718        let _ = DocApi::new(invoker).tables().get(&params).await;
16719    }
16720
16721    {
16722        let params: DocTablesGetCellsBoundParams =
16723            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16724        let _ = DocApi::new(invoker).tables().get_cells(&params).await;
16725    }
16726
16727    {
16728        let params: DocTablesGetPropertiesBoundParams =
16729            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16730        let _ = DocApi::new(invoker).tables().get_properties(&params).await;
16731    }
16732
16733    {
16734        let params: DocTablesGetStylesBoundParams =
16735            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16736        let _ = DocApi::new(invoker).tables().get_styles(&params).await;
16737    }
16738
16739    {
16740        let params: DocTablesInsertCellBoundParams =
16741            serde_json::from_str("{\"mode\":\"shiftRight\"}")
16742                .expect("generated inhabited parameter fixture");
16743        let _ = DocApi::new(invoker).tables().insert_cell(&params).await;
16744    }
16745
16746    {
16747        let params: DocTablesInsertColumnBoundParams =
16748            serde_json::from_str("{\"position\":\"left\"}")
16749                .expect("generated inhabited parameter fixture");
16750        let _ = DocApi::new(invoker).tables().insert_column(&params).await;
16751    }
16752
16753    {
16754        let params: DocTablesInsertRowBoundParams =
16755            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16756        let _ = DocApi::new(invoker).tables().insert_row(&params).await;
16757    }
16758
16759    {
16760        let params:DocTablesMergeCellsBoundParams=serde_json::from_str("{\"start\":{\"rowIndex\":0,\"columnIndex\":0},\"end\":{\"rowIndex\":0,\"columnIndex\":0}}").expect("generated inhabited parameter fixture");
16761        let _ = DocApi::new(invoker).tables().merge_cells(&params).await;
16762    }
16763
16764    {
16765        let params: DocTablesMoveBoundParams =
16766            serde_json::from_str("{\"destination\":{\"kind\":\"documentStart\"}}")
16767                .expect("generated inhabited parameter fixture");
16768        let _ = DocApi::new(invoker).tables().move_(&params).await;
16769    }
16770
16771    {
16772        let params: DocTablesMoveColumnBoundParams =
16773            serde_json::from_str("{\"columnIndex\":0,\"destination\":{\"kind\":\"first\"}}")
16774                .expect("generated inhabited parameter fixture");
16775        let _ = DocApi::new(invoker).tables().move_column(&params).await;
16776    }
16777
16778    {
16779        let params: DocTablesMoveRowBoundParams =
16780            serde_json::from_str("{\"destination\":{\"kind\":\"first\"}}")
16781                .expect("generated inhabited parameter fixture");
16782        let _ = DocApi::new(invoker).tables().move_row(&params).await;
16783    }
16784
16785    {
16786        let params: DocTablesSetAltTextBoundParams =
16787            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16788        let _ = DocApi::new(invoker).tables().set_alt_text(&params).await;
16789    }
16790
16791    {
16792        let params: DocTablesSetBorderBoundParams = serde_json::from_str(
16793            "{\"edge\":\"top\",\"lineStyle\":\"\",\"lineWeightPt\":0,\"color\":\"\"}",
16794        )
16795        .expect("generated inhabited parameter fixture");
16796        let _ = DocApi::new(invoker).tables().set_border(&params).await;
16797    }
16798
16799    {
16800        let params: DocTablesSetBordersBoundParams = serde_json::from_str("{\"mode\":\"applyTo\"}")
16801            .expect("generated inhabited parameter fixture");
16802        let _ = DocApi::new(invoker).tables().set_borders(&params).await;
16803    }
16804
16805    {
16806        let params: DocTablesSetCellPaddingBoundParams =
16807            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16808        let _ = DocApi::new(invoker)
16809            .tables()
16810            .set_cell_padding(&params)
16811            .await;
16812    }
16813
16814    {
16815        let params: DocTablesSetCellPropertiesBoundParams =
16816            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16817        let _ = DocApi::new(invoker)
16818            .tables()
16819            .set_cell_properties(&params)
16820            .await;
16821    }
16822
16823    {
16824        let params: DocTablesSetCellSpacingBoundParams = serde_json::from_str("{\"spacingPt\":0}")
16825            .expect("generated inhabited parameter fixture");
16826        let _ = DocApi::new(invoker)
16827            .tables()
16828            .set_cell_spacing(&params)
16829            .await;
16830    }
16831
16832    {
16833        let params: DocTablesSetCellTextBoundParams =
16834            serde_json::from_str("{\"text\":\"\"}").expect("generated inhabited parameter fixture");
16835        let _ = DocApi::new(invoker).tables().set_cell_text(&params).await;
16836    }
16837
16838    {
16839        let params: DocTablesSetColumnWidthBoundParams =
16840            serde_json::from_str("{\"columnIndex\":0,\"widthPt\":0}")
16841                .expect("generated inhabited parameter fixture");
16842        let _ = DocApi::new(invoker)
16843            .tables()
16844            .set_column_width(&params)
16845            .await;
16846    }
16847
16848    {
16849        let params: DocTablesSetDefaultStyleBoundParams =
16850            serde_json::from_str("{\"styleId\":\"\"}")
16851                .expect("generated inhabited parameter fixture");
16852        let _ = DocApi::new(invoker)
16853            .tables()
16854            .set_default_style(&params)
16855            .await;
16856    }
16857
16858    {
16859        let params: DocTablesSetLayoutBoundParams =
16860            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16861        let _ = DocApi::new(invoker).tables().set_layout(&params).await;
16862    }
16863
16864    {
16865        let params: DocTablesSetRowHeightBoundParams = serde_json::from_str("{\"heightPt\":0}")
16866            .expect("generated inhabited parameter fixture");
16867        let _ = DocApi::new(invoker).tables().set_row_height(&params).await;
16868    }
16869
16870    {
16871        let params: DocTablesSetRowOptionsBoundParams =
16872            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16873        let _ = DocApi::new(invoker).tables().set_row_options(&params).await;
16874    }
16875
16876    {
16877        let params: DocTablesSetShadingBoundParams = serde_json::from_str("{\"color\":\"\"}")
16878            .expect("generated inhabited parameter fixture");
16879        let _ = DocApi::new(invoker).tables().set_shading(&params).await;
16880    }
16881
16882    {
16883        let params: DocTablesSetStyleBoundParams =
16884            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16885        let _ = DocApi::new(invoker).tables().set_style(&params).await;
16886    }
16887
16888    {
16889        let params: DocTablesSetStyleOptionBoundParams =
16890            serde_json::from_str("{\"flag\":\"headerRow\",\"enabled\":false}")
16891                .expect("generated inhabited parameter fixture");
16892        let _ = DocApi::new(invoker)
16893            .tables()
16894            .set_style_option(&params)
16895            .await;
16896    }
16897
16898    {
16899        let params: DocTablesSetTableOptionsBoundParams =
16900            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16901        let _ = DocApi::new(invoker)
16902            .tables()
16903            .set_table_options(&params)
16904            .await;
16905    }
16906
16907    {
16908        let params: DocTablesSetTablePaddingBoundParams =
16909            serde_json::from_str("{\"topPt\":0,\"rightPt\":0,\"bottomPt\":0,\"leftPt\":0}")
16910                .expect("generated inhabited parameter fixture");
16911        let _ = DocApi::new(invoker)
16912            .tables()
16913            .set_table_padding(&params)
16914            .await;
16915    }
16916
16917    {
16918        let params: DocTablesSortBoundParams =
16919            serde_json::from_str("{\"keys\":[]}").expect("generated inhabited parameter fixture");
16920        let _ = DocApi::new(invoker).tables().sort(&params).await;
16921    }
16922
16923    {
16924        let params: DocTablesSplitBoundParams = serde_json::from_str("{\"rowIndex\":0}")
16925            .expect("generated inhabited parameter fixture");
16926        let _ = DocApi::new(invoker).tables().split(&params).await;
16927    }
16928
16929    {
16930        let params: DocTablesSplitCellBoundParams =
16931            serde_json::from_str("{\"rows\":0,\"columns\":0}")
16932                .expect("generated inhabited parameter fixture");
16933        let _ = DocApi::new(invoker).tables().split_cell(&params).await;
16934    }
16935
16936    {
16937        let params: DocTablesUnmergeCellsBoundParams =
16938            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16939        let _ = DocApi::new(invoker).tables().unmerge_cells(&params).await;
16940    }
16941
16942    {
16943        let params: DocTemplatesApplyBoundParams =
16944            serde_json::from_str("{\"source\":{\"kind\":\"path\",\"path\":\"\"}}")
16945                .expect("generated inhabited parameter fixture");
16946        let _ = DocApi::new(invoker).templates().apply(&params).await;
16947    }
16948
16949    {
16950        let params:DocTocConfigureBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfContents\",\"nodeId\":\"\"},\"patch\":{}}").expect("generated inhabited parameter fixture");
16951        let _ = DocApi::new(invoker).toc().configure(&params).await;
16952    }
16953
16954    {
16955        let params:DocTocEditEntryBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"tableOfContentsEntry\",\"nodeId\":\"\"},\"patch\":{}}").expect("generated inhabited parameter fixture");
16956        let _ = DocApi::new(invoker).toc().edit_entry(&params).await;
16957    }
16958
16959    {
16960        let params: DocTocGetBoundParams = serde_json::from_str(
16961            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfContents\",\"nodeId\":\"\"}}",
16962        )
16963        .expect("generated inhabited parameter fixture");
16964        let _ = DocApi::new(invoker).toc().get(&params).await;
16965    }
16966
16967    {
16968        let params:DocTocGetEntryBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"tableOfContentsEntry\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
16969        let _ = DocApi::new(invoker).toc().get_entry(&params).await;
16970    }
16971
16972    {
16973        let params: DocTocListBoundParams =
16974            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16975        let _ = DocApi::new(invoker).toc().list(&params).await;
16976    }
16977
16978    {
16979        let params: DocTocListEntriesBoundParams =
16980            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
16981        let _ = DocApi::new(invoker).toc().list_entries(&params).await;
16982    }
16983
16984    {
16985        let params:DocTocMarkEntryBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline-insert\",\"anchor\":{\"nodeType\":\"paragraph\",\"nodeId\":\"\"}},\"text\":\"\"}").expect("generated inhabited parameter fixture");
16986        let _ = DocApi::new(invoker).toc().mark_entry(&params).await;
16987    }
16988
16989    {
16990        let params: DocTocRemoveBoundParams = serde_json::from_str(
16991            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfContents\",\"nodeId\":\"\"}}",
16992        )
16993        .expect("generated inhabited parameter fixture");
16994        let _ = DocApi::new(invoker).toc().remove(&params).await;
16995    }
16996
16997    {
16998        let params:DocTocUnmarkEntryBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"inline\",\"nodeType\":\"tableOfContentsEntry\",\"nodeId\":\"\"}}").expect("generated inhabited parameter fixture");
16999        let _ = DocApi::new(invoker).toc().unmark_entry(&params).await;
17000    }
17001
17002    {
17003        let params: DocTocUpdateBoundParams = serde_json::from_str(
17004            "{\"target\":{\"kind\":\"block\",\"nodeType\":\"tableOfContents\",\"nodeId\":\"\"}}",
17005        )
17006        .expect("generated inhabited parameter fixture");
17007        let _ = DocApi::new(invoker).toc().update(&params).await;
17008    }
17009
17010    {
17011        let params: DocTrackChangesDecideBoundParams = serde_json::from_str(
17012            "{\"decision\":\"accept\",\"target\":{\"kind\":\"id\",\"id\":\"\"}}",
17013        )
17014        .expect("generated inhabited parameter fixture");
17015        let _ = DocApi::new(invoker).track_changes().decide(&params).await;
17016    }
17017
17018    {
17019        let params: DocTrackChangesGetBoundParams =
17020            serde_json::from_str("{\"id\":\"\"}").expect("generated inhabited parameter fixture");
17021        let _ = DocApi::new(invoker).track_changes().get(&params).await;
17022    }
17023
17024    {
17025        let params: DocTrackChangesListBoundParams =
17026            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
17027        let _ = DocApi::new(invoker).track_changes().list(&params).await;
17028    }
17029
17030    {
17031        let params: DocWatermarksApplyBoundParams =
17032            serde_json::from_str("{\"target\":{\"kind\":\"document\"},\"action\":\"insert\"}")
17033                .expect("generated inhabited parameter fixture");
17034        let _ = DocApi::new(invoker).watermarks().apply(&params).await;
17035    }
17036
17037    {
17038        let params: DocWatermarksInsertBoundParams = serde_json::from_str(
17039            "{\"target\":{\"kind\":\"document\"},\"watermark\":{\"kind\":\"text\",\"text\":\"\"}}",
17040        )
17041        .expect("generated inhabited parameter fixture");
17042        let _ = DocApi::new(invoker).watermarks().insert(&params).await;
17043    }
17044
17045    {
17046        let params: DocWatermarksListBoundParams =
17047            serde_json::from_str("{}").expect("generated inhabited parameter fixture");
17048        let _ = DocApi::new(invoker).watermarks().list(&params).await;
17049    }
17050
17051    {
17052        let params: DocWatermarksRemoveBoundParams =
17053            serde_json::from_str("{\"target\":{\"kind\":\"watermark\",\"watermarkId\":\"\"}}")
17054                .expect("generated inhabited parameter fixture");
17055        let _ = DocApi::new(invoker).watermarks().remove(&params).await;
17056    }
17057
17058    {
17059        let params:DocWatermarksReplaceBoundParams=serde_json::from_str("{\"target\":{\"kind\":\"watermark\",\"watermarkId\":\"\"},\"watermark\":{\"kind\":\"text\",\"text\":\"\"}}").expect("generated inhabited parameter fixture");
17060        let _ = DocApi::new(invoker).watermarks().replace(&params).await;
17061    }
17062}