• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkData
19 */
20
21import { AsyncCallback } from './@ohos.base';
22import image from "./@ohos.multimedia.image";
23import Want from "./@ohos.app.ability.Want";
24
25/**
26 * As a part of the Unified Data Management Framework (UDMF), the unifiedDataChannel module provides unified data
27 * channels and standard data access interfaces for many-to-many data sharing across applications. It also provides
28 * definitions for uniform data types, such as text and image, to streamline data interaction between different
29 * applications and minimize the workload of data type adaptation. Although the UDMF does not parse user data, you are
30 * advised not to transfer sensitive personal data or privacy data due to low-level security of storage path.
31 *
32 * @namespace unifiedDataChannel
33 * @syscap SystemCapability.DistributedDataManager.UDMF.Core
34 * @since 10
35 */
36/**
37 * As a part of the Unified Data Management Framework (UDMF), the unifiedDataChannel module provides unified data
38 * channels and standard data access interfaces for many-to-many data sharing across applications. It also provides
39 * definitions for uniform data types, such as text and image, to streamline data interaction between different
40 * applications and minimize the workload of data type adaptation. Although the UDMF does not parse user data, you are
41 * advised not to transfer sensitive personal data or privacy data due to low-level security of storage path.
42 *
43 * @namespace unifiedDataChannel
44 * @syscap SystemCapability.DistributedDataManager.UDMF.Core
45 * @atomicservice
46 * @since 11
47 */
48/**
49 * As a part of the Unified Data Management Framework (UDMF), the unifiedDataChannel module provides unified data
50 * channels and standard data access interfaces for many-to-many data sharing across applications. It also provides
51 * definitions for uniform data types, such as text and image, to streamline data interaction between different
52 * applications and minimize the workload of data type adaptation. Although the UDMF does not parse user data, you are
53 * advised not to transfer sensitive personal data or privacy data due to low-level security of storage path.
54 *
55 * @namespace unifiedDataChannel
56 * @syscap SystemCapability.DistributedDataManager.UDMF.Core
57 * @crossplatform
58 * @atomicservice
59 * @since arkts {'1.1':'14', '1.2':'20'}
60 * @arkts 1.1&1.2
61 */
62declare namespace unifiedDataChannel {
63  /**
64   * Types of scope that UnifiedData can be used.
65   * @enum { number }
66   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
67   * @atomicservice
68   * @since 12
69   */
70  enum ShareOptions {
71    /**
72     * IN_APP indicates that only use in the same app is allowed.
73     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
74     * @atomicservice
75     * @since 12
76     */
77    IN_APP,
78    /**
79     * CROSS_APP indicates that use in any app in this device is allowed.
80     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
81     * @atomicservice
82     * @since 12
83     */
84    CROSS_APP
85  }
86
87  /**
88   * Indicated delay get UnifiedData
89   *
90   * @typedef {function} GetDelayData
91   * @param { string } type - the type of UnifiedData required.
92   * @returns { UnifiedData } Return the UnifiedData required.
93   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
94   * @atomicservice
95   * @since 12
96   */
97  type GetDelayData = (type: string) => UnifiedData;
98
99  /**
100   * Indicates type of value.
101   * @typedef {number | string | boolean | image.PixelMap | Want | ArrayBuffer | object | null | undefined}
102   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
103   * @atomicservice
104   * @since 12
105   */
106  /**
107   * Indicates type of value.
108   * @typedef {number | string | boolean | image.PixelMap | Want | ArrayBuffer | object | null | undefined}
109   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
110   * @crossplatform
111   * @atomicservice
112   * @since arkts {'1.1':'14', '1.2':'20'}
113   * @arkts 1.1&1.2
114   */
115  type ValueType = number | string | boolean | image.PixelMap | Want | ArrayBuffer | object | null | undefined;
116
117  /**
118   * Describe the unified data properties.
119   *
120   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
121   * @atomicservice
122   * @since 12
123   */
124  class UnifiedDataProperties {
125    /**
126     * extra property data. key-value pairs.
127     * @type { ?Record<string, object> }
128     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
129     * @atomicservice
130     * @since 12
131     */
132    extras?: Record<string, object>;
133
134    /**
135     * the user-defined tag of a UnifiedData object.
136     * @type { ?string }
137     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
138     * @atomicservice
139     * @since 12
140     */
141    tag?: string;
142    /**
143     * a timestamp, which indicates when data is written.
144     * @type { ?Date }
145     * @readonly
146     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
147     * @atomicservice
148     * @since 12
149     */
150    readonly timestamp?: Date;
151    /**
152     * Indicates the scope of clipboard data which can be used.
153     * If it is not set or is incorrectly set, The default value is CrossDevice.
154     * @type { ?ShareOptions }
155     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
156     * @atomicservice
157     * @since 12
158     */
159    shareOptions?: ShareOptions;
160
161    /**
162     * Indicated delay get UnifiedData.
163     * @type { ?GetDelayData }
164     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
165     * @atomicservice
166     * @since 12
167     */
168    getDelayData?: GetDelayData;
169  }
170
171  /**
172   * Describe the unified data.
173   *
174   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
175   * @since 10
176   */
177  /**
178   * Describe the unified data.
179   *
180   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
181   * @atomicservice
182   * @since 11
183   */
184  /**
185   * Describe the unified data.
186   *
187   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
188   * @crossplatform
189   * @atomicservice
190   * @since arkts {'1.1':'14', '1.2':'20'}
191   * @arkts 1.1&1.2
192   */
193  class UnifiedData {
194    /**
195     * Create unified data with a record
196     *
197     * @param { UnifiedRecord } record - Record will add into unified data.
198     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
199     * <br>2.Incorrect parameters types.
200     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
201     * @since 10
202     */
203    /**
204     * Create unified data with a record
205     *
206     * @param { UnifiedRecord } record - Record will add into unified data.
207     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
208     * <br>2.Incorrect parameters types.
209     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
210     * @atomicservice
211     * @since 11
212     */
213     /**
214     * Create unified data with a record
215     *
216     * @param { UnifiedRecord } record - Record will add into unified data.
217     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
218     * <br>2.Incorrect parameters types.
219     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
220     * @crossplatform
221     * @atomicservice
222     * @since arkts {'1.1':'14', '1.2':'20'}
223     * @arkts 1.1&1.2
224     */
225    constructor(record: UnifiedRecord);
226    /**
227     * Create a empty unified data.
228     *
229     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
230     * @atomicservice
231     * @since 12
232     */
233    /**
234     * Create a empty unified data.
235     *
236     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
237     * @crossplatform
238     * @atomicservice
239     * @since arkts {'1.1':'14', '1.2':'20'}
240     * @arkts 1.1&1.2
241     */
242    constructor();
243    /**
244     * Add a record into unified data
245     *
246     * @param { UnifiedRecord } record - Record will add into unified data.
247     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
248     * <br>2.Incorrect parameters types.
249     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
250     * @since 10
251     */
252    /**
253     * Add a record into unified data
254     *
255     * @param { UnifiedRecord } record - Record will add into unified data.
256     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
257     * <br>2.Incorrect parameters types.
258     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
259     * @atomicservice
260     * @since 11
261     */
262    /**
263     * Add a record into unified data
264     *
265     * @param { UnifiedRecord } record - Record will add into unified data.
266     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
267     * <br>2.Incorrect parameters types.
268     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
269     * @crossplatform
270     * @atomicservice
271     * @since 14
272     */
273    addRecord(record: UnifiedRecord): void;
274    /**
275     * Get all records of unified data
276     *
277     * @returns { Array<UnifiedRecord> } Return the records of unified data
278     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
279     * @since 10
280     */
281    /**
282     * Get all records of unified data
283     *
284     * @returns { Array<UnifiedRecord> } Return the records of unified data
285     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
286     * @atomicservice
287     * @since 11
288     */
289     /**
290     * Get all records of unified data
291     *
292     * @returns { Array<UnifiedRecord> } Return the records of unified data
293     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
294     * @crossplatform
295     * @atomicservice
296     * @since arkts {'1.1':'14', '1.2':'20'}
297     * @arkts 1.1&1.2
298     */
299    getRecords(): Array<UnifiedRecord>;
300
301    /**
302     * Checks whether this UnifiedData object contains the specified data type, including the data types added by using
303     * the addEntry function.
304     * For file types, if the type set of UnifiedData contains general.jpeg, true is returned when the hasType API is
305     * called to check whether the general.image type is included, because the general.jpeg type belongs to the
306     * general.image type.
307     * @param { string } type - indicates to query data type.
308     * @returns { boolean } if having mimeType in UnifiedData returns true, else returns false.
309     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
310     * <br>2.Incorrect parameters types.
311     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
312     * @atomicservice
313     * @since 12
314     */
315    /**
316     * Checks whether this UnifiedData object contains the specified data type, including the data types added by using
317     * the addEntry function.
318     * For file types, if the type set of UnifiedData contains general.jpeg, true is returned when the hasType API is
319     * called to check whether the general.image type is included, because the general.jpeg type belongs to the
320     * general.image type.
321     * @param { string } type - indicates to query data type.
322     * @returns { boolean } if having mimeType in UnifiedData returns true, else returns false.
323     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
324     * <br>2.Incorrect parameters types.
325     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
326     * @crossplatform
327     * @atomicservice
328     * @since 14
329     */
330    hasType(type: string): boolean;
331
332    /**
333     * UTD types of all content in the UnifiedData.
334     * @returns { Array<string> } type of array
335     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
336     * @atomicservice
337     * @since 12
338     */
339    /**
340     * UTD types of all content in the UnifiedData.
341     * @returns { Array<string> } type of array
342     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
343     * @crossplatform
344     * @atomicservice
345     * @since 14
346     */
347    getTypes(): Array<string>;
348
349    /**
350     * UnifiedData properties.
351     * @type { UnifiedDataProperties }
352     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
353     * @atomicservice
354     * @since 12
355     */
356    properties: UnifiedDataProperties;
357  }
358
359  /**
360   * Summarizes the data information of the unifiedData object, including the data type and size.
361   *
362   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
363   * @since 10
364   */
365  /**
366   * Summarizes the data information of the unifiedData object, including the data type and size.
367   *
368   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
369   * @atomicservice
370   * @since arkts {'1.1':'11', '1.2':'20'}
371   * @arkts 1.1&1.2
372   */
373  class Summary {
374    /**
375     * A map for each type and data size, key is data type, value is the corresponding data size
376     *
377     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
378     * @since 10
379     */
380    /**
381     * A map for each type and data size, key is data type, value is the corresponding data size
382     *
383     * @type { Record<string, number> }
384     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
385     * @atomicservice
386     * @since 11
387     */
388    summary: Record<string, number>;
389    /**
390     * Total data size of data in Bytes
391     *
392     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
393     * @since 10
394     */
395    /**
396     * Total data size of data in Bytes
397     *
398     * @type { number }
399     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
400     * @atomicservice
401     * @since 11
402     */
403    totalSize: number;
404  }
405
406  /**
407   * Describe the unified record
408   *
409   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
410   * @since 10
411   */
412  /**
413   * Describe the unified record
414   *
415   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
416   * @atomicservice
417   * @since 11
418   */
419  /**
420   * An abstract definition of the data content supported by the UDMF. A UnifiedRecord object contains one or more data
421   * records, for example, a text record, an image record, or an HTML record. Since API version 15, different styles of
422   * the same content can be added to a UnifiedRecord object. Data users can obtain the corresponding styles as
423   * required.
424   *
425   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
426   * @crossplatform
427   * @atomicservice
428   * @since arkts {'1.1':'14', '1.2':'20'}
429   * @arkts 1.1&1.2
430   */
431  class UnifiedRecord {
432    /**
433     * Get type of unified record
434     *
435     * @returns { string } Return the type of unified data
436     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
437     * @since 10
438     */
439    /**
440     * Get type of unified record
441     *
442     * @returns { string } Return the type of unified data
443     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
444     * @atomicservice
445     * @since 11
446     */
447    /**
448     * Get type of unified record
449     *
450     * @returns { string } Return the type of unified data
451     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
452     * @crossplatform
453     * @atomicservice
454     * @since 14
455     */
456    getType(): string;
457
458    /**
459     * Create unified record.
460     *
461     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
462     * @atomicservice
463     * @since 12
464     */
465    /**
466     * Create unified record.
467     *
468     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
469     * @crossplatform
470     * @atomicservice
471     * @since arkts {'1.1':'14', '1.2':'20'}
472     * @arkts 1.1&1.2
473     */
474    constructor();
475
476    /**
477     * Create unified record by type and value.
478     *
479     * @param { string } type - indicates to data type of unified record. It can not be empty. When type of value is
480     * object, parameter type must be pixel-map or want UTD type.
481     * @param { ValueType } value - indicates to value of unified record.
482     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
483     * <br>2.Incorrect parameters types;
484     * <br>3.Parameter verification failed.
485     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
486     * @atomicservice
487     * @since 12
488     */
489    /**
490     * Create unified record by type and value.
491     *
492     * @param { string } type - indicates to data type of unified record. It can not be empty. When type of value is
493     * object, parameter type must be pixel-map or want UTD type.
494     * @param { ValueType } value - indicates to value of unified record.
495     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
496     * <br>2.Incorrect parameters types;
497     * <br>3.Parameter verification failed.
498     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
499     * @crossplatform
500     * @atomicservice
501     * @since arkts {'1.1':'14', '1.2':'20'}
502     * @arkts 1.1&1.2
503     */
504    constructor(type: string, value: ValueType);
505
506    /**
507     * Get the value of unified record.
508     *
509     * @returns { ValueType } Return the value of unified record.
510     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
511     * @atomicservice
512     * @since 12
513     */
514    /**
515     * Get the value of unified record.
516     *
517     * @returns { ValueType } Return the value of unified record.
518     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
519     * @crossplatform
520     * @atomicservice
521     * @since 14
522     */
523    getValue(): ValueType;
524
525    /**
526     * Obtains all the data types in the data record. This API can be called using the UnifiedRecord object to query all
527     * data types in the record, including the data types added using the addEntry function.
528     *
529     * @returns { Array<string> } Return the types of unified record.
530     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
531     * @atomicservice
532     * @since 15
533     */
534    getTypes(): Array<string>;
535
536    /**
537     * Adds data of a specified data type and content to the current data record. You can use this API to add different
538     * data types and contents to the same data.
539     *
540     * @param { string } type - type of entry.
541     * @param { ValueType } value - value of entry.
542     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
543     * <br>2.Incorrect parameters types.
544     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
545     * @atomicservice
546     * @since 15
547     */
548    addEntry(type: string, value: ValueType): void;
549
550    /**
551     * Get an entry from unified record
552     *
553     * @param { string } type - type of entry want to get.
554     * @returns { ValueType } Return the value corresponding to the type.
555     * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
556     * <br>2.Incorrect parameters types.
557     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
558     * @atomicservice
559     * @since 15
560     */
561    getEntry(type: string): ValueType;
562
563    /**
564     * Get entries from unified record
565     *
566     * @returns { Record<string, ValueType> } Return all entries in the record.
567     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
568     * @atomicservice
569     * @since 15
570     */
571    getEntries(): Record<string, ValueType>;
572  }
573
574  /**
575   * Describe the unified text data
576   *
577   * @extends UnifiedRecord
578   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
579   * @since 10
580   */
581  /**
582   * Describe the unified text data
583   *
584   * @extends UnifiedRecord
585   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
586   * @atomicservice
587   * @since 11
588   */
589  /**
590   * Describe the unified text data
591   *
592   * @extends UnifiedRecord
593   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
594   * @crossplatform
595   * @atomicservice
596   * @since 14
597   */
598  class Text extends UnifiedRecord {
599    /**
600     * Indicates the details of unified text
601     *
602     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
603     * @since 10
604     */
605    /**
606     * Indicates the details of unified text
607     *
608     * @type { ?Record<string, string> }
609     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
610     * @atomicservice
611     * @since 11
612     */
613    /**
614     * Indicates the details of unified text
615     *
616     * @type { ?Record<string, string> }
617     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
618     * @crossplatform
619     * @atomicservice
620     * @since 14
621     */
622    details?: Record<string, string>;
623  }
624
625  /**
626   * Describe the unified plain text data
627   *
628   * @extends Text
629   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
630   * @since 10
631   */
632  /**
633   * Describe the unified plain text data
634   *
635   * @extends Text
636   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
637   * @atomicservice
638   * @since 11
639   */
640  /**
641   * Describe the unified plain text data
642   *
643   * @extends Text
644   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
645   * @crossplatform
646   * @atomicservice
647   * @since 14
648   */
649  class PlainText extends Text {
650    /**
651     * Indicates the content of text
652     *
653     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
654     * @since 10
655     */
656    /**
657     * Indicates the content of text
658     *
659     * @type { string }
660     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
661     * @atomicservice
662     * @since 11
663     */
664    /**
665     * Indicates the content of text
666     *
667     * @type { string }
668     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
669     * @crossplatform
670     * @atomicservice
671     * @since 14
672     */
673    textContent: string;
674    /**
675     * Indicates the abstract of text
676     *
677     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
678     * @since 10
679     */
680    /**
681     * Indicates the abstract of text
682     *
683     * @type { ?string }
684     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
685     * @atomicservice
686     * @since 11
687     */
688    /**
689     * Indicates the abstract of text
690     *
691     * @type { ?string }
692     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
693     * @crossplatform
694     * @atomicservice
695     * @since 14
696     */
697    abstract?: string;
698  }
699
700  /**
701   * Describe the unified link data
702   *
703   * @extends Text
704   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
705   * @since 10
706   */
707  /**
708   * Describe the unified link data
709   *
710   * @extends Text
711   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
712   * @atomicservice
713   * @since 11
714   */
715  /**
716   * Describe the unified link data
717   *
718   * @extends Text
719   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
720   * @crossplatform
721   * @atomicservice
722   * @since 14
723   */
724  class Hyperlink extends Text {
725    /**
726     * Indicates the url of a link
727     *
728     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
729     * @since 10
730     */
731    /**
732     * Indicates the url of a link
733     *
734     * @type { string }
735     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
736     * @atomicservice
737     * @since 11
738     */
739    /**
740     * Indicates the url of a link
741     *
742     * @type { string }
743     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
744     * @crossplatform
745     * @atomicservice
746     * @since 14
747     */
748    url: string;
749    /**
750     * Indicates the description of a link
751     *
752     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
753     * @since 10
754     */
755    /**
756     * Indicates the description of a link
757     *
758     * @type { ?string }
759     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
760     * @atomicservice
761     * @since 11
762     */
763    /**
764     * Indicates the description of a link
765     *
766     * @type { ?string }
767     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
768     * @crossplatform
769     * @atomicservice
770     * @since 14
771     */
772    description?: string;
773  }
774
775  /**
776   * Describe the unified html data
777   *
778   * @extends Text
779   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
780   * @since 10
781   */
782  /**
783   * Describe the unified html data
784   *
785   * @extends Text
786   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
787   * @atomicservice
788   * @since 11
789   */
790  /**
791   * Describe the unified html data
792   *
793   * @extends Text
794   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
795   * @crossplatform
796   * @atomicservice
797   * @since 14
798   */
799  class HTML extends Text {
800    /**
801     * Indicates the content of html, with html tags
802     *
803     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
804     * @since 10
805     */
806    /**
807     * Indicates the content of html, with html tags
808     *
809     * @type { string }
810     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
811     * @atomicservice
812     * @since 11
813     */
814    /**
815     * Indicates the content of html, with html tags
816     *
817     * @type { string }
818     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
819     * @crossplatform
820     * @atomicservice
821     * @since 14
822     */
823    htmlContent: string;
824    /**
825     * Indicates the plain content of html
826     *
827     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
828     * @since 10
829     */
830    /**
831     * Indicates the plain content of html
832     *
833     * @type { ?string }
834     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
835     * @atomicservice
836     * @since 11
837     */
838    /**
839     * Indicates the plain content of html
840     *
841     * @type { ?string }
842     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
843     * @crossplatform
844     * @atomicservice
845     * @since 14
846     */
847    plainContent?: string;
848  }
849
850  /**
851   * Describe the unified file data
852   *
853   * @extends UnifiedRecord
854   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
855   * @since 10
856   */
857  /**
858   * Describe the unified file data
859   *
860   * @extends UnifiedRecord
861   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
862   * @atomicservice
863   * @since 11
864   */
865  /**
866   * Describe the unified file data
867   *
868   * @extends UnifiedRecord
869   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
870   * @crossplatform
871   * @atomicservice
872   * @since 14
873   */
874  class File extends UnifiedRecord {
875    /**
876     * Indicates the details of unified File
877     *
878     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
879     * @since 10
880     */
881    /**
882     * Indicates the details of unified File
883     *
884     * @type { ?Record<string, string> }
885     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
886     * @atomicservice
887     * @since 11
888     */
889    /**
890     * Indicates the details of unified File
891     *
892     * @type { ?Record<string, string> }
893     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
894     * @crossplatform
895     * @atomicservice
896     * @since 14
897     */
898    details?: Record<string, string>;
899    /**
900     * URI of the local file or online file. The local file URI can be obtained using the getUriFromPath function.
901     *
902     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
903     * @since 10
904     */
905    /**
906     * URI of the local file or online file. The local file URI can be obtained using the getUriFromPath function.
907     *
908     * @type { string }
909     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
910     * @atomicservice
911     * @since 11
912     */
913    /**
914     * URI of the local file or online file. The local file URI can be obtained using the getUriFromPath function.
915     *
916     * @type { string }
917     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
918     * @crossplatform
919     * @atomicservice
920     * @since 14
921     */
922    uri: string;
923  }
924
925  /**
926   * Describe the unified image data
927   *
928   * @extends File
929   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
930   * @since 10
931   */
932  /**
933   * Describe the unified image data
934   *
935   * @extends File
936   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
937   * @atomicservice
938   * @since 11
939   */
940  /**
941   * Describe the unified image data
942   *
943   * @extends File
944   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
945   * @crossplatform
946   * @atomicservice
947   * @since 14
948   */
949  class Image extends File {
950    /**
951     * URI of the local image or online image. The local image URI can be obtained using the getUriFromPath function.
952     *
953     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
954     * @since 10
955     */
956    /**
957     * URI of the local image or online image. The local image URI can be obtained using the getUriFromPath function.
958     *
959     * @type { string }
960     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
961     * @atomicservice
962     * @since 11
963     */
964    /**
965     * URI of the local image or online image. The local image URI can be obtained using the getUriFromPath function.
966     *
967     * @type { string }
968     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
969     * @crossplatform
970     * @atomicservice
971     * @since 14
972     */
973    imageUri: string;
974  }
975
976  /**
977   * Describe the unified video data
978   *
979   * @extends File
980   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
981   * @since 10
982   */
983  /**
984   * Describe the unified video data
985   *
986   * @extends File
987   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
988   * @atomicservice
989   * @since 11
990   */
991  /**
992   * Describe the unified video data
993   *
994   * @extends File
995   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
996   * @crossplatform
997   * @atomicservice
998   * @since 14
999   */
1000  class Video extends File {
1001    /**
1002     * URI of the local video or online video. The local video URI can be obtained using the getUriFromPath function.
1003     *
1004     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1005     * @since 10
1006     */
1007    /**
1008     * URI of the local video or online video. The local video URI can be obtained using the getUriFromPath function.
1009     *
1010     * @type { string }
1011     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1012     * @atomicservice
1013     * @since 11
1014     */
1015    /**
1016     * URI of the local video or online video. The local video URI can be obtained using the getUriFromPath function.
1017     *
1018     * @type { string }
1019     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1020     * @crossplatform
1021     * @atomicservice
1022     * @since 14
1023     */
1024    videoUri: string;
1025  }
1026
1027  /**
1028   * Describe the unified audio data
1029   *
1030   * @extends File
1031   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1032   * @since 10
1033   */
1034  /**
1035   * Describe the unified audio data
1036   *
1037   * @extends File
1038   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1039   * @atomicservice
1040   * @since 11
1041   */
1042  /**
1043   * Describe the unified audio data
1044   *
1045   * @extends File
1046   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1047   * @crossplatform
1048   * @atomicservice
1049   * @since 14
1050   */
1051  class Audio extends File {
1052    /**
1053     * URI of the local audio or online audio. The local audio URI can be obtained using the getUriFromPath function.
1054     *
1055     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1056     * @since 10
1057     */
1058    /**
1059     * URI of the local audio or online audio. The local audio URI can be obtained using the getUriFromPath function.
1060     *
1061     * @type { string }
1062     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1063     * @atomicservice
1064     * @since 11
1065     */
1066    /**
1067     * URI of the local audio or online audio. The local audio URI can be obtained using the getUriFromPath function.
1068     *
1069     * @type { string }
1070     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1071     * @crossplatform
1072     * @atomicservice
1073     * @since 14
1074     */
1075    audioUri: string;
1076  }
1077
1078  /**
1079   * Describe the unified folder data
1080   *
1081   * @extends File
1082   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1083   * @since 10
1084   */
1085  /**
1086   * Describe the unified folder data
1087   *
1088   * @extends File
1089   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1090   * @atomicservice
1091   * @since 11
1092   */
1093  /**
1094   * Describe the unified folder data
1095   *
1096   * @extends File
1097   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1098   * @crossplatform
1099   * @atomicservice
1100   * @since 14
1101   */
1102  class Folder extends File {
1103    /**
1104     * URI of the local folder or online folder. The local folder URI can be obtained using the getUriFromPath function.
1105     *
1106     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1107     * @since 10
1108     */
1109    /**
1110     * URI of the local folder or online folder. The local folder URI can be obtained using the getUriFromPath function.
1111     *
1112     * @type { string }
1113     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1114     * @atomicservice
1115     * @since 11
1116     */
1117    /**
1118     * URI of the local folder or online folder. The local folder URI can be obtained using the getUriFromPath function.
1119     *
1120     * @type { string }
1121     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1122     * @crossplatform
1123     * @atomicservice
1124     * @since 14
1125     */
1126    folderUri: string;
1127  }
1128
1129  /**
1130   * Describe system defined type data(this kind of data is provided and bound to OpenHarmony,
1131   * also can be parsed by system provided API)
1132   *
1133   * @extends UnifiedRecord
1134   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1135   * @since 10
1136   */
1137  /**
1138   * Describe system defined type data(this kind of data is provided and bound to OpenHarmony,
1139   * also can be parsed by system provided API)
1140   *
1141   * @extends UnifiedRecord
1142   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1143   * @atomicservice
1144   * @since 11
1145   */
1146  class SystemDefinedRecord extends UnifiedRecord {
1147    /**
1148     * Indicates the details of system defined data
1149     *
1150     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1151     * @since 10
1152     */
1153    /**
1154     * Indicates the details of system defined data
1155     *
1156     * @type { ?Record<string, number | string | Uint8Array> }
1157     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1158     * @atomicservice
1159     * @since 11
1160     */
1161    details?: Record<string, number | string | Uint8Array>;
1162  }
1163
1164  /**
1165   * Describe system defined form data(this kind of data is provided and bound to OpenHarmony,
1166   * also can be parsed by system provided API)
1167   *
1168   * @extends SystemDefinedRecord
1169   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1170   * @since 10
1171   */
1172  /**
1173   * Describe system defined form data(this kind of data is provided and bound to OpenHarmony,
1174   * also can be parsed by system provided API)
1175   *
1176   * @extends SystemDefinedRecord
1177   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1178   * @atomicservice
1179   * @since 11
1180   */
1181  class SystemDefinedForm extends SystemDefinedRecord {
1182    /**
1183     * Indicates the id of form
1184     *
1185     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1186     * @since 10
1187     */
1188    /**
1189     * Indicates the id of form
1190     *
1191     * @type { number }
1192     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1193     * @atomicservice
1194     * @since 11
1195     */
1196    formId: number;
1197    /**
1198     * Indicates the name of form
1199     *
1200     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1201     * @since 10
1202     */
1203    /**
1204     * Indicates the name of form
1205     *
1206     * @type { string }
1207     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1208     * @atomicservice
1209     * @since 11
1210     */
1211    formName: string;
1212    /**
1213     * Indicates the bundle name of form
1214     *
1215     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1216     * @since 10
1217     */
1218    /**
1219     * Indicates the bundle name of form
1220     *
1221     * @type { string }
1222     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1223     * @atomicservice
1224     * @since 11
1225     */
1226    bundleName: string;
1227    /**
1228     * Indicates the ability name of form
1229     *
1230     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1231     * @since 10
1232     */
1233    /**
1234     * Indicates the ability name of form
1235     *
1236     * @type { string }
1237     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1238     * @atomicservice
1239     * @since 11
1240     */
1241    abilityName: string;
1242    /**
1243     * Indicates the module of form
1244     *
1245     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1246     * @since 10
1247     */
1248    /**
1249     * Indicates the module of form
1250     *
1251     * @type { string }
1252     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1253     * @atomicservice
1254     * @since 11
1255     */
1256    module: string;
1257  }
1258
1259  /**
1260   * Describe system defined app item data(this kind of data is provided and bound to OpenHarmony,
1261   * also can be parsed by system provided API)
1262   *
1263   * @extends SystemDefinedRecord
1264   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1265   * @since 10
1266   */
1267  /**
1268   * Describe system defined app item data(this kind of data is provided and bound to OpenHarmony,
1269   * also can be parsed by system provided API)
1270   *
1271   * @extends SystemDefinedRecord
1272   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1273   * @atomicservice
1274   * @since 11
1275   */
1276  class SystemDefinedAppItem extends SystemDefinedRecord {
1277    /**
1278     * Indicates the app id
1279     *
1280     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1281     * @since 10
1282     */
1283    /**
1284     * Indicates the app id
1285     *
1286     * @type { string }
1287     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1288     * @atomicservice
1289     * @since 11
1290     */
1291    appId: string;
1292    /**
1293     * Indicates the app name
1294     *
1295     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1296     * @since 10
1297     */
1298    /**
1299     * Indicates the app name
1300     *
1301     * @type { string }
1302     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1303     * @atomicservice
1304     * @since 11
1305     */
1306    appName: string;
1307    /**
1308     * Indicates the id of app icon
1309     *
1310     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1311     * @since 10
1312     */
1313    /**
1314     * Indicates the id of app icon
1315     *
1316     * @type { string }
1317     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1318     * @atomicservice
1319     * @since 11
1320     */
1321    appIconId: string;
1322    /**
1323     * Indicates the id of app label
1324     *
1325     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1326     * @since 10
1327     */
1328    /**
1329     * Indicates the id of app label
1330     *
1331     * @type { string }
1332     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1333     * @atomicservice
1334     * @since 11
1335     */
1336    appLabelId: string;
1337    /**
1338     * Indicates the bundle name of app
1339     *
1340     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1341     * @since 10
1342     */
1343    /**
1344     * Indicates the bundle name of app
1345     *
1346     * @type { string }
1347     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1348     * @atomicservice
1349     * @since 11
1350     */
1351    bundleName: string;
1352    /**
1353     * Indicates the ability name of app
1354     *
1355     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1356     * @since 10
1357     */
1358    /**
1359     * Indicates the ability name of app
1360     *
1361     * @type { string }
1362     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1363     * @atomicservice
1364     * @since 11
1365     */
1366    abilityName: string;
1367  }
1368
1369  /**
1370   * Describe system defined pixel map data(this kind of data is provided and bound to OpenHarmony,
1371   * also can be parsed by system provided API)
1372   *
1373   * @extends SystemDefinedRecord
1374   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1375   * @since 10
1376   */
1377  /**
1378   * Describe system defined pixel map data(this kind of data is provided and bound to OpenHarmony,
1379   * also can be parsed by system provided API)
1380   *
1381   * @extends SystemDefinedRecord
1382   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1383   * @atomicservice
1384   * @since 11
1385   */
1386  class SystemDefinedPixelMap extends SystemDefinedRecord {
1387    /**
1388     * Indicates the raw data of pixel map
1389     *
1390     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1391     * @since 10
1392     */
1393    /**
1394     * Indicates the raw data of pixel map
1395     *
1396     * @type { Uint8Array }
1397     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1398     * @atomicservice
1399     * @since 11
1400     */
1401    rawData: Uint8Array;
1402  }
1403
1404  /**
1405   * Describe application defined data(this kind of data is provided and bound to OpenHarmony,
1406   * also can be parsed by system provided API)
1407   *
1408   * @extends UnifiedRecord
1409   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1410   * @since 10
1411   */
1412  /**
1413   * Describe application defined data(this kind of data is provided and bound to OpenHarmony,
1414   * also can be parsed by system provided API)
1415   *
1416   * @extends UnifiedRecord
1417   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1418   * @atomicservice
1419   * @since 11
1420   */
1421  class ApplicationDefinedRecord extends UnifiedRecord {
1422    /**
1423     * Indicates the type of data, should always be started with 'ApplicationDefined.', will
1424     * return error otherwise
1425     *
1426     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1427     * @since 10
1428     */
1429    /**
1430     * Indicates the type of data, should always be started with 'ApplicationDefined.', will
1431     * return error otherwise
1432     *
1433     * @type { string }
1434     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1435     * @atomicservice
1436     * @since 11
1437     */
1438    applicationDefinedType: string;
1439    /**
1440     * Indicates the raw data of application defined data
1441     *
1442     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1443     * @since 10
1444     */
1445    /**
1446     * Indicates the raw data of application defined data
1447     *
1448     * @type { Uint8Array }
1449     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1450     * @atomicservice
1451     * @since 11
1452     */
1453    rawData: Uint8Array;
1454  }
1455
1456  /**
1457   * Describe the sharing channel that UDMF support
1458   *
1459   * @enum { string }
1460   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1461   * @since 10
1462   */
1463  /**
1464   * Describe the sharing channel that UDMF support
1465   *
1466   * @enum { string }
1467   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1468   * @atomicservice
1469   * @since 11
1470   */
1471  enum Intention {
1472    /**
1473     * Indicates the intention of data hub
1474     *
1475     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1476     * @since 10
1477     */
1478    /**
1479     * Indicates the intention of data hub
1480     *
1481     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1482     * @atomicservice
1483     * @since 11
1484     */
1485    DATA_HUB = 'DataHub',
1486
1487    /**
1488     * Indicates the intention of drag
1489     *
1490     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1491     * @systemapi
1492     * @StageModelOnly
1493     * @since 12
1494     */
1495    /**
1496     * Indicates the intention of drag
1497     *
1498     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1499     * @stagemodelonly
1500     * @since 14
1501     */
1502     DRAG = 'Drag',
1503
1504    /**
1505     * Indicates a system sharing channel.
1506     *
1507     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1508     * @stagemodelonly
1509     * @since 20
1510     */
1511    SYSTEM_SHARE = 'SystemShare',
1512
1513    /**
1514     * Indicates a Picker channel.
1515     *
1516     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1517     * @stagemodelonly
1518     * @since 20
1519     */
1520    PICKER = 'Picker',
1521
1522    /**
1523     * Indicates a menu channel.
1524     *
1525     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1526     * @stagemodelonly
1527     * @since 20
1528     */
1529    MENU = 'Menu'
1530  }
1531
1532  /**
1533   * Describe the visibility range of data
1534   *
1535   * @enum { number }
1536   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1537   * @atomicservice
1538   * @since 20
1539   */
1540  enum Visibility {
1541    /**
1542     * The visibility level that specifies that any hap or native can be obtained.
1543     *
1544     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1545     * @stagemodelonly
1546     * @since 20
1547     */
1548    ALL,
1549
1550    /**
1551     * The visibility level that specifies that only data providers can be obtained.
1552     *
1553     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1554     * @stagemodelonly
1555     * @since 20
1556     */
1557    OWN_PROCESS
1558  }
1559
1560  /**
1561   * Describe the optional arguments of data operation
1562   *
1563   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1564   * @since 10
1565   */
1566  /**
1567   * Describe the optional arguments of data operation
1568   *
1569   * @typedef { object }
1570   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1571   * @atomicservice
1572   * @since 11
1573   */
1574  /**
1575   * Describe the optional arguments of data operation
1576   *
1577   * @interface { Options }
1578   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1579   * @atomicservice
1580   * @since 20
1581   */
1582  interface Options {
1583    /**
1584     * Indicates the target Intention
1585     *
1586     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1587     * @since 10
1588     */
1589    /**
1590     * Indicates the target Intention
1591     *
1592     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1593     * @atomicservice
1594     * @since 11
1595     */
1596    /**
1597     * Indicates the target Intention
1598     *
1599     * @type { ?Intention }
1600     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1601     * @atomicservice
1602     * @since 20
1603     */
1604    intention?: Intention;
1605
1606    /**
1607     * Indicates the unique identifier of target UnifiedData
1608     *
1609     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1610     * @since 10
1611     */
1612    /**
1613     * Indicates the unique identifier of target UnifiedData
1614     *
1615     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1616     * @atomicservice
1617     * @since 11
1618     */
1619    /**
1620     * Indicates the unique identifier of target UnifiedData
1621     *
1622     * @type { ?string }
1623     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1624     * @atomicservice
1625     * @since 20
1626     */
1627    key?: string;
1628
1629    /**
1630     * Represents the visibility range of data.
1631     * This parameter is used only when data is inserted.
1632     *
1633     * @type { ?Visibility }
1634     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1635     * @atomicservice
1636     * @since 20
1637     */
1638    visibility?: Visibility;
1639  }
1640
1641  /**
1642   * Defines the types of file conflict options when getting data from the UDMF.
1643   *
1644   * @enum { number }
1645   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1646   * @atomicservice
1647   * @since 15
1648   */
1649  enum FileConflictOptions {
1650    /**
1651     * Overwrite when destUri has file with same name.
1652     *
1653     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1654     * @atomicservice
1655     * @since 15
1656     */
1657    OVERWRITE,
1658
1659    /**
1660     * Skip when destUri has file with same name.
1661     *
1662     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1663     * @atomicservice
1664     * @since 15
1665     */
1666    SKIP
1667  }
1668
1669  /**
1670   * Defines the types of progress indicator when getting data from the UDMF.
1671   *
1672   * @enum { number }
1673   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1674   * @atomicservice
1675   * @since 15
1676   */
1677  enum ProgressIndicator {
1678    /**
1679     * Getting data without system default progress indicator.
1680     *
1681     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1682     * @atomicservice
1683     * @since 15
1684     */
1685    NONE,
1686
1687    /**
1688     * Getting data with system default progress indicator.
1689     *
1690     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1691     * @atomicservice
1692     * @since 15
1693     */
1694    DEFAULT
1695  }
1696
1697  /**
1698   * Defines the listener status of obtaining progress and data.
1699   *
1700   * @enum { number }
1701   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1702   * @atomicservice
1703   * @since 15
1704   */
1705  enum ListenerStatus {
1706    /**
1707     * Indicates the finished status.
1708     *
1709     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1710     * @atomicservice
1711     * @since 15
1712     */
1713    FINISHED = 0,
1714
1715    /**
1716     * Indicates that processing is still in progress.
1717     *
1718     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1719     * @atomicservice
1720     * @since 15
1721     */
1722    PROCESSING,
1723
1724    /**
1725     * Indicates that the process has been canceled.
1726     *
1727     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1728     * @atomicservice
1729     * @since 15
1730     */
1731    CANCELED,
1732
1733    /**
1734     * Indicates that an internal error has occurred.
1735     *
1736     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1737     * @atomicservice
1738     * @since 15
1739     */
1740    INNER_ERROR = 200,
1741
1742    /**
1743     * Indicates that the GetDataParams contains invalid parameters.
1744     *
1745     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1746     * @atomicservice
1747     * @since 15
1748     */
1749    INVALID_PARAMETERS,
1750
1751    /**
1752     * Indicates that no data is obtained.
1753     *
1754     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1755     * @atomicservice
1756     * @since 15
1757     */
1758    DATA_NOT_FOUND,
1759
1760    /**
1761     * Indicates that an error occurred in the synchronization process.
1762     *
1763     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1764     * @atomicservice
1765     * @since 15
1766     */
1767    SYNC_FAILED,
1768
1769    /**
1770     * Indicates that an error occurred during file copying.
1771     *
1772     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1773     * @atomicservice
1774     * @since 15
1775     */
1776    COPY_FILE_FAILED,
1777  }
1778
1779  /**
1780   * Indicates the progress information.
1781   *
1782   * @interface ProgressInfo
1783   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1784   * @atomicservice
1785   * @since 15
1786   */
1787  interface ProgressInfo {
1788    /**
1789     * Indicates the UDMF processing progress.
1790     *
1791     * @type { number }
1792     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1793     * @atomicservice
1794     * @since 15
1795     */
1796    progress: number;
1797
1798    /**
1799     * Indicates the status of obtaining progress and data.
1800     *
1801     * @type { ListenerStatus }
1802     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1803     * @atomicservice
1804     * @since 15
1805     */
1806    status: ListenerStatus;
1807  }
1808
1809  /**
1810   * A listener callback function that fetches progress info and data.
1811   *
1812   * @typedef { function } DataProgressListener
1813   * @param { ProgressInfo } progressInfo - the progress information.
1814   * @param { UnifiedData | null } data - Data obtained when the progress reaches 100%.
1815   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1816   * @atomicservice
1817   * @since 15
1818   */
1819  type DataProgressListener = (progressInfo: ProgressInfo, data: UnifiedData | null) => void;
1820
1821  /**
1822   * Represents the get data parameters when getting data from udmf.
1823   *
1824   * @interface GetDataParams
1825   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1826   * @atomicservice
1827   * @since 15
1828   */
1829  interface GetDataParams {
1830    /**
1831     * Indicates whether to use default system progress indicator.
1832     *
1833     * @type { ProgressIndicator }
1834     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1835     * @atomicservice
1836     * @since 15
1837     */
1838    progressIndicator: ProgressIndicator;
1839
1840    /**
1841     * Indicates progress and data listener when getting unified data.
1842     *
1843     * @type { DataProgressListener }
1844     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1845     * @atomicservice
1846     * @since 15
1847     */
1848    dataProgressListener: DataProgressListener;
1849
1850    /**
1851     * Indicates the dest path uri where copy file will be copied to sandbox of application.
1852     *
1853     * @type { string }
1854     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1855     * @atomicservice
1856     * @since 15
1857     */
1858    destUri?: string;
1859
1860    /**
1861     * Indicates file conflict options when dest path has file with same name.
1862     *
1863     * @type { FileConflictOptions }
1864     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1865     * @atomicservice
1866     * @since 15
1867     */
1868    fileConflictOptions?: FileConflictOptions;
1869
1870    /**
1871     * Indicates the supported data information.
1872     *
1873     * @type { ?DataLoadInfo }
1874     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1875     * @atomicservice
1876     * @since 20
1877     */
1878    acceptableInfo?: DataLoadInfo;
1879  }
1880
1881  /**
1882   * Indicates data loading information.
1883   *
1884   * @interface DataLoadInfo
1885   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1886   * @atomicservice
1887   * @since 20
1888   */
1889  interface DataLoadInfo {
1890    /**
1891     * Represents the data type or supported types to load.
1892     * <br>This parameter is mandatory when used by the data provider.
1893     *
1894     * @type { ?Set<string> }
1895     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1896     * @atomicservice
1897     * @since 20
1898     */
1899    types?: Set<string>;
1900
1901    /**
1902     * Indicates the maximum number of data records to be loaded.
1903     *
1904     * @type { ?number }
1905     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1906     * @atomicservice
1907     * @since 20
1908     */
1909    recordCount?: number;
1910  }
1911
1912  /**
1913   * Indicates the callback function for loading data.
1914   *
1915   * @typedef { function } DataLoadHandler
1916   * @param { DataLoadInfo } acceptableInfo Indicates the type and number of data that can be accepted by the receiver.
1917   * @returns { UnifiedData | null } the {@link UnifiedData} object to be loaded.
1918   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1919   * @atomicservice
1920   * @since 20
1921   */
1922  type DataLoadHandler = (acceptableInfo?: DataLoadInfo) => UnifiedData | null;
1923
1924  /**
1925   * Indicates data loading params.
1926   *
1927   * @interface DataLoadParams
1928   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1929   * @atomicservice
1930   * @since 20
1931   */
1932  interface DataLoadParams {
1933    /**
1934     * Indicates the callback function for loading data.
1935     *
1936     * @type { DataLoadHandler }
1937     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1938     * @atomicservice
1939     * @since 20
1940     */
1941    loadHandler: DataLoadHandler;
1942
1943    /**
1944     * Indicates data loading information.
1945     * @type { DataLoadInfo }
1946     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1947     * @atomicservice
1948     * @since 20
1949     */
1950    dataLoadInfo: DataLoadInfo;
1951  }
1952
1953  /**
1954   * Insert data into unified data channel by Intention
1955   *
1956   * @param { Options } options - fill the intention field to indicate the target {@link Intention}.
1957   * @param { UnifiedData } data - {@link UnifiedData} data object to insert into target intention.
1958   * @param { AsyncCallback<string> } callback - {string}: the unique identifier.
1959   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
1960   * <br>2.Incorrect parameters types.
1961   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1962   * @since 10
1963   */
1964  /**
1965   * Insert data into unified data channel by Intention
1966   *
1967   * @param { Options } options - fill the intention field to indicate the target {@link Intention}.
1968   * @param { UnifiedData } data - {@link UnifiedData} data object to insert into target intention.
1969   * @param { AsyncCallback<string> } callback - {string}: the unique identifier.
1970   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
1971   * <br>2.Incorrect parameters types.
1972   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1973   * @atomicservice
1974   * @since 11
1975   */
1976  function insertData(options: Options, data: UnifiedData, callback: AsyncCallback<string>): void;
1977
1978  /**
1979   * Insert data into unified data channel by Intention
1980   *
1981   * @param { Options } options - fill the intention field to indicate the target {@link Intention}.
1982   * @param { UnifiedData } data - {@link UnifiedData} data object to insert into target intention.
1983   * @returns { Promise<string> } {string}: the unique identifier.
1984   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
1985   * <br>2.Incorrect parameters types.
1986   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1987   * @since 10
1988   */
1989  /**
1990   * Insert data into unified data channel by Intention
1991   *
1992   * @param { Options } options - fill the intention field to indicate the target {@link Intention}.
1993   * @param { UnifiedData } data - {@link UnifiedData} data object to insert into target intention.
1994   * @returns { Promise<string> } {string}: the unique identifier.
1995   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
1996   * <br>2.Incorrect parameters types.
1997   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
1998   * @atomicservice
1999   * @since 11
2000   */
2001  function insertData(options: Options, data: UnifiedData): Promise<string>;
2002
2003  /**
2004   * Update data to unified data channel by Unique Identifier
2005   *
2006   * @param { Options } options - fill the unique identifier field to indicate the target {@link UnifiedData}.
2007   * @param { UnifiedData } data - {@link UnifiedData} data object to update the target data.
2008   * @param { AsyncCallback<void> } callback - the callback of updateData.
2009   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2010   * <br>2.Incorrect parameters types.
2011   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2012   * @since 10
2013   */
2014  /**
2015   * Update data to unified data channel by Unique Identifier
2016   *
2017   * @param { Options } options - fill the unique identifier field to indicate the target {@link UnifiedData}.
2018   * @param { UnifiedData } data - {@link UnifiedData} data object to update the target data.
2019   * @param { AsyncCallback<void> } callback - the callback of updateData.
2020   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2021   * <br>2.Incorrect parameters types.
2022   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2023   * @atomicservice
2024   * @since 11
2025   */
2026  function updateData(options: Options, data: UnifiedData, callback: AsyncCallback<void>): void;
2027
2028  /**
2029   * Update data to unified data channel by Unique Identifier
2030   *
2031   * @param { Options } options - fill the unique identifier field to indicate the target {@link UnifiedData}.
2032   * @param { UnifiedData } data - {@link UnifiedData} data object to update the target data.
2033   * @returns { Promise<void> } the promise returned by the function.
2034   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2035   * <br>2.Incorrect parameters types.
2036   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2037   * @since 10
2038   */
2039  /**
2040   * Update data to unified data channel by Unique Identifier
2041   *
2042   * @param { Options } options - fill the unique identifier field to indicate the target {@link UnifiedData}.
2043   * @param { UnifiedData } data - {@link UnifiedData} data object to update the target data.
2044   * @returns { Promise<void> } the promise returned by the function.
2045   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2046   * <br>2.Incorrect parameters types.
2047   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2048   * @atomicservice
2049   * @since 11
2050   */
2051  function updateData(options: Options, data: UnifiedData): Promise<void>;
2052
2053  /**
2054   * Query data of unified data channel by Intention or Unique Identifier
2055   *
2056   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2057   * or {@link UnifiedData}.
2058   * @param { AsyncCallback<Array<UnifiedData>> } callback - {Array<UnifiedData>}: the target {@link UnifiedData}
2059   * object array.
2060   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2061   * <br>2.Incorrect parameters types.
2062   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2063   * @since 10
2064   */
2065  /**
2066   * Query data of unified data channel by Intention or Unique Identifier
2067   *
2068   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2069   * or {@link UnifiedData}.
2070   * @param { AsyncCallback<Array<UnifiedData>> } callback - {Array<UnifiedData>}: the target {@link UnifiedData} object
2071   *  array.
2072   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2073   * <br>2.Incorrect parameters types.
2074   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2075   * @atomicservice
2076   * @since 11
2077   */
2078  function queryData(options: Options, callback: AsyncCallback<Array<UnifiedData>>): void;
2079
2080  /**
2081   * Query data of unified data channel by Intention or Unique Identifier
2082   *
2083   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2084   * or {@link UnifiedData}.
2085   * @returns { Promise<Array<UnifiedData>> } {Array<UnifiedData>}: the target {@link UnifiedData} object array.
2086   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2087   * <br>2.Incorrect parameters types.
2088   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2089   * @since 10
2090   */
2091  /**
2092   * Query data of unified data channel by Intention or Unique Identifier
2093   *
2094   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2095   * or {@link UnifiedData}.
2096   * @returns { Promise<Array<UnifiedData>> } {Array<UnifiedData>}: the target {@link UnifiedData} object array.
2097   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2098   * <br>2.Incorrect parameters types.
2099   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2100   * @atomicservice
2101   * @since 11
2102   */
2103  function queryData(options: Options): Promise<Array<UnifiedData>>;
2104
2105  /**
2106   * Delete data of unified data channel by Intention or Unique Identifier
2107   *
2108   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2109   * or {@link UnifiedData}.
2110   * @param { AsyncCallback<Array<UnifiedData>> } callback - {Array<UnifiedData>}: the deleted {@link UnifiedData}
2111   * object array.
2112   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2113   * <br>2.Incorrect parameters types.
2114   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2115   * @since 10
2116   */
2117  /**
2118   * Delete data of unified data channel by Intention or Unique Identifier
2119   *
2120   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2121   * or {@link UnifiedData}.
2122   * @param { AsyncCallback<Array<UnifiedData>> } callback - {Array<UnifiedData>}: the deleted {@link UnifiedData}
2123   * object array.
2124   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2125   * <br>2.Incorrect parameters types.
2126   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2127   * @atomicservice
2128   * @since 11
2129   */
2130  function deleteData(options: Options, callback: AsyncCallback<Array<UnifiedData>>): void;
2131
2132  /**
2133   * Delete data of unified data channel by Intention or Unique Identifier
2134   *
2135   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2136   * or {@link UnifiedData}.
2137   * @returns { Promise<Array<UnifiedData>> } {Array<UnifiedData>}: the deleted {@link UnifiedData} object array.
2138   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2139   * <br>2.Incorrect parameters types.
2140   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2141   * @since 10
2142   */
2143  /**
2144   * Delete data of unified data channel by Intention or Unique Identifier
2145   *
2146   * @param { Options } options - fill the intention or unique identifier field to indicate the target {@link Intention}
2147   * or {@link UnifiedData}.
2148   * @returns { Promise<Array<UnifiedData>> } {Array<UnifiedData>}: the deleted {@link UnifiedData} object array.
2149   * @throws { BusinessError } 401 - Parameter error. Possible causes:1.Mandatory parameters are left unspecified;
2150   * <br>2.Incorrect parameters types.
2151   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2152   * @atomicservice
2153   * @since 11
2154   */
2155  function deleteData(options: Options): Promise<Array<UnifiedData>>;
2156
2157  /**
2158   * Sets the ShareOptions for the application data. Currently, only the drag-and-drop data channel is supported.
2159   *
2160   * @param { Intention } intention - Describe the sharing channel that UDMF support.
2161   * @param { ShareOptions } shareOptions - Types of scope that UnifiedData can be used.
2162   * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses
2163   * system API.
2164   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2165   *                                                                   2. Incorrect parameter types.
2166   * @throws { BusinessError } 20400001 - Settings already exist. To reconfigure, remove the existing sharing options.
2167   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2168   * @systemapi
2169   * @StageModelOnly
2170   * @since 12
2171   */
2172  /**
2173   * Sets the ShareOptions for the application data. Currently, only the drag-and-drop data channel is supported.
2174   *
2175   * @permission ohos.permission.MANAGE_UDMF_APP_SHARE_OPTION
2176   * @param { Intention } intention - Describe the sharing channel that UDMF support. Currently only supports DRAG
2177   * intention.
2178   * @param { ShareOptions } shareOptions - Types of scope that UnifiedData can be used.
2179   * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission
2180   * required to call the API.
2181   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2182   *                                                                   2. Incorrect parameter types;
2183   *                                                                   3. Parameter verification failed.
2184   * @throws { BusinessError } 20400001 - Settings already exist. To reconfigure, remove the existing sharing options.
2185   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2186   * @stagemodelonly
2187   * @since 14
2188   */
2189   function setAppShareOptions(intention: Intention, shareOptions: ShareOptions): void;
2190
2191   /**
2192    * Remove app sharing options.
2193    *
2194    * @param { Intention } intention - Describe the sharing channel that UDMF support.
2195    * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application
2196    * uses system API.
2197    * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2198    *                                                                   2. Incorrect parameter types.
2199    * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2200    * @systemapi
2201    * @StageModelOnly
2202    * @since 12
2203    */
2204  /**
2205   * Remove app sharing options.
2206   *
2207   * @permission ohos.permission.MANAGE_UDMF_APP_SHARE_OPTION
2208   * @param { Intention } intention - Describe the sharing channel that UDMF support. Currently only supports DRAG
2209   * intention.
2210   * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission
2211   * required to call the API.
2212   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
2213   *                                                                   2. Incorrect parameter types;
2214   *                                                                   3. Parameter verification failed.
2215   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2216   * @stagemodelonly
2217   * @since 14
2218   */
2219   function removeAppShareOptions(intention: Intention): void;
2220
2221  /**
2222   * Converts the provided data into a multi-style data structure, which is useful when the original data uses multiple
2223   * records to represent different styles of the same data. This API is used only when the following rules are met:
2224   * 1.The number of records in data is greater than
2225   * 2.The value of unifiedData.properties.tag is records_to_entries_data_format.
2226   *
2227   * @param { UnifiedData } data - {@link UnifiedData} Data to convert.
2228   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
2229   * 2. Incorrect parameter types.
2230   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2231   * @stagemodelonly
2232   * @atomicservice
2233   * @since 17
2234   */
2235   function convertRecordsToEntries(data: UnifiedData): void;
2236}
2237
2238export default unifiedDataChannel;
2239