• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2021-2023 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 ContactsKit
19 */
20
21import { AsyncCallback } from './@ohos.base';
22import type Context from './application/BaseContext';
23import { ValueType } from './@ohos.data.ValuesBucket';
24
25/**
26 * Contains variety of system contact, provides functions for adding, updating and deleting these system contact
27 * and provides methods for querying the information of contact.
28 *
29 * @namespace contact
30 * @syscap SystemCapability.Applications.ContactsData
31 * @since 7
32 */
33/**
34 * Contains variety of system contact, provides functions for adding, updating and deleting these system contact
35 * and provides methods for querying the information of contact.
36 *
37 * @namespace contact
38 * @syscap SystemCapability.Applications.ContactsData
39 * @atomicservice
40 * @since 11
41 */
42declare namespace contact {
43  /**
44   * Creates a contact.
45   *
46   * @permission ohos.permission.WRITE_CONTACTS
47   * @param { Contact } contact - Indicates the contact information.
48   * @param { AsyncCallback<number> } callback - Returns the contact ID (which can be obtained
49   * by {@link Contact#getId()}) if the creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the
50   * creation fails.
51   * @syscap SystemCapability.Applications.ContactsData
52   * @since 7
53   * @deprecated since 10
54   * @useinstead contact.addContact#addContact
55   */
56  function addContact(contact: Contact, callback: AsyncCallback<number>): void;
57
58  /**
59   * Creates a contact.
60   *
61   * @permission ohos.permission.WRITE_CONTACTS
62   * @param { Context } context - Indicates the context of application or capability.
63   * @param { Contact } contact - Indicates the contact information.
64   * @param { AsyncCallback<number> } callback - Returns the contact ID (which can be obtained
65   * by {@link Contact#getId()}) if the creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the
66   * creation fails.
67   * @throws { BusinessError } 201 - Permission denied.
68   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
69   * @syscap SystemCapability.Applications.ContactsData
70   * @since 10
71   */
72  /**
73   * Creates a contact.
74   *
75   * @permission ohos.permission.WRITE_CONTACTS
76   * @param { Context } context - Indicates the context of application or capability.
77   * @param { Contact } contact - Indicates the contact information.
78   * @param { AsyncCallback<number> } callback - Returns the contact ID (which can be obtained
79   * by {@link Contact#getId()}) if the creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the
80   * creation fails.
81   * @throws { BusinessError } 201 - Permission denied.
82   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
83   * @syscap SystemCapability.Applications.ContactsData
84   * @atomicservice
85   * @since 12
86   */
87  function addContact(context: Context, contact: Contact, callback: AsyncCallback<number>): void;
88
89  /**
90   * Creates a contact.
91   *
92   * @permission ohos.permission.WRITE_CONTACTS
93   * @param { Contact } contact - Indicates the contact information.
94   * @returns { Promise<number> } Returns the contact ID (which can be obtained by {@link Contact#getId()}) if the
95   * creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the creation fails.
96   * @syscap SystemCapability.Applications.ContactsData
97   * @since 7
98   * @deprecated since 10
99   * @useinstead contact.addContact#addContact
100   */
101  function addContact(contact: Contact): Promise<number>;
102
103  /**
104   * Creates a contact.
105   *
106   * @permission ohos.permission.WRITE_CONTACTS
107   * @param { Context } context - Indicates the context of application or capability.
108   * @param { Contact } contact - Indicates the contact information.
109   * @returns { Promise<number> } Returns the contact ID (which can be obtained by {@link Contact#getId()}) if the
110   * creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the creation fails.
111   * @throws { BusinessError } 201 - Permission denied.
112   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
113   * @syscap SystemCapability.Applications.ContactsData
114   * @since 10
115   */
116  /**
117   * Creates a contact.
118   *
119   * @permission ohos.permission.WRITE_CONTACTS
120   * @param { Context } context - Indicates the context of application or capability.
121   * @param { Contact } contact - Indicates the contact information.
122   * @returns { Promise<number> } Returns the contact ID (which can be obtained by {@link Contact#getId()}) if the
123   * creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the creation fails.
124   * @throws { BusinessError } 201 - Permission denied.
125   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
126   * @syscap SystemCapability.Applications.ContactsData
127   * @atomicservice
128   * @since 12
129   */
130  function addContact(context: Context, contact: Contact): Promise<number>;
131
132  /**
133   * Select contact.
134   *
135   * @permission ohos.permission.READ_CONTACTS
136   * @param { AsyncCallback<Array<Contact>> } callback - Indicates the callback for getting the result of the call.
137   * Returns the contact list which user select; returns empty contact list if user not select.
138   * @syscap SystemCapability.Applications.Contacts
139   * @since 7
140   * @deprecated since 10
141   * @useinstead contact.selectContact#selectContacts
142   */
143  function selectContact(callback: AsyncCallback<Array<Contact>>): void;
144
145  /**
146   * Select contact.
147   *
148   * @param { AsyncCallback<Array<Contact>> } callback - Indicates the callback for getting the result of the call.
149   * Returns the contact list which user select; returns empty contact list if user not select.
150   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
151   * @syscap SystemCapability.Applications.Contacts
152   * @since 10
153   */
154  /**
155   * Select contact.
156   *
157   * @param { AsyncCallback<Array<Contact>> } callback - Indicates the callback for getting the result of the call.
158   * Returns the contact list which user select; returns empty contact list if user not select.
159   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
160   * @syscap SystemCapability.Applications.Contacts
161   * @atomicservice
162   * @since 11
163   */
164  function selectContacts(callback: AsyncCallback<Array<Contact>>): void;
165
166  /**
167   * Select contact.
168   *
169   * @permission ohos.permission.READ_CONTACTS
170   * @returns { Promise<Array<Contact>> } Returns the contact list which user select;
171   * returns empty contact list if user not select.
172   * @syscap SystemCapability.Applications.Contacts
173   * @since 7
174   * @deprecated since 10
175   * @useinstead contact.selectContact#selectContacts
176   */
177  function selectContact(): Promise<Array<Contact>>;
178
179  /**
180   * Select contact.
181   *
182   * @returns { Promise<Array<Contact>> } Returns the contact list which user select;
183   * returns empty contact list if user not select.
184   * @syscap SystemCapability.Applications.Contacts
185   * @since 10
186   */
187  /**
188   * Select contact.
189   *
190   * @returns { Promise<Array<Contact>> } Returns the contact list which user select;
191   * returns empty contact list if user not select.
192   * @syscap SystemCapability.Applications.Contacts
193   * @atomicservice
194   * @since 11
195   */
196  function selectContacts(): Promise<Array<Contact>>;
197
198  /**
199   * Select contact with option.
200   *
201   * @param { ContactSelectionOptions } options - Indicates the Single-select or multiple-select.
202   * @param { AsyncCallback<Array<Contact>> } callback - Indicates the callback for getting the result of the call.
203   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
204   * @syscap SystemCapability.Applications.Contacts
205   * @since 10
206   */
207  /**
208   * Select contact with option.
209   *
210   * @param { ContactSelectionOptions } options - Indicates the Single-select or multiple-select.
211   * @param { AsyncCallback<Array<Contact>> } callback - Indicates the callback for getting the result of the call.
212   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
213   * @syscap SystemCapability.Applications.Contacts
214   * @atomicservice
215   * @since 11
216   */
217  function selectContacts(options: ContactSelectionOptions, callback: AsyncCallback<Array<Contact>>): void;
218
219  /**
220   * Select contact with option.
221   *
222   * @param { ContactSelectionOptions } options - Indicates the Single-select or multiple-select.
223   * @returns { Promise<Array<Contact>> } Returns the contact list which user select;
224   * returns empty contact list if user not select.
225   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
226   * @syscap SystemCapability.Applications.Contacts
227   * @since 10
228   */
229  /**
230   * Select contact with option.
231   *
232   * @param { ContactSelectionOptions } options - Indicates the Single-select or multiple-select.
233   * @returns { Promise<Array<Contact>> } Returns the contact list which user select;
234   * returns empty contact list if user not select.
235   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
236   * @syscap SystemCapability.Applications.Contacts
237   * @atomicservice
238   * @since 11
239   */
240  function selectContacts(options: ContactSelectionOptions): Promise<Array<Contact>>;
241
242  /**
243   * Deletes a specified contact.
244   *
245   * @permission ohos.permission.WRITE_CONTACTS
246   * @param { string } key - Indicates the unique query key of a contact to delete.
247   * @param { AsyncCallback<void> } callback - Return the callback function.
248   * @syscap SystemCapability.Applications.ContactsData
249   * @since 7
250   * @deprecated since 10
251   * @useinstead contact.deleteContact#deleteContact
252   */
253  function deleteContact(key: string, callback: AsyncCallback<void>): void;
254
255  /**
256   * Deletes a specified contact.
257   *
258   * @permission ohos.permission.WRITE_CONTACTS
259   * @param { Context } context - Indicates the context of application or capability.
260   * @param { string } key - Indicates the unique query key of a contact to delete.
261   * @param { AsyncCallback<void> } callback - Return the callback function.
262   * @throws { BusinessError } 201 - Permission denied.
263   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
264   * @syscap SystemCapability.Applications.ContactsData
265   * @since 10
266   */
267  function deleteContact(context: Context, key: string, callback: AsyncCallback<void>): void;
268
269  /**
270   * Deletes a specified contact.
271   *
272   * @permission ohos.permission.WRITE_CONTACTS
273   * @param { string } key - Indicates the unique query key of a contact to delete.
274   * @returns { Promise<void> } The promise returned by the function.
275   * @syscap SystemCapability.Applications.ContactsData
276   * @since 7
277   * @deprecated since 10
278   * @useinstead contact.deleteContact#deleteContact
279   */
280  function deleteContact(key: string): Promise<void>;
281
282  /**
283   * Deletes a specified contact.
284   *
285   * @permission ohos.permission.WRITE_CONTACTS
286   * @param { Context } context - Indicates the context of application or capability.
287   * @param { string } key - Indicates the unique query key of a contact to delete.
288   * @returns { Promise<void> } The promise returned by the function.
289   * @throws { BusinessError } 201 - Permission denied.
290   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
291   * @syscap SystemCapability.Applications.ContactsData
292   * @since 10
293   */
294  function deleteContact(context: Context, key: string): Promise<void>;
295
296  /**
297   * Queries a specified contact of specified attributes.
298   *
299   * @permission ohos.permission.READ_CONTACTS
300   * @param { string } key - Indicates the unique query key of a contact.
301   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
302   * @syscap SystemCapability.Applications.ContactsData
303   * @since 7
304   * @deprecated since 10
305   * @useinstead contact.queryContact#queryContact
306   */
307  function queryContact(key: string, callback: AsyncCallback<Contact>): void;
308
309  /**
310   * Queries a specified contact of specified attributes.
311   *
312   * @permission ohos.permission.READ_CONTACTS
313   * @param { Context } context - Indicates the context of application or capability.
314   * @param { string } key - Indicates the unique query key of a contact.
315   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
316   * @throws { BusinessError } 201 - Permission denied.
317   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
318   * @syscap SystemCapability.Applications.ContactsData
319   * @since 10
320   */
321  function queryContact(context: Context, key: string, callback: AsyncCallback<Contact>): void;
322
323  /**
324   * Queries a specified contact of specified attributes.
325   *
326   * @permission ohos.permission.READ_CONTACTS
327   * @param { string } key - Indicates the unique query key of a contact.
328   * @param { Holder } holder - Indicates the contact holder.
329   * If this parameter is null, the default holder is used for matching.
330   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
331   * @syscap SystemCapability.Applications.ContactsData
332   * @since 7
333   * @deprecated since 10
334   * @useinstead contact.queryContact#queryContact
335   */
336  function queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void;
337
338  /**
339   * Queries a specified contact of specified attributes.
340   *
341   * @permission ohos.permission.READ_CONTACTS
342   * @param { Context } context - Indicates the context of application or capability.
343   * @param { string } key - Indicates the unique query key of a contact.
344   * @param { Holder } holder - Indicates the contact holder.
345   * If this parameter is null, the default holder is used for matching.
346   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
347   * @throws { BusinessError } 201 - Permission denied.
348   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
349   * @syscap SystemCapability.Applications.ContactsData
350   * @since 10
351   */
352  function queryContact(context: Context, key: string, holder: Holder, callback: AsyncCallback<Contact>): void;
353
354  /**
355   * Queries a specified contact of specified attributes.
356   *
357   * @permission ohos.permission.READ_CONTACTS
358   * @param { string } key - Indicates the unique query key of a contact.
359   * @param { ContactAttributes } attrs - Indicates the contact attributes.
360   * If this parameter is null, all attributes are used for matching.
361   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
362   * @syscap SystemCapability.Applications.ContactsData
363   * @since 7
364   * @deprecated since 10
365   * @useinstead contact.queryContact#queryContact
366   */
367  function queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
368
369  /**
370   * Queries a specified contact of specified attributes.
371   *
372   * @permission ohos.permission.READ_CONTACTS
373   * @param { Context } context - Indicates the context of application or capability.
374   * @param { string } key - Indicates the unique query key of a contact.
375   * @param { ContactAttributes } attrs - Indicates the contact attributes.
376   * If this parameter is null, all attributes are used for matching.
377   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
378   * @throws { BusinessError } 201 - Permission denied.
379   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
380   * @syscap SystemCapability.Applications.ContactsData
381   * @since 10
382   */
383  function queryContact(context: Context, key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
384
385  /**
386   * Queries a specified contact of specified attributes.
387   *
388   * @permission ohos.permission.READ_CONTACTS
389   * @param { string } key - Indicates the unique query key of a contact.
390   * @param { Holder } holder - Indicates the contact holder.
391   * @param { ContactAttributes } attrs - Indicates the contact attributes.
392   * If this parameter is null, all attributes are used for matching.
393   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
394   * @syscap SystemCapability.Applications.ContactsData
395   * @since 7
396   * @deprecated since 10
397   * @useinstead contact.queryContact#queryContact
398   */
399  function queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
400
401  /**
402   * Queries a specified contact of specified attributes.
403   *
404   * @permission ohos.permission.READ_CONTACTS
405   * @param { Context } context - Indicates the context of application or capability.
406   * @param { string } key - Indicates the unique query key of a contact.
407   * @param { Holder } holder - Indicates the contact holder.
408   * @param { ContactAttributes } attrs - Indicates the contact attributes.
409   * If this parameter is null, all attributes are used for matching.
410   * @param { AsyncCallback<Contact> } callback - Returns the specified contact.
411   * @throws { BusinessError } 201 - Permission denied.
412   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
413   * @syscap SystemCapability.Applications.ContactsData
414   * @since 10
415   */
416  function queryContact(context: Context, key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
417
418  /**
419   * Queries a specified contact of specified attributes.
420   *
421   * @permission ohos.permission.READ_CONTACTS
422   * @param { string } key - Indicates the unique query key of a contact.
423   * @param { Holder } [holder] - Indicates the contact holder.
424   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
425   * If this parameter is null, all attributes are used for matching.
426   * @returns { Promise<Contact> } Returns the specified contact.
427   * @syscap SystemCapability.Applications.ContactsData
428   * @since 7
429   * @deprecated since 10
430   * @useinstead contact.queryContact#queryContact
431   */
432  function queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact>;
433
434  /**
435   * Queries a specified contact of specified attributes.
436   *
437   * @permission ohos.permission.READ_CONTACTS
438   * @param { Context } context - Indicates the context of application or capability.
439   * @param { string } key - Indicates the unique query key of a contact.
440   * @param { Holder } [holder] - Indicates the contact holder.
441   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
442   * If this parameter is null, all attributes are used for matching.
443   * @returns { Promise<Contact> } Returns the specified contact.
444   * @throws { BusinessError } 201 - Permission denied.
445   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
446   * @syscap SystemCapability.Applications.ContactsData
447   * @since 10
448   */
449  function queryContact(context: Context, key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact>;
450
451  /**
452   * Queries contacts with query conditions.
453   *
454   * @permission ohos.permission.READ_CONTACTS
455   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
456   * @syscap SystemCapability.Applications.ContactsData
457   * @since 7
458   * @deprecated since 10
459   * @useinstead contact.queryContacts#queryContacts
460   */
461  function queryContacts(callback: AsyncCallback<Array<Contact>>): void;
462
463  /**
464   * Queries contacts with query conditions.
465   *
466   * @permission ohos.permission.READ_CONTACTS
467   * @param { Context } context - Indicates the context of application or capability.
468   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
469   * @throws { BusinessError } 201 - Permission denied.
470   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
471   * @syscap SystemCapability.Applications.ContactsData
472   * @since 10
473   */
474  function queryContacts(context: Context, callback: AsyncCallback<Array<Contact>>): void;
475
476  /**
477   * Queries contacts with query conditions.
478   *
479   * @permission ohos.permission.READ_CONTACTS
480   * @param { Holder } holder - Indicates the contact holder.
481   * If this parameter is null, the default holder is used for matching.
482   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
483   * @syscap SystemCapability.Applications.ContactsData
484   * @since 7
485   * @deprecated since 10
486   * @useinstead contact.queryContacts#queryContacts
487   */
488  function queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void;
489
490  /**
491   * Queries contacts with query conditions.
492   *
493   * @permission ohos.permission.READ_CONTACTS
494   * @param { Context } context - Indicates the context of application or capability.
495   * @param { Holder } holder - Indicates the contact holder.
496   * If this parameter is null, the default holder is used for matching.
497   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
498   * @throws { BusinessError } 201 - Permission denied.
499   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
500   * @syscap SystemCapability.Applications.ContactsData
501   * @since 10
502   */
503  function queryContacts(context: Context, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;
504
505  /**
506   * Queries contacts with query conditions.
507   *
508   * @permission ohos.permission.READ_CONTACTS
509   * @param { ContactAttributes } attrs - Indicates the contact attributes.
510   * If this parameter is null, all attributes are used for matching.
511   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
512   * @syscap SystemCapability.Applications.ContactsData
513   * @since 7
514   * @deprecated since 10
515   * @useinstead contact.queryContacts#queryContacts
516   */
517  function queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
518
519  /**
520   * Queries contacts with query conditions.
521   *
522   * @permission ohos.permission.READ_CONTACTS
523   * @param { Context } context - Indicates the context of application or capability.
524   * @param { ContactAttributes } attrs - Indicates the contact attributes.
525   * If this parameter is null, all attributes are used for matching.
526   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
527   * @throws { BusinessError } 201 - Permission denied.
528   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
529   * @syscap SystemCapability.Applications.ContactsData
530   * @since 10
531   */
532  function queryContacts(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
533
534  /**
535   * Queries contacts with query conditions.
536   *
537   * @permission ohos.permission.READ_CONTACTS
538   * @param { Holder } holder - Indicates the contact holder.
539   * If this parameter is null, the default holder is used for matching.
540   * @param { ContactAttributes } attrs - Indicates the contact attributes.
541   * If this parameter is null, all attributes are used for matching.
542   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
543   * @syscap SystemCapability.Applications.ContactsData
544   * @since 7
545   * @deprecated since 10
546   * @useinstead contact.queryContacts#queryContacts
547   */
548  function queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
549
550  /**
551   * Queries contacts with query conditions.
552   *
553   * @permission ohos.permission.READ_CONTACTS
554   * @param { Context } context - Indicates the context of application or capability.
555   * @param { Holder } holder - Indicates the contact holder.
556   * If this parameter is null, the default holder is used for matching.
557   * @param { ContactAttributes } attrs - Indicates the contact attributes.
558   * If this parameter is null, all attributes are used for matching.
559   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
560   * @throws { BusinessError } 201 - Permission denied.
561   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
562   * @syscap SystemCapability.Applications.ContactsData
563   * @since 10
564   */
565  function queryContacts(context: Context, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
566
567  /**
568   * Queries contacts with query conditions.
569   *
570   * @permission ohos.permission.READ_CONTACTS
571   * @param { Holder } [holder] - Indicates the contact holder.
572   * If this parameter is null, the default holder is used for matching.
573   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
574   * If this parameter is null, all attributes are used for matching.
575   * @returns { Promise<Array<Contact>> } Returns the {@code Contact} list object.
576   * @syscap SystemCapability.Applications.ContactsData
577   * @since 7
578   * @deprecated since 10
579   * @useinstead contact.queryContacts#queryContacts
580   */
581  function queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
582
583  /**
584   * Queries contacts with query conditions.
585   *
586   * @permission ohos.permission.READ_CONTACTS
587   * @param { Context } context - Indicates the context of application or capability.
588   * @param { Holder } [holder] - Indicates the contact holder.
589   * If this parameter is null, the default holder is used for matching.
590   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
591   * If this parameter is null, all attributes are used for matching.
592   * @returns { Promise<Array<Contact>> } Returns the {@code Contact} list object.
593   * @throws { BusinessError } 201 - Permission denied.
594   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
595   * @syscap SystemCapability.Applications.ContactsData
596   * @since 10
597   */
598  function queryContacts(context: Context, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
599
600  /**
601   * Queries contacts by a specified email address.
602   *
603   * @permission ohos.permission.READ_CONTACTS
604   * @param { string } email - Indicates the email address.
605   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
606   * @syscap SystemCapability.Applications.ContactsData
607   * @since 7
608   * @deprecated since 10
609   * @useinstead contact.queryContactsByEmail#queryContactsByEmail
610   */
611  function queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void;
612
613  /**
614   * Queries contacts by a specified email address.
615   *
616   * @permission ohos.permission.READ_CONTACTS
617   * @param { Context } context - Indicates the context of application or capability.
618   * @param { string } email - Indicates the email address.
619   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
620   * @throws { BusinessError } 201 - Permission denied.
621   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
622   * @syscap SystemCapability.Applications.ContactsData
623   * @since 10
624   */
625  function queryContactsByEmail(context: Context, email: string, callback: AsyncCallback<Array<Contact>>): void;
626
627  /**
628   * Queries contacts by a specified email address and contact holder.
629   *
630   * @permission ohos.permission.READ_CONTACTS
631   * @param { string } email - Indicates the email address.
632   * @param { Holder } holder - Indicates the contact holder.
633   * If this parameter is null, the default holder is used for matching.
634   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
635   * @syscap SystemCapability.Applications.ContactsData
636   * @since 7
637   * @deprecated since 10
638   * @useinstead contact.queryContactsByEmail#queryContactsByEmail
639   */
640  function queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;
641
642  /**
643   * Queries contacts by a specified email address and contact holder.
644   *
645   * @permission ohos.permission.READ_CONTACTS
646   * @param { Context } context - Indicates the context of application or capability.
647   * @param { string } email - Indicates the email address.
648   * @param { Holder } holder - Indicates the contact holder.
649   * If this parameter is null, the default holder is used for matching.
650   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
651   * @throws { BusinessError } 201 - Permission denied.
652   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
653   * @syscap SystemCapability.Applications.ContactsData
654   * @since 10
655   */
656  function queryContactsByEmail(context: Context, email: string, holder: Holder,
657    callback: AsyncCallback<Array<Contact>>): void;
658
659  /**
660   * Queries contacts by a specified email address and contact attributes.
661   *
662   * @permission ohos.permission.READ_CONTACTS
663   * @param { string } email - Indicates the email address.
664   * @param { ContactAttributes } attrs - Indicates the contact attributes.
665   * If this parameter is null, all attributes are used for matching.
666   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
667   * @syscap SystemCapability.Applications.ContactsData
668   * @since 7
669   * @deprecated since 10
670   * @useinstead contact.queryContactsByEmail#queryContactsByEmail
671   */
672  function queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
673
674  /**
675   * Queries contacts by a specified email address and contact attributes.
676   *
677   * @permission ohos.permission.READ_CONTACTS
678   * @param { Context } context - Indicates the context of application or capability.
679   * @param { string } email - Indicates the email address.
680   * @param { ContactAttributes } attrs - Indicates the contact attributes.
681   * If this parameter is null, all attributes are used for matching.
682   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
683   * @throws { BusinessError } 201 - Permission denied.
684   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
685   * @syscap SystemCapability.Applications.ContactsData
686   * @since 10
687   */
688  function queryContactsByEmail(context: Context, email: string, attrs: ContactAttributes,
689    callback: AsyncCallback<Array<Contact>>): void;
690
691  /**
692   * Queries contacts by a specified email address, contact holder, and contact attributes.
693   *
694   * @permission ohos.permission.READ_CONTACTS
695   * @param { string } email - Indicates the email address.
696   * @param { Holder } holder - Indicates the contact holder.
697   * If this parameter is null, the default holder is used for matching.
698   * @param { ContactAttributes } attrs - Indicates the contact attributes.
699   * If this parameter is null, all attributes are used for matching.
700   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
701   * @syscap SystemCapability.Applications.ContactsData
702   * @since 7
703   * @deprecated since 10
704   * @useinstead contact.queryContactsByEmail#queryContactsByEmail
705   */
706  function queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
707
708  /**
709   * Queries contacts by a specified email address, contact holder, and contact attributes.
710   *
711   * @permission ohos.permission.READ_CONTACTS
712   * @param { Context } context - Indicates the context of application or capability.
713   * @param { string } email - Indicates the email address.
714   * @param { Holder } holder - Indicates the contact holder.
715   * If this parameter is null, the default holder is used for matching.
716   * @param { ContactAttributes } attrs - Indicates the contact attributes.
717   * If this parameter is null, all attributes are used for matching.
718   * @param { AsyncCallback<Array<Contact>> } callback - Returns a {@code Contact} list object.
719   * @throws { BusinessError } 201 - Permission denied.
720   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
721   * @syscap SystemCapability.Applications.ContactsData
722   * @since 10
723   */
724  function queryContactsByEmail(context: Context, email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
725
726  /**
727   * Queries contacts by a specified email address, contact holder, and contact attributes.
728   *
729   * @permission ohos.permission.READ_CONTACTS
730   * @param { string } email - Indicates the email address.
731   * @param { Holder } [holder] - Indicates the contact holder.
732   * If this parameter is null, the default holder is used for matching.
733   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
734   * If this parameter is null, all attributes are used for matching.
735   * @returns { Promise<Array<Contact>> } Returns a {@code Contact} list object.
736   * @syscap SystemCapability.Applications.ContactsData
737   * @since 7
738   * @deprecated since 10
739   * @useinstead contact.queryContactsByEmail#queryContactsByEmail
740   */
741  function queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
742
743  /**
744   * Queries contacts by a specified email address, contact holder, and contact attributes.
745   *
746   * @permission ohos.permission.READ_CONTACTS
747   * @param { Context } context - Indicates the context of application or capability.
748   * @param { string } email - Indicates the email address.
749   * @param { Holder } [holder] - Indicates the contact holder.
750   * If this parameter is null, the default holder is used for matching.
751   * @param { ContactAttributes } [attrs] - Indicates the contact attributes.
752   * If this parameter is null, all attributes are used for matching.
753   * @returns { Promise<Array<Contact>> } Returns a {@code Contact} list object.
754   * @throws { BusinessError } 201 - Permission denied.
755   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
756   * @syscap SystemCapability.Applications.ContactsData
757   * @since 10
758   */
759  function queryContactsByEmail(context: Context, email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
760
761  /**
762   * Queries contacts by a phone number.
763   *
764   * @permission ohos.permission.READ_CONTACTS
765   * @param { string } phoneNumber - Indicates the phone number.
766   * Only full match is supported, and wildcards are not supported.
767   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
768   * @syscap SystemCapability.Applications.ContactsData
769   * @since 7
770   * @deprecated since 10
771   * @useinstead contact.queryContactsByPhoneNumber#queryContactsByPhoneNumber
772   */
773  function queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void;
774
775  /**
776   * Queries contacts by a phone number.
777   *
778   * @permission ohos.permission.READ_CONTACTS
779   * @param { Context } context - Indicates the context of application or capability.
780   * @param { string } phoneNumber - Indicates the phone number.
781   * Only full match is supported, and wildcards are not supported.
782   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
783   * @throws { BusinessError } 201 - Permission denied.
784   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
785   * @syscap SystemCapability.Applications.ContactsData
786   * @since 10
787   */
788  function queryContactsByPhoneNumber(context: Context, phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void;
789
790  /**
791   * Queries contacts by a phone number and contact holder.
792   *
793   * @permission ohos.permission.READ_CONTACTS
794   * @param { string } phoneNumber - Indicates the phone number.
795   * Only full match is supported, and wildcards are not supported.
796   * @param { Holder } holder - Indicates the contact holder.
797   * If this parameter is null, the default holder is used for matching.
798   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
799   * @syscap SystemCapability.Applications.ContactsData
800   * @since 7
801   * @deprecated since 10
802   * @useinstead contact.queryContactsByPhoneNumber#queryContactsByPhoneNumber
803   */
804  function queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;
805
806  /**
807   * Queries contacts by a phone number and contact holder.
808   *
809   * @permission ohos.permission.READ_CONTACTS
810   * @param { Context } context - Indicates the context of application or capability.
811   * @param { string } phoneNumber - Indicates the phone number.
812   * Only full match is supported, and wildcards are not supported.
813   * @param { Holder } holder - Indicates the contact holder.
814   * If this parameter is null, the default holder is used for matching.
815   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
816   * @throws { BusinessError } 201 - Permission denied.
817   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
818   * @syscap SystemCapability.Applications.ContactsData
819   * @since 10
820   */
821  function queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;
822
823  /**
824   * Queries contacts by a phone number and contact attribute.
825   *
826   * @permission ohos.permission.READ_CONTACTS
827   * @param { string } phoneNumber - Indicates the phone number.
828   * Only full match is supported, and wildcards are not supported.
829   * @param { ContactAttributes } attrs - Indicates the contact attribute.
830   * If this parameter is null, all attributes will be used for matching.
831   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
832   * @syscap SystemCapability.Applications.ContactsData
833   * @since 7
834   * @deprecated since 10
835   * @useinstead contact.queryContactsByPhoneNumber#queryContactsByPhoneNumber
836   */
837  function queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
838
839  /**
840   * Queries contacts by a phone number and contact attribute.
841   *
842   * @permission ohos.permission.READ_CONTACTS
843   * @param { Context } context - Indicates the context of application or capability.
844   * @param { string } phoneNumber - Indicates the phone number.
845   * Only full match is supported, and wildcards are not supported.
846   * @param { ContactAttributes } attrs - Indicates the contact attribute.
847   * If this parameter is null, all attributes will be used for matching.
848   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
849   * @throws { BusinessError } 201 - Permission denied.
850   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
851   * @syscap SystemCapability.Applications.ContactsData
852   * @since 10
853   */
854  function queryContactsByPhoneNumber(context: Context, phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
855
856  /**
857   * Queries contacts by a phone number, contact holder and contact attribute.
858   *
859   * @permission ohos.permission.READ_CONTACTS
860   * @param { string } phoneNumber - Indicates the phone number.
861   * Only full match is supported, and wildcards are not supported.
862   * @param { Holder } holder - Indicates the contact holder.
863   * If this parameter is null, the default holder is used for matching.
864   * @param { ContactAttributes } attrs - Indicates the contact attribute.
865   * If this parameter is null, all attributes will be used for matching.
866   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
867   * @syscap SystemCapability.Applications.ContactsData
868   * @since 7
869   * @deprecated since 10
870   * @useinstead contact.queryContactsByPhoneNumber#queryContactsByPhoneNumber
871   */
872  function queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;
873
874  /**
875   * Queries contacts by a phone number, contact holder and contact attribute.
876   *
877   * @permission ohos.permission.READ_CONTACTS
878   * @param { Context } context - Indicates the context of application or capability.
879   * @param { string } phoneNumber - Indicates the phone number.
880   * Only full match is supported, and wildcards are not supported.
881   * @param { Holder } holder - Indicates the contact holder.
882   * If this parameter is null, the default holder is used for matching.
883   * @param { ContactAttributes } attrs - Indicates the contact attribute.
884   * If this parameter is null, all attributes will be used for matching.
885   * @param { AsyncCallback<Array<Contact>> } callback - Returns the {@code Contact} list object.
886   * @throws { BusinessError } 201 - Permission denied.
887   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
888   * @syscap SystemCapability.Applications.ContactsData
889   * @since 10
890   */
891  function queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder: Holder, attrs: ContactAttributes,
892    callback: AsyncCallback<Array<Contact>>): void;
893
894  /**
895   * Queries contacts by a phone number, contact holder and contact attribute.
896   *
897   * @permission ohos.permission.READ_CONTACTS
898   * @param { string } phoneNumber - Indicates the phone number.
899   * Only full match is supported, and wildcards are not supported.
900   * @param { Holder } [holder] - Indicates the contact holder.
901   * If this parameter is null, the default holder is used for matching.
902   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
903   * If this parameter is null, all attributes will be used for matching.
904   * @returns { Promise<Array<Contact>> } Returns the {@code Contact} list object.
905   * @syscap SystemCapability.Applications.ContactsData
906   * @since 7
907   * @deprecated since 10
908   * @useinstead contact.queryContactsByPhoneNumber#queryContactsByPhoneNumber
909   */
910  function queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
911
912  /**
913   * Queries contacts by a phone number, contact holder and contact attribute.
914   *
915   * @permission ohos.permission.READ_CONTACTS
916   * @param { Context } context - Indicates the context of application or capability.
917   * @param { string } phoneNumber - Indicates the phone number.
918   * Only full match is supported, and wildcards are not supported.
919   * @param { Holder } [holder] - Indicates the contact holder.
920   * If this parameter is null, the default holder is used for matching.
921   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
922   * If this parameter is null, all attributes will be used for matching.
923   * @returns { Promise<Array<Contact>> } Returns the {@code Contact} list object.
924   * @throws { BusinessError } 201 - Permission denied.
925   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
926   * @syscap SystemCapability.Applications.ContactsData
927   * @since 10
928   */
929  function queryContactsByPhoneNumber(context: Context, phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>;
930
931  /**
932   * Queries contact groups.
933   *
934   * @permission ohos.permission.READ_CONTACTS
935   * @param { AsyncCallback<Array<Group>> } callback - Returns the contact group list object.
936   * @syscap SystemCapability.Applications.ContactsData
937   * @since 7
938   * @deprecated since 10
939   * @useinstead contact.queryGroups#queryGroups
940   */
941  function queryGroups(callback: AsyncCallback<Array<Group>>): void;
942
943  /**
944   * Queries contact groups.
945   *
946   * @permission ohos.permission.READ_CONTACTS
947   * @param { Context } context - Indicates the context of application or capability.
948   * @param { AsyncCallback<Array<Group>> } callback - Returns the contact group list object.
949   * @throws { BusinessError } 201 - Permission denied.
950   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
951   * @syscap SystemCapability.Applications.ContactsData
952   * @since 10
953   */
954  function queryGroups(context: Context, callback: AsyncCallback<Array<Group>>): void;
955
956  /**
957   * Queries contact groups by contact holder.
958   *
959   * @permission ohos.permission.READ_CONTACTS
960   * @param { Holder } holder - Indicates the contact holder.
961   * If this parameter is null, the default holder is used for matching.
962   * @param { AsyncCallback<Array<Group>> } callback - Returns the contact group list object.
963   * @syscap SystemCapability.Applications.ContactsData
964   * @since 7
965   * @deprecated since 10
966   * @useinstead contact.queryGroups#queryGroups
967   */
968  function queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void;
969
970  /**
971   * Queries contact groups by contact holder.
972   *
973   * @permission ohos.permission.READ_CONTACTS
974   * @param { Context } context - Indicates the context of application or capability.
975   * @param { Holder } holder - Indicates the contact holder.
976   * If this parameter is null, the default holder is used for matching.
977   * @param { AsyncCallback<Array<Group>> } callback - Returns the contact group list object.
978   * @throws { BusinessError } 201 - Permission denied.
979   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
980   * @syscap SystemCapability.Applications.ContactsData
981   * @since 10
982   */
983  function queryGroups(context: Context, holder: Holder, callback: AsyncCallback<Array<Group>>): void;
984
985  /**
986   * Queries contact groups by contact holder.
987   *
988   * @permission ohos.permission.READ_CONTACTS
989   * @param { Holder } [holder] - Indicates the contact holder.
990   * If this parameter is null, the default holder is used for matching.
991   * @returns { Promise<Array<Group>> } Returns the contact group list object.
992   * @syscap SystemCapability.Applications.ContactsData
993   * @since 7
994   * @deprecated since 10
995   * @useinstead contact.queryGroups#queryGroups
996   */
997  function queryGroups(holder?: Holder): Promise<Array<Group>>;
998
999  /**
1000   * Queries contact groups by contact holder.
1001   *
1002   * @permission ohos.permission.READ_CONTACTS
1003   * @param { Context } context - Indicates the context of application or capability.
1004   * @param { Holder } [holder] - Indicates the contact holder.
1005   * If this parameter is null, the default holder is used for matching.
1006   * @returns { Promise<Array<Group>> } Returns the contact group list object.
1007   * @throws { BusinessError } 201 - Permission denied.
1008   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1009   * @syscap SystemCapability.Applications.ContactsData
1010   * @since 10
1011   */
1012  function queryGroups(context: Context, holder?: Holder): Promise<Array<Group>>;
1013
1014  /**
1015   * Queries contact holders.
1016   *
1017   * @permission ohos.permission.READ_CONTACTS
1018   * @param { AsyncCallback<Array<Holder>> } callback - Returns the {@code Holder} list object.
1019   * @syscap SystemCapability.Applications.ContactsData
1020   * @since 7
1021   * @deprecated since 10
1022   * @useinstead contact.queryHolders#queryHolders
1023   */
1024  function queryHolders(callback: AsyncCallback<Array<Holder>>): void;
1025
1026  /**
1027   * Queries contact holders.
1028   *
1029   * @permission ohos.permission.READ_CONTACTS
1030   * @param { Context } context - Indicates the context of application or capability.
1031   * @param { AsyncCallback<Array<Holder>> } callback - Returns the {@code Holder} list object.
1032   * @throws { BusinessError } 201 - Permission denied.
1033   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1034   * @syscap SystemCapability.Applications.ContactsData
1035   * @since 10
1036   */
1037  function queryHolders(context: Context, callback: AsyncCallback<Array<Holder>>): void;
1038
1039  /**
1040   * Queries contact holders.
1041   *
1042   * @permission ohos.permission.READ_CONTACTS
1043   * @returns { Promise<Array<Holder>> } Returns the {@code Holder} list object.
1044   * @syscap SystemCapability.Applications.ContactsData
1045   * @since 7
1046   * @deprecated since 10
1047   * @useinstead contact.queryHolders#queryHolders
1048   */
1049  function queryHolders(): Promise<Array<Holder>>;
1050
1051  /**
1052   * Queries contact holders.
1053   *
1054   * @permission ohos.permission.READ_CONTACTS
1055   * @param { Context } context - Indicates the context of application or capability.
1056   * @returns { Promise<Array<Holder>> } Returns the {@code Holder} list object.
1057   * @throws { BusinessError } 201 - Permission denied.
1058   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1059   * @syscap SystemCapability.Applications.ContactsData
1060   * @since 10
1061   */
1062  function queryHolders(context: Context): Promise<Array<Holder>>;
1063
1064  /**
1065   * Obtains the query key of a contact based on a specified ID.
1066   *
1067   * @permission ohos.permission.READ_CONTACTS
1068   * @param { number } id - Indicates the contact ID.
1069   * @param { AsyncCallback<string> } callback - Returns the query key of the contact.
1070   * @syscap SystemCapability.Applications.ContactsData
1071   * @since 7
1072   * @deprecated since 10
1073   * @useinstead contact.queryKey#queryKey
1074   */
1075  function queryKey(id: number, callback: AsyncCallback<string>): void;
1076
1077  /**
1078   * Obtains the query key of a contact based on a specified ID.
1079   *
1080   * @permission ohos.permission.READ_CONTACTS
1081   * @param { Context } context - Indicates the context of application or capability.
1082   * @param { number } id - Indicates the contact ID.
1083   * @param { AsyncCallback<string> } callback - Returns the query key of the contact.
1084   * @throws { BusinessError } 201 - Permission denied.
1085   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1086   * @syscap SystemCapability.Applications.ContactsData
1087   * @since 10
1088   */
1089  function queryKey(context: Context, id: number, callback: AsyncCallback<string>): void;
1090
1091  /**
1092   * Obtains the query key of a contact based on a specified ID and holder.
1093   *
1094   * @permission ohos.permission.READ_CONTACTS
1095   * @param { number } id - Indicates the contact ID.
1096   * @param { Holder } holder - Indicates the contact holder.
1097   * If this parameter is null, the default holder is used for matching.
1098   * @param { AsyncCallback<string> } callback - Returns the query key of the contact.
1099   * @syscap SystemCapability.Applications.ContactsData
1100   * @since 7
1101   * @deprecated since 10
1102   * @useinstead contact.queryKey#queryKey
1103   */
1104  function queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void;
1105
1106  /**
1107   * Obtains the query key of a contact based on a specified ID and holder.
1108   *
1109   * @permission ohos.permission.READ_CONTACTS
1110   * @param { Context } context - Indicates the context of application or capability.
1111   * @param { number } id - Indicates the contact ID.
1112   * @param { Holder } holder - Indicates the contact holder.
1113   * If this parameter is null, the default holder is used for matching.
1114   * @param { AsyncCallback<string> } callback - Returns the query key of the contact.
1115   * @throws { BusinessError } 201 - Permission denied.
1116   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1117   * @syscap SystemCapability.Applications.ContactsData
1118   * @since 10
1119   */
1120  function queryKey(context: Context, id: number, holder: Holder, callback: AsyncCallback<string>): void;
1121
1122  /**
1123   * Obtains the query key of a contact based on a specified ID and holder.
1124   *
1125   * @permission ohos.permission.READ_CONTACTS
1126   * @param { number } id - Indicates the contact ID.
1127   * @param { Holder } [holder] - Indicates the contact holder.
1128   * If this parameter is null, the default holder is used for matching.
1129   * @returns { Promise<string> } Returns the query key of the contact.
1130   * @syscap SystemCapability.Applications.ContactsData
1131   * @since 7
1132   * @deprecated since 10
1133   * @useinstead contact.queryKey#queryKey
1134   */
1135  function queryKey(id: number, holder?: Holder): Promise<string>;
1136
1137  /**
1138   * Obtains the query key of a contact based on a specified ID and holder.
1139   *
1140   * @permission ohos.permission.READ_CONTACTS
1141   * @param { Context } context - Indicates the context of application or capability.
1142   * @param { number } id - Indicates the contact ID.
1143   * @param { Holder } [holder] - Indicates the contact holder.
1144   * If this parameter is null, the default holder is used for matching.
1145   * @returns { Promise<string> } Returns the query key of the contact.
1146   * @throws { BusinessError } 201 - Permission denied.
1147   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1148   * @syscap SystemCapability.Applications.ContactsData
1149   * @since 10
1150   */
1151  function queryKey(context: Context, id: number, holder?: Holder): Promise<string>;
1152
1153  /**
1154   * Queries information about "my card".
1155   *
1156   * @permission ohos.permission.READ_CONTACTS
1157   * @param { AsyncCallback<Contact> } callback - Returns information about "my card".
1158   * @syscap SystemCapability.Applications.ContactsData
1159   * @since 7
1160   * @deprecated since 10
1161   * @useinstead contact.queryMyCard#queryMyCard
1162   */
1163  function queryMyCard(callback: AsyncCallback<Contact>): void;
1164
1165  /**
1166   * Queries information about "my card".
1167   *
1168   * @permission ohos.permission.READ_CONTACTS
1169   * @param { Context } context - Indicates the context of application or capability.
1170   * @param { AsyncCallback<Contact> } callback - Returns information about "my card".
1171   * @throws { BusinessError } 201 - Permission denied.
1172   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1173   * @syscap SystemCapability.Applications.ContactsData
1174   * @since 10
1175   */
1176  function queryMyCard(context: Context, callback: AsyncCallback<Contact>): void;
1177
1178  /**
1179   * Queries information about "my card".
1180   *
1181   * @permission ohos.permission.READ_CONTACTS
1182   * @param { ContactAttributes } attrs - Indicates the contact attribute.
1183   * If this parameter is null, all attributes are used for matching.
1184   * @param { AsyncCallback<Contact> } callback - Returns information about "my card".
1185   * @syscap SystemCapability.Applications.ContactsData
1186   * @since 7
1187   * @deprecated since 10
1188   * @useinstead contact.queryMyCard#queryMyCard
1189   */
1190  function queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
1191
1192  /**
1193   * Queries information about "my card".
1194   *
1195   * @permission ohos.permission.READ_CONTACTS
1196   * @param { Context } context - Indicates the context of application or capability.
1197   * @param { ContactAttributes } attrs - Indicates the contact attribute.
1198   * If this parameter is null, all attributes are used for matching.
1199   * @param { AsyncCallback<Contact> } callback - Returns information about "my card".
1200   * @throws { BusinessError } 201 - Permission denied.
1201   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1202   * @syscap SystemCapability.Applications.ContactsData
1203   * @since 10
1204   */
1205  function queryMyCard(context: Context, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;
1206
1207  /**
1208   * Queries information about "my card".
1209   *
1210   * @permission ohos.permission.READ_CONTACTS
1211   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
1212   * If this parameter is null, all attributes are used for matching.
1213   * @returns { Promise<Contact> } Returns information about "my card".
1214   * @syscap SystemCapability.Applications.ContactsData
1215   * @since 7
1216   * @deprecated since 10
1217   * @useinstead contact.queryMyCard#queryMyCard
1218   */
1219  function queryMyCard(attrs?: ContactAttributes): Promise<Contact>;
1220
1221  /**
1222   * Queries information about "my card".
1223   *
1224   * @permission ohos.permission.READ_CONTACTS
1225   * @param { Context } context - Indicates the context of application or capability.
1226   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
1227   * If this parameter is null, all attributes are used for matching.
1228   * @returns { Promise<Contact> } Returns information about "my card".
1229   * @throws { BusinessError } 201 - Permission denied.
1230   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1231   * @syscap SystemCapability.Applications.ContactsData
1232   * @since 10
1233   */
1234  function queryMyCard(context: Context, attrs?: ContactAttributes): Promise<Contact>;
1235
1236  /**
1237   * Updates specified attributes of a contact.
1238   *
1239   * @permission ohos.permission.WRITE_CONTACTS
1240   * @param { Contact } contact - Indicates the contact whose information is to update.
1241   * @param { AsyncCallback<void> } callback - The callback of updateContact.
1242   * @syscap SystemCapability.Applications.ContactsData
1243   * @since 7
1244   * @deprecated since 10
1245   * @useinstead contact.updateContact#updateContact
1246   */
1247  function updateContact(contact: Contact, callback: AsyncCallback<void>): void;
1248
1249  /**
1250   * Updates specified attributes of a contact.
1251   *
1252   * @permission ohos.permission.WRITE_CONTACTS
1253   * @param { Context } context - Indicates the context of application or capability.
1254   * @param { Contact } contact - Indicates the contact whose information is to update.
1255   * @param { AsyncCallback<void> } callback - The callback of updateContact.
1256   * @throws { BusinessError } 201 - Permission denied.
1257   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1258   * @syscap SystemCapability.Applications.ContactsData
1259   * @since 10
1260   */
1261  function updateContact(context: Context, contact: Contact, callback: AsyncCallback<void>): void;
1262
1263  /**
1264   * Updates specified attributes of a contact.
1265   *
1266   * @permission ohos.permission.WRITE_CONTACTS
1267   * @param { Contact } contact - Indicates the contact whose information is to update.
1268   * @param { ContactAttributes } attrs - Indicates the contact attribute.
1269   * If this parameter is null, all attributes are used for matching.
1270   * @param { AsyncCallback<void> } callback - The callback of updateContact.
1271   * @syscap SystemCapability.Applications.ContactsData
1272   * @since 7
1273   * @deprecated since 10
1274   * @useinstead contact.updateContact#updateContact
1275   */
1276  function updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void;
1277
1278  /**
1279   * Updates specified attributes of a contact.
1280   *
1281   * @permission ohos.permission.WRITE_CONTACTS
1282   * @param { Context } context - Indicates the context of application or capability.
1283   * @param { Contact } contact - Indicates the contact whose information is to update.
1284   * @param { ContactAttributes } attrs - Indicates the contact attribute.
1285   * If this parameter is null, all attributes are used for matching.
1286   * @param { AsyncCallback<void> } callback - The callback of updateContact.
1287   * @throws { BusinessError } 201 - Permission denied.
1288   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1289   * @syscap SystemCapability.Applications.ContactsData
1290   * @since 10
1291   */
1292  function updateContact(context: Context, contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void;
1293
1294  /**
1295   * Updates specified attributes of a contact.
1296   *
1297   * @permission ohos.permission.WRITE_CONTACTS
1298   * @param { Contact } contact - Indicates the contact whose information is to update.
1299   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
1300   * If this parameter is null, all attributes are used for matching.
1301   * @returns { Promise<void> } The promise returned by the function.
1302   * @syscap SystemCapability.Applications.ContactsData
1303   * @since 7
1304   * @deprecated since 10
1305   * @useinstead contact.updateContact#updateContact
1306   */
1307  function updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void>;
1308
1309  /**
1310   * Updates specified attributes of a contact.
1311   *
1312   * @permission ohos.permission.WRITE_CONTACTS
1313   * @param { Context } context - Indicates the context of application or capability.
1314   * @param { Contact } contact - Indicates the contact whose information is to update.
1315   * @param { ContactAttributes } [attrs] - Indicates the contact attribute.
1316   * If this parameter is null, all attributes are used for matching.
1317   * @returns { Promise<void> } The promise returned by the function.
1318   * @throws { BusinessError } 201 - Permission denied.
1319   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1320   * @syscap SystemCapability.Applications.ContactsData
1321   * @since 10
1322   */
1323  function updateContact(context: Context, contact: Contact, attrs?: ContactAttributes): Promise<void>;
1324
1325  /**
1326   * Checks whether the contact ID is in the local phone book.
1327   *
1328   * @permission ohos.permission.READ_CONTACTS
1329   * @param { number } id - Indicates the contact ID.
1330   * @param { AsyncCallback<boolean> } callback - The callback of isLocalContact.
1331   * Returns {@code true} if the contact ID is in the local phone book; returns {@code false} otherwise.
1332   * @syscap SystemCapability.Applications.ContactsData
1333   * @since 7
1334   * @deprecated since 10
1335   * @useinstead contact.isLocalContact#isLocalContact
1336   */
1337  function isLocalContact(id: number, callback: AsyncCallback<boolean>): void;
1338
1339  /**
1340   * Checks whether the contact ID is in the local phone book.
1341   *
1342   * @permission ohos.permission.READ_CONTACTS
1343   * @param { Context } context - Indicates the context of application or capability.
1344   * @param { number } id - Indicates the contact ID.
1345   * @param { AsyncCallback<boolean> } callback - The callback of isLocalContact.
1346   * Returns {@code true} if the contact ID is in the local phone book; returns {@code false} otherwise.
1347   * @throws { BusinessError } 201 - Permission denied.
1348   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1349   * @syscap SystemCapability.Applications.ContactsData
1350   * @since 10
1351   */
1352  function isLocalContact(context: Context, id: number, callback: AsyncCallback<boolean>): void;
1353
1354  /**
1355   * Checks whether the contact ID is in the local phone book.
1356   *
1357   * @permission ohos.permission.READ_CONTACTS
1358   * @param { number } id - Indicates the contact ID.
1359   * @returns { Promise<boolean> } Returns {@code true} if the contact ID is in the local phone book,
1360   * returns {@code false} otherwise.
1361   * @syscap SystemCapability.Applications.ContactsData
1362   * @since 7
1363   * @deprecated since 10
1364   * @useinstead contact.isLocalContact#isLocalContact
1365   */
1366  function isLocalContact(id: number): Promise<boolean>;
1367
1368  /**
1369   * Checks whether the contact ID is in the local phone book.
1370   *
1371   * @permission ohos.permission.READ_CONTACTS
1372   * @param { Context } context - Indicates the context of application or capability.
1373   * @param { number } id - Indicates the contact ID.
1374   * @returns { Promise<boolean> } Returns {@code true} if the contact ID is in the local phone book,
1375   * returns {@code false} otherwise.
1376   * @throws { BusinessError } 201 - Permission denied.
1377   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1378   * @syscap SystemCapability.Applications.ContactsData
1379   * @since 10
1380   */
1381  function isLocalContact(context: Context, id: number): Promise<boolean>;
1382
1383  /**
1384   * Checks whether the contact ID is of "my card".
1385   *
1386   * @permission ohos.permission.READ_CONTACTS
1387   * @param { number } id - Indicates the contact ID.
1388   * @param { AsyncCallback<boolean> } callback - The callback of isMyCard.
1389   * Returns {@code true} if the contact ID is of "my card"; returns {@code false} otherwise.
1390   * @syscap SystemCapability.Applications.ContactsData
1391   * @since 7
1392   * @deprecated since 10
1393   * @useinstead contact.deleteContact#deleteContact
1394   */
1395  function isMyCard(id: number, callback: AsyncCallback<boolean>): void;
1396
1397  /**
1398   * Checks whether the contact ID is of "my card".
1399   *
1400   * @permission ohos.permission.READ_CONTACTS
1401   * @param { Context } context - Indicates the context of application or capability.
1402   * @param { number } id - Indicates the contact ID.
1403   * @param { AsyncCallback<boolean> } callback - The callback of isMyCard.
1404   * Returns {@code true} if the contact ID is of "my card"; returns {@code false} otherwise.
1405   * @throws { BusinessError } 201 - Permission denied.
1406   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1407   * @syscap SystemCapability.Applications.ContactsData
1408   * @since 10
1409   */
1410  function isMyCard(context: Context, id: number, callback: AsyncCallback<boolean>): void;
1411
1412  /**
1413   * Checks whether the contact ID is of "my card".
1414   *
1415   * @permission ohos.permission.READ_CONTACTS
1416   * @param { number } id - Indicates the contact ID.
1417   * @returns { Promise<boolean> } Returns true if the contact ID is of "my card", returns false otherwise.
1418   * @syscap SystemCapability.Applications.ContactsData
1419   * @since 7
1420   * @deprecated since 10
1421   * @useinstead contact.isMyCard#isMyCard
1422   */
1423  function isMyCard(id: number): Promise<boolean>;
1424
1425  /**
1426   * Checks whether the contact ID is of "my card".
1427   *
1428   * @permission ohos.permission.READ_CONTACTS
1429   * @param { Context } context - Indicates the context of application or capability.
1430   * @param { number } id - Indicates the contact ID.
1431   * @returns { Promise<boolean> } Returns true if the contact ID is of "my card", returns false otherwise.
1432   * @throws { BusinessError } 201 - Permission denied.
1433   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Parameter verification failed.
1434   * @syscap SystemCapability.Applications.ContactsData
1435   * @since 10
1436   */
1437  function isMyCard(context: Context, id: number): Promise<boolean>;
1438
1439  /**
1440   * Creates a contact through UI interaction.
1441   *
1442   * @param { Context } context - Indicates the context of application or capability.
1443   * @param { Contact } contact - Indicates the contact information.
1444   * @returns { Promise<number> } Returns the contact ID (which can be obtained by {@link Contact#getId()}) if the
1445   * creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the creation fails.
1446   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1447   * @throws { BusinessError } 801 - The specified SystemCapability name was not found.
1448   * @throws { BusinessError } 16700001 - General error.
1449   * @throws { BusinessError } 16700102 - Failed to set value to contacts data.
1450   * @throws { BusinessError } 16700103 - User cancel.
1451   * @syscap SystemCapability.Applications.Contacts
1452   * @atomicservice
1453   * @since 15
1454   */
1455  function addContactViaUI(context: Context, contact: Contact): Promise<number>;
1456
1457  /**
1458   * Saves the information to an existing contact through UI interaction.
1459   *
1460   * @param { Context } context - Indicates the context of application or capability.
1461   * @param { Contact } contact - Indicates the contact information.
1462   * @returns { Promise<number> } Returns the contact ID (which can be obtained by {@link Contact#getId()}) if the
1463   * creation is successful. returns {@link Contact#INVALID_CONTACT_ID} if the creation fails.
1464   * @throws { BusinessError } 401 - Parameter error. Possible causes: Mandatory parameters are left unspecified.
1465   * @throws { BusinessError } 801 - The specified SystemCapability name was not found.
1466   * @throws { BusinessError } 16700001 - General error.
1467   * @throws { BusinessError } 16700101 - Failed to get value to contacts data.
1468   * @throws { BusinessError } 16700102 - Failed to set value to contacts data.
1469   * @throws { BusinessError } 16700103 - User cancel.
1470   * @syscap SystemCapability.Applications.Contacts
1471   * @atomicservice
1472   * @since 15
1473   */
1474  function saveToExistingContactViaUI(context: Context, contact: Contact): Promise<number>;
1475
1476  /**
1477   * ContactSelectionOptions Object
1478   *
1479   * @interface ContactSelectionOptions
1480   * @syscap SystemCapability.Applications.Contacts
1481   * @since 10
1482   */
1483  /**
1484   * ContactSelectionOptions Object
1485   *
1486   * @interface ContactSelectionOptions
1487   * @syscap SystemCapability.Applications.Contacts
1488   * @atomicservice
1489   * @since 11
1490   */
1491  interface ContactSelectionOptions {
1492    /**
1493     * Indicates the Single-select or multiple-select.
1494     *
1495     * @type { ?boolean }
1496     * @syscap SystemCapability.Applications.Contacts
1497     * @since 10
1498     */
1499    /**
1500     * Indicates the Single-select or multiple-select.
1501     *
1502     * @type { ?boolean }
1503     * @syscap SystemCapability.Applications.Contacts
1504     * @atomicservice
1505     * @since 11
1506     */
1507    isMultiSelect?: boolean;
1508
1509    /**
1510     * Maximum number of contacts. The value ranges from 1 to 10000. The default value is 10000.
1511     *
1512     * @type { ?number }
1513     * @syscap SystemCapability.Applications.Contacts
1514     * @atomicservice
1515     * @since 15
1516     */
1517    maxSelectable?: number;
1518
1519    /**
1520     * Contact display dimension.
1521     *
1522     * @type { ?boolean }
1523     * @syscap SystemCapability.Applications.Contacts
1524     * @atomicservice
1525     * @since 15
1526     */
1527    isDisplayedByName?: boolean;
1528
1529    /**
1530     * Contact filtering parameters.
1531     *
1532     * @type { ?ContactSelectionFilter }
1533     * @syscap SystemCapability.Applications.Contacts
1534     * @atomicservice
1535     * @since 15
1536     */
1537    filter?: ContactSelectionFilter;
1538  }
1539
1540  /**
1541   * ContactSelectionFilter Object
1542   *
1543   * @interface ContactSelectionFilter
1544   * @syscap SystemCapability.Applications.Contacts
1545   * @atomicservice
1546   * @since 15
1547   */
1548  interface ContactSelectionFilter {
1549    /**
1550     * Filter clause.
1551     *
1552     * @type { FilterClause }
1553     * @syscap SystemCapability.Applications.Contacts
1554     * @atomicservice
1555     * @since 15
1556     */
1557    filterClause: FilterClause,
1558
1559    /**
1560     * Filter type.
1561     *
1562     * @type { FilterType }
1563     * @syscap SystemCapability.Applications.Contacts
1564     * @atomicservice
1565     * @since 15
1566     */
1567    filterType: FilterType
1568  }
1569
1570  /**
1571   * The type for functions of filter conditions
1572   *
1573   * @enum { number }
1574   * @syscap SystemCapability.Applications.ContactsData
1575   * @atomicservice
1576   * @since 15
1577   */
1578  enum FilterType {
1579    /**
1580     * Only the contacts that meet the filter condition will be displayed.
1581     *
1582     * @syscap SystemCapability.Applications.Contacts
1583     * @atomicservice
1584     * @since 15
1585     */
1586    SHOW_FILTER,
1587
1588    /**
1589     * Contacts that meet the filter condition will be selected by default.
1590     *
1591     * @syscap SystemCapability.Applications.Contacts
1592     * @atomicservice
1593     * @since 15
1594     */
1595    DEFAULT_SELECT,
1596
1597    /**
1598     * Only the contacts that meet the filter condition will be displayed and are selected by default.
1599     *
1600     * @syscap SystemCapability.Applications.Contacts
1601     * @atomicservice
1602     * @since 15
1603     */
1604    SHOW_FILTER_AND_DEFAULT_SELECT,
1605  }
1606
1607  /**
1608   * FilterClause Object
1609   * The relation of clause in arrays is OR, and the maximum length of the array is 3.
1610   *
1611   * @interface FilterClause
1612   * @syscap SystemCapability.Applications.Contacts
1613   * @atomicservice
1614   * @since 15
1615   */
1616  interface FilterClause {
1617    /**
1618     * Contact ID.
1619     *
1620     * @type { ?Array<FilterOptions> }
1621     * @syscap SystemCapability.Applications.Contacts
1622     * @atomicservice
1623     * @since 15
1624     */
1625    id?: Array<FilterOptions>,
1626
1627    /**
1628     * Contact name.
1629     *
1630     * @type { ?Array<FilterOptions> }
1631     * @syscap SystemCapability.Applications.Contacts
1632     * @atomicservice
1633     * @since 15
1634     */
1635    name?: Array<FilterOptions>,
1636
1637    /**
1638     * Contact data filter item.
1639     *
1640     * @type { ?DataFilter }
1641     * @syscap SystemCapability.Applications.Contacts
1642     * @atomicservice
1643     * @since 15
1644     */
1645    dataItem?: DataFilter,
1646
1647    /**
1648     * Focus mode.
1649     *
1650     * @type { ?Array<FilterOptions> }
1651     * @syscap SystemCapability.Applications.Contacts
1652     * @atomicservice
1653     * @since 15
1654     */
1655    focusModeList?: Array<FilterOptions>,
1656  }
1657
1658  /**
1659   * FilterOptions Object
1660   *
1661   * @interface FilterOptions
1662   * @syscap SystemCapability.Applications.Contacts
1663   * @atomicservice
1664   * @since 15
1665   */
1666  interface FilterOptions {
1667    /**
1668     * Filter condition.
1669     *
1670     * @type { FilterCondition }
1671     * @syscap SystemCapability.Applications.Contacts
1672     * @atomicservice
1673     * @since 15
1674     */
1675    filterCondition: FilterCondition,
1676
1677    /**
1678     * Filter value.
1679     *
1680     * @type { ?string | ValueType[] }
1681     * @syscap SystemCapability.Applications.Contacts
1682     * @atomicservice
1683     * @since 15
1684     */
1685    value?: string | ValueType[]
1686  }
1687
1688  /**
1689   * The type of filter condition
1690   *
1691   * @enum { number }
1692   * @syscap SystemCapability.Applications.ContactsData
1693   * @atomicservice
1694   * @since 15
1695   */
1696  enum FilterCondition {
1697    /**
1698     * Field is not null.
1699     *
1700     * @syscap SystemCapability.Applications.Contacts
1701     * @atomicservice
1702     * @since 15
1703     */
1704    IS_NOT_NULL,
1705
1706    /**
1707     * Field equal to value, value type is string.
1708     *
1709     * @syscap SystemCapability.Applications.Contacts
1710     * @atomicservice
1711     * @since 15
1712     */
1713    EQUAL_TO,
1714
1715    /**
1716     * Field not equal to value, value type is string.
1717     *
1718     * @syscap SystemCapability.Applications.Contacts
1719     * @atomicservice
1720     * @since 15
1721     */
1722    NOT_EQUAL_TO,
1723
1724    /**
1725     * Field in value, value type is ValueType[].
1726     *
1727     * @syscap SystemCapability.Applications.Contacts
1728     * @atomicservice
1729     * @since 15
1730     */
1731    IN,
1732
1733    /**
1734     * Field not in value, value type is ValueType[].
1735     *
1736     * @syscap SystemCapability.Applications.Contacts
1737     * @atomicservice
1738     * @since 15
1739     */
1740    NOT_IN,
1741
1742    /**
1743     * Field contains value, value type is string.
1744     *
1745     * @syscap SystemCapability.Applications.Contacts
1746     * @atomicservice
1747     * @since 15
1748     */
1749    CONTAINS,
1750  }
1751
1752  /**
1753   * DataFilter Object
1754   * The relation of clause in arrays is OR, and the maximum length of the array is 3.
1755   *
1756   * @interface DataFilter
1757   * @syscap SystemCapability.Applications.Contacts
1758   * @atomicservice
1759   * @since 15
1760   */
1761  interface DataFilter {
1762    /**
1763     * Data filter field.
1764     *
1765     * @type { DataField }
1766     * @syscap SystemCapability.Applications.Contacts
1767     * @atomicservice
1768     * @since 15
1769     */
1770    field: DataField,
1771
1772    /**
1773     * Data filter options.
1774     *
1775     * @type { Array<FilterOptions> }
1776     * @syscap SystemCapability.Applications.Contacts
1777     * @atomicservice
1778     * @since 15
1779     */
1780    options: Array<FilterOptions>
1781  }
1782
1783  /**
1784   * Data field that support filtering
1785   *
1786   * @enum { number }
1787   * @syscap SystemCapability.Applications.ContactsData
1788   * @atomicservice
1789   * @since 15
1790   */
1791  enum DataField {
1792    /**
1793     * Indicates email addresses of the contact.
1794     *
1795     * @syscap SystemCapability.Applications.Contacts
1796     * @atomicservice
1797     * @since 15
1798     */
1799    EMAIL,
1800
1801    /**
1802     * Indicates a phone of the contact.
1803     *
1804     * @syscap SystemCapability.Applications.Contacts
1805     * @atomicservice
1806     * @since 15
1807     */
1808    PHONE,
1809
1810    /**
1811     * Indicates organization information of the contact.
1812     *
1813     * @syscap SystemCapability.Applications.Contacts
1814     * @atomicservice
1815     * @since 15
1816     */
1817    ORGANIZATION,
1818  }
1819
1820  /**
1821   * Provides methods for contact information
1822   *
1823   * @syscap SystemCapability.Applications.ContactsData
1824   * @since 7
1825   */
1826  /**
1827   * Provides methods for contact information
1828   *
1829   * @syscap SystemCapability.Applications.ContactsData
1830   * @atomicservice
1831   * @since 11
1832   */
1833  class Contact {
1834    /**
1835     * Indicates the contact invalid ID.
1836     *
1837     * @type { number }
1838     * @readonly
1839     * @static
1840     * @syscap SystemCapability.Applications.ContactsData
1841     * @since 7
1842     */
1843    /**
1844     * Indicates the contact invalid ID.
1845     *
1846     * @type { number }
1847     * @readonly
1848     * @static
1849     * @syscap SystemCapability.Applications.ContactsData
1850     * @atomicservice
1851     * @since 11
1852     */
1853    static readonly INVALID_CONTACT_ID: -1
1854
1855    /**
1856     * Indicates the contact ID.
1857     *
1858     * @type { ?number }
1859     * @readonly
1860     * @syscap SystemCapability.Applications.ContactsData
1861     * @since 7
1862     */
1863    /**
1864     * Indicates the contact ID.
1865     *
1866     * @type { ?number }
1867     * @readonly
1868     * @syscap SystemCapability.Applications.ContactsData
1869     * @atomicservice
1870     * @since 11
1871     */
1872    readonly id?: number
1873
1874    /**
1875     * Indicates the query key that identifies the contact.
1876     *
1877     * @type { ?string }
1878     * @readonly
1879     * @syscap SystemCapability.Applications.ContactsData
1880     * @since 7
1881     */
1882    /**
1883     * Indicates the query key that identifies the contact.
1884     *
1885     * @type { ?string }
1886     * @readonly
1887     * @syscap SystemCapability.Applications.ContactsData
1888     * @atomicservice
1889     * @since 11
1890     */
1891    readonly key?: string
1892
1893    /**
1894     * Indicates the contact attributes.
1895     *
1896     * @type { ?ContactAttributes }
1897     * @syscap SystemCapability.Applications.ContactsData
1898     * @since 7
1899     */
1900    /**
1901     * Indicates the contact attributes.
1902     *
1903     * @type { ?ContactAttributes }
1904     * @syscap SystemCapability.Applications.ContactsData
1905     * @atomicservice
1906     * @since 11
1907     */
1908    contactAttributes?: ContactAttributes
1909
1910    /**
1911     * Indicates list of contact email addresses.
1912     *
1913     * @type { ?Email[] }
1914     * @syscap SystemCapability.Applications.ContactsData
1915     * @since 7
1916     */
1917    /**
1918     * Indicates list of contact email addresses.
1919     *
1920     * @type { ?Email[] }
1921     * @syscap SystemCapability.Applications.ContactsData
1922     * @atomicservice
1923     * @since 11
1924     */
1925    emails?: Email[]
1926
1927    /**
1928     * Indicates an event (special date) of the contact.
1929     *
1930     * @type { ?Event[] }
1931     * @syscap SystemCapability.Applications.ContactsData
1932     * @since 7
1933     */
1934    /**
1935     * Indicates an event (special date) of the contact.
1936     *
1937     * @type { ?Event[] }
1938     * @syscap SystemCapability.Applications.ContactsData
1939     * @atomicservice
1940     * @since 11
1941     */
1942    events?: Event[]
1943
1944    /**
1945     * Indicates a group of the contact.
1946     *
1947     * @type { ?Group[] }
1948     * @syscap SystemCapability.Applications.ContactsData
1949     * @since 7
1950     */
1951    /**
1952     * Indicates a group of the contact.
1953     *
1954     * @type { ?Group[] }
1955     * @syscap SystemCapability.Applications.ContactsData
1956     * @atomicservice
1957     * @since 11
1958     */
1959    groups?: Group[]
1960
1961    /**
1962     * Indicates an IM address of the contact.
1963     *
1964     * @type { ?ImAddress[] }
1965     * @syscap SystemCapability.Applications.ContactsData
1966     * @since 7
1967     */
1968    /**
1969     * Indicates an IM address of the contact.
1970     *
1971     * @type { ?ImAddress[] }
1972     * @syscap SystemCapability.Applications.ContactsData
1973     * @atomicservice
1974     * @since 11
1975     */
1976    imAddresses?: ImAddress[]
1977
1978    /**
1979     * Indicates a phone number of the contact.
1980     *
1981     * @type { ?PhoneNumber[] }
1982     * @syscap SystemCapability.Applications.ContactsData
1983     * @since 7
1984     */
1985    /**
1986     * Indicates a phone number of the contact.
1987     *
1988     * @type { ?PhoneNumber[] }
1989     * @syscap SystemCapability.Applications.ContactsData
1990     * @atomicservice
1991     * @since 11
1992     */
1993    phoneNumbers?: PhoneNumber[]
1994
1995    /**
1996     * Indicates the contact portrait.
1997     *
1998     * @type { ?Portrait }
1999     * @syscap SystemCapability.Applications.ContactsData
2000     * @since 7
2001     */
2002    /**
2003     * Indicates the contact portrait.
2004     *
2005     * @type { ?Portrait }
2006     * @syscap SystemCapability.Applications.ContactsData
2007     * @atomicservice
2008     * @since 11
2009     */
2010    portrait?: Portrait
2011
2012    /**
2013     * Indicates a postal address of the contact.
2014     *
2015     * @type { ?PostalAddress[] }
2016     * @syscap SystemCapability.Applications.ContactsData
2017     * @since 7
2018     */
2019    /**
2020     * Indicates a postal address of the contact.
2021     *
2022     * @type { ?PostalAddress[] }
2023     * @syscap SystemCapability.Applications.ContactsData
2024     * @atomicservice
2025     * @since 11
2026     */
2027    postalAddresses?: PostalAddress[]
2028
2029    /**
2030     * Indicates a relation of the contact.
2031     *
2032     * @type { ?Relation[] }
2033     * @syscap SystemCapability.Applications.ContactsData
2034     * @since 7
2035     */
2036    /**
2037     * Indicates a relation of the contact.
2038     *
2039     * @type { ?Relation[] }
2040     * @syscap SystemCapability.Applications.ContactsData
2041     * @atomicservice
2042     * @since 11
2043     */
2044    relations?: Relation[]
2045
2046    /**
2047     * Indicates a Session Initiation Protocol (SIP) address of the contact.
2048     *
2049     * @type { ?SipAddress[] }
2050     * @syscap SystemCapability.Applications.ContactsData
2051     * @since 7
2052     */
2053    /**
2054     * Indicates a Session Initiation Protocol (SIP) address of the contact.
2055     *
2056     * @type { ?SipAddress[] }
2057     * @syscap SystemCapability.Applications.ContactsData
2058     * @atomicservice
2059     * @since 11
2060     */
2061    sipAddresses?: SipAddress[]
2062
2063    /**
2064     * Indicates a website of the contact.
2065     *
2066     * @type { ?Website[] }
2067     * @syscap SystemCapability.Applications.ContactsData
2068     * @since 7
2069     */
2070    /**
2071     * Indicates a website of the contact.
2072     *
2073     * @type { ?Website[] }
2074     * @syscap SystemCapability.Applications.ContactsData
2075     * @atomicservice
2076     * @since 11
2077     */
2078    websites?: Website[]
2079
2080    /**
2081     * Indicates the contact name.
2082     *
2083     * @type { ?Name }
2084     * @syscap SystemCapability.Applications.ContactsData
2085     * @since 7
2086     */
2087    /**
2088     * Indicates the contact name.
2089     *
2090     * @type { ?Name }
2091     * @syscap SystemCapability.Applications.ContactsData
2092     * @atomicservice
2093     * @since 11
2094     */
2095    name?: Name
2096
2097    /**
2098     * Indicates the contact nickname.
2099     *
2100     * @type { ?NickName }
2101     * @syscap SystemCapability.Applications.ContactsData
2102     * @since 7
2103     */
2104    /**
2105     * Indicates the contact nickname.
2106     *
2107     * @type { ?NickName }
2108     * @syscap SystemCapability.Applications.ContactsData
2109     * @atomicservice
2110     * @since 11
2111     */
2112    nickName?: NickName
2113
2114    /**
2115     * Indicates the contact note.
2116     *
2117     * @type { ?Note }
2118     * @syscap SystemCapability.Applications.ContactsData
2119     * @since 7
2120     */
2121    /**
2122     * Indicates the contact note.
2123     *
2124     * @type { ?Note }
2125     * @syscap SystemCapability.Applications.ContactsData
2126     * @atomicservice
2127     * @since 11
2128     */
2129    note?: Note
2130
2131    /**
2132     * Indicates organization information about the contact.
2133     *
2134     * @type { ?Organization }
2135     * @syscap SystemCapability.Applications.ContactsData
2136     * @since 7
2137     */
2138    /**
2139     * Indicates organization information about the contact.
2140     *
2141     * @type { ?Organization }
2142     * @syscap SystemCapability.Applications.ContactsData
2143     * @atomicservice
2144     * @since 11
2145     */
2146    organization?: Organization
2147  }
2148
2149  /**
2150   * Provides methods for contact attributes information
2151   *
2152   * @syscap SystemCapability.Applications.ContactsData
2153   * @since 7
2154   */
2155  /**
2156   * Provides methods for contact attributes information
2157   *
2158   * @syscap SystemCapability.Applications.ContactsData
2159   * @atomicservice
2160   * @since 11
2161   */
2162  class ContactAttributes {
2163    /**
2164     * Indicates the contact attributes.
2165     *
2166     * @type { Attribute[] }
2167     * @syscap SystemCapability.Applications.ContactsData
2168     * @since 7
2169     */
2170    /**
2171     * Indicates the contact attributes.
2172     *
2173     * @type { Attribute[] }
2174     * @syscap SystemCapability.Applications.ContactsData
2175     * @atomicservice
2176     * @since 11
2177     */
2178    attributes: Attribute[]
2179  }
2180
2181  /**
2182   * Provides methods for attribute information
2183   *
2184   * @enum { number }
2185   * @syscap SystemCapability.Applications.ContactsData
2186   * @since 7
2187   */
2188  /**
2189   * Provides methods for attribute information
2190   *
2191   * @enum { number }
2192   * @syscap SystemCapability.Applications.ContactsData
2193   * @atomicservice
2194   * @since 11
2195   */
2196  enum Attribute {
2197    /**
2198     * Indicates the contact event.
2199     *
2200     * @syscap SystemCapability.Applications.ContactsData
2201     * @since 7
2202     */
2203    /**
2204     * Indicates the contact event.
2205     *
2206     * @syscap SystemCapability.Applications.ContactsData
2207     * @atomicservice
2208     * @since 11
2209     */
2210    ATTR_CONTACT_EVENT,
2211
2212    /**
2213     * Indicates the email address.
2214     *
2215     * @syscap SystemCapability.Applications.ContactsData
2216     * @since 7
2217     */
2218    /**
2219     * Indicates the email address.
2220     *
2221     * @syscap SystemCapability.Applications.ContactsData
2222     * @atomicservice
2223     * @since 11
2224     */
2225    ATTR_EMAIL,
2226
2227    /**
2228     * Indicates the contact group.
2229     *
2230     * @syscap SystemCapability.Applications.ContactsData
2231     * @since 7
2232     */
2233    /**
2234     * Indicates the contact group.
2235     *
2236     * @syscap SystemCapability.Applications.ContactsData
2237     * @atomicservice
2238     * @since 11
2239     */
2240    ATTR_GROUP_MEMBERSHIP,
2241
2242    /**
2243     * Indicates the instant messaging (IM) address.
2244     *
2245     * @syscap SystemCapability.Applications.ContactsData
2246     * @since 7
2247     */
2248    /**
2249     * Indicates the instant messaging (IM) address.
2250     *
2251     * @syscap SystemCapability.Applications.ContactsData
2252     * @atomicservice
2253     * @since 11
2254     */
2255    ATTR_IM,
2256
2257    /**
2258     * Indicates the name.
2259     *
2260     * @syscap SystemCapability.Applications.ContactsData
2261     * @since 7
2262     */
2263    /**
2264     * Indicates the name.
2265     *
2266     * @syscap SystemCapability.Applications.ContactsData
2267     * @atomicservice
2268     * @since 11
2269     */
2270    ATTR_NAME,
2271
2272    /**
2273     * Indicates the nickname.
2274     *
2275     * @syscap SystemCapability.Applications.ContactsData
2276     * @since 7
2277     */
2278    /**
2279     * Indicates the nickname.
2280     *
2281     * @syscap SystemCapability.Applications.ContactsData
2282     * @atomicservice
2283     * @since 11
2284     */
2285    ATTR_NICKNAME,
2286
2287    /**
2288     * Indicates the note.
2289     *
2290     * @syscap SystemCapability.Applications.ContactsData
2291     * @since 7
2292     */
2293    /**
2294     * Indicates the note.
2295     *
2296     * @syscap SystemCapability.Applications.ContactsData
2297     * @atomicservice
2298     * @since 11
2299     */
2300    ATTR_NOTE,
2301
2302    /**
2303     * Indicates the organization.
2304     *
2305     * @syscap SystemCapability.Applications.ContactsData
2306     * @since 7
2307     */
2308    /**
2309     * Indicates the organization.
2310     *
2311     * @syscap SystemCapability.Applications.ContactsData
2312     * @atomicservice
2313     * @since 11
2314     */
2315    ATTR_ORGANIZATION,
2316
2317    /**
2318     * Indicates the phone number.
2319     *
2320     * @syscap SystemCapability.Applications.ContactsData
2321     * @since 7
2322     */
2323    /**
2324     * Indicates the phone number.
2325     *
2326     * @syscap SystemCapability.Applications.ContactsData
2327     * @atomicservice
2328     * @since 11
2329     */
2330    ATTR_PHONE,
2331
2332    /**
2333     * Indicates the portrait.
2334     *
2335     * @syscap SystemCapability.Applications.ContactsData
2336     * @since 7
2337     */
2338    /**
2339     * Indicates the portrait.
2340     *
2341     * @syscap SystemCapability.Applications.ContactsData
2342     * @atomicservice
2343     * @since 11
2344     */
2345    ATTR_PORTRAIT,
2346
2347    /**
2348     * Indicates the postal address.
2349     *
2350     * @syscap SystemCapability.Applications.ContactsData
2351     * @since 7
2352     */
2353    /**
2354     * Indicates the postal address.
2355     *
2356     * @syscap SystemCapability.Applications.ContactsData
2357     * @atomicservice
2358     * @since 11
2359     */
2360    ATTR_POSTAL_ADDRESS,
2361
2362    /**
2363     * Indicates the relation.
2364     *
2365     * @syscap SystemCapability.Applications.ContactsData
2366     * @since 7
2367     */
2368    /**
2369     * Indicates the relation.
2370     *
2371     * @syscap SystemCapability.Applications.ContactsData
2372     * @atomicservice
2373     * @since 11
2374     */
2375    ATTR_RELATION,
2376
2377    /**
2378     * Indicates the Session Initiation Protocol (SIP) address.
2379     *
2380     * @syscap SystemCapability.Applications.ContactsData
2381     * @since 7
2382     */
2383    /**
2384     * Indicates the Session Initiation Protocol (SIP) address.
2385     *
2386     * @syscap SystemCapability.Applications.ContactsData
2387     * @atomicservice
2388     * @since 11
2389     */
2390    ATTR_SIP_ADDRESS,
2391
2392    /**
2393     * Indicates the website.
2394     *
2395     * @syscap SystemCapability.Applications.ContactsData
2396     * @since 7
2397     */
2398    /**
2399     * Indicates the website.
2400     *
2401     * @syscap SystemCapability.Applications.ContactsData
2402     * @atomicservice
2403     * @since 11
2404     */
2405    ATTR_WEBSITE
2406  }
2407
2408  /**
2409   * Provides methods for email information
2410   *
2411   * @syscap SystemCapability.Applications.ContactsData
2412   * @since 7
2413   */
2414  /**
2415   * Provides methods for email information
2416   *
2417   * @syscap SystemCapability.Applications.ContactsData
2418   * @atomicservice
2419   * @since 11
2420   */
2421  class Email {
2422    /**
2423     * Indicates a custom label.
2424     *
2425     * @type { number }
2426     * @readonly
2427     * @static
2428     * @syscap SystemCapability.Applications.ContactsData
2429     * @since 7
2430     */
2431    /**
2432     * Indicates a custom label.
2433     *
2434     * @type { number }
2435     * @readonly
2436     * @static
2437     * @syscap SystemCapability.Applications.ContactsData
2438     * @atomicservice
2439     * @since 11
2440     */
2441    static readonly CUSTOM_LABEL: 0
2442
2443    /**
2444     * Indicates a home email.
2445     *
2446     * @type { number }
2447     * @readonly
2448     * @static
2449     * @syscap SystemCapability.Applications.ContactsData
2450     * @since 7
2451     */
2452    /**
2453     * Indicates a home email.
2454     *
2455     * @type { number }
2456     * @readonly
2457     * @static
2458     * @syscap SystemCapability.Applications.ContactsData
2459     * @atomicservice
2460     * @since 11
2461     */
2462    static readonly EMAIL_HOME: 1
2463
2464    /**
2465     * Indicates a work email.
2466     *
2467     * @type { number }
2468     * @readonly
2469     * @static
2470     * @syscap SystemCapability.Applications.ContactsData
2471     * @since 7
2472     */
2473    /**
2474     * Indicates a work email.
2475     *
2476     * @type { number }
2477     * @readonly
2478     * @static
2479     * @syscap SystemCapability.Applications.ContactsData
2480     * @atomicservice
2481     * @since 11
2482     */
2483    static readonly EMAIL_WORK: 2
2484
2485    /**
2486     * Indicates an email of the OTHER type.
2487     *
2488     * @type { number }
2489     * @readonly
2490     * @static
2491     * @syscap SystemCapability.Applications.ContactsData
2492     * @since 7
2493     */
2494    /**
2495     * Indicates an email of the OTHER type.
2496     *
2497     * @type { number }
2498     * @readonly
2499     * @static
2500     * @syscap SystemCapability.Applications.ContactsData
2501     * @atomicservice
2502     * @since 11
2503     */
2504    static readonly EMAIL_OTHER: 3
2505
2506    /**
2507     * Indicates an invalid label ID.
2508     *
2509     * @type { number }
2510     * @readonly
2511     * @static
2512     * @syscap SystemCapability.Applications.ContactsData
2513     * @since 7
2514     */
2515    /**
2516     * Indicates an invalid label ID.
2517     *
2518     * @type { number }
2519     * @readonly
2520     * @static
2521     * @syscap SystemCapability.Applications.ContactsData
2522     * @atomicservice
2523     * @since 11
2524     */
2525    static readonly INVALID_LABEL_ID: -1
2526
2527    /**
2528     * Indicates the email address.
2529     *
2530     * @type { string }
2531     * @syscap SystemCapability.Applications.ContactsData
2532     * @since 7
2533     */
2534    /**
2535     * Indicates the email address.
2536     *
2537     * @type { string }
2538     * @syscap SystemCapability.Applications.ContactsData
2539     * @atomicservice
2540     * @since 11
2541     */
2542    email: string
2543
2544    /**
2545     * Indicates the label name of an attribute.
2546     *
2547     * @type { ?string }
2548     * @syscap SystemCapability.Applications.ContactsData
2549     * @since 7
2550     */
2551    /**
2552     * Indicates the label name of an attribute.
2553     *
2554     * @type { ?string }
2555     * @syscap SystemCapability.Applications.ContactsData
2556     * @atomicservice
2557     * @since 11
2558     */
2559    labelName?: string
2560
2561    /**
2562     * Indicates the displayed email name.
2563     *
2564     * @type { ?string }
2565     * @syscap SystemCapability.Applications.ContactsData
2566     * @since 7
2567     */
2568    /**
2569     * Indicates the displayed email name.
2570     *
2571     * @type { ?string }
2572     * @syscap SystemCapability.Applications.ContactsData
2573     * @atomicservice
2574     * @since 11
2575     */
2576    displayName?: string
2577
2578    /**
2579     * Indicates the label id.
2580     *
2581     * @type { ?number }
2582     * @syscap SystemCapability.Applications.ContactsData
2583     * @since 7
2584     */
2585    /**
2586     * Indicates the label id.
2587     *
2588     * @type { ?number }
2589     * @syscap SystemCapability.Applications.ContactsData
2590     * @atomicservice
2591     * @since 11
2592     */
2593    labelId?: number
2594  }
2595
2596  /**
2597   * Provides methods for event information
2598   *
2599   * @syscap SystemCapability.Applications.ContactsData
2600   * @since 7
2601   */
2602  /**
2603   * Provides methods for event information
2604   *
2605   * @syscap SystemCapability.Applications.ContactsData
2606   * @atomicservice
2607   * @since 11
2608   */
2609  class Event {
2610    /**
2611     * Indicates a custom label.
2612     *
2613     * @type { number }
2614     * @readonly
2615     * @static
2616     * @syscap SystemCapability.Applications.ContactsData
2617     * @since 7
2618     */
2619    /**
2620     * Indicates a custom label.
2621     *
2622     * @type { number }
2623     * @readonly
2624     * @static
2625     * @syscap SystemCapability.Applications.ContactsData
2626     * @atomicservice
2627     * @since 11
2628     */
2629    static readonly CUSTOM_LABEL: 0
2630
2631    /**
2632     * Indicates an anniversary event.
2633     *
2634     * @type { number }
2635     * @readonly
2636     * @static
2637     * @syscap SystemCapability.Applications.ContactsData
2638     * @since 7
2639     */
2640    /**
2641     * Indicates an anniversary event.
2642     *
2643     * @type { number }
2644     * @readonly
2645     * @static
2646     * @syscap SystemCapability.Applications.ContactsData
2647     * @atomicservice
2648     * @since 11
2649     */
2650    static readonly EVENT_ANNIVERSARY: 1
2651
2652    /**
2653     * Indicates an event of the OTHER type.
2654     *
2655     * @type { number }
2656     * @readonly
2657     * @static
2658     * @syscap SystemCapability.Applications.ContactsData
2659     * @since 7
2660     */
2661    /**
2662     * Indicates an event of the OTHER type.
2663     *
2664     * @type { number }
2665     * @readonly
2666     * @static
2667     * @syscap SystemCapability.Applications.ContactsData
2668     * @atomicservice
2669     * @since 11
2670     */
2671    static readonly EVENT_OTHER: 2
2672
2673    /**
2674     * Indicates an birthday event.
2675     *
2676     * @type { number }
2677     * @readonly
2678     * @static
2679     * @syscap SystemCapability.Applications.ContactsData
2680     * @since 7
2681     */
2682    /**
2683     * Indicates an birthday event.
2684     *
2685     * @type { number }
2686     * @readonly
2687     * @static
2688     * @syscap SystemCapability.Applications.ContactsData
2689     * @atomicservice
2690     * @since 11
2691     */
2692    static readonly EVENT_BIRTHDAY: 3
2693
2694    /**
2695     * Indicates an invalid label ID.
2696     *
2697     * @type { number }
2698     * @readonly
2699     * @static
2700     * @syscap SystemCapability.Applications.ContactsData
2701     * @since 7
2702     */
2703    /**
2704     * Indicates an invalid label ID.
2705     *
2706     * @type { number }
2707     * @readonly
2708     * @static
2709     * @syscap SystemCapability.Applications.ContactsData
2710     * @atomicservice
2711     * @since 11
2712     */
2713    static readonly INVALID_LABEL_ID: -1
2714
2715    /**
2716     * Indicates the event date.
2717     *
2718     * @type { string }
2719     * @syscap SystemCapability.Applications.ContactsData
2720     * @since 7
2721     */
2722    /**
2723     * Indicates the event date.
2724     *
2725     * @type { string }
2726     * @syscap SystemCapability.Applications.ContactsData
2727     * @atomicservice
2728     * @since 11
2729     */
2730    eventDate: string
2731
2732    /**
2733     * Indicates the label name of an attribute.
2734     *
2735     * @type { ?string }
2736     * @syscap SystemCapability.Applications.ContactsData
2737     * @since 7
2738     */
2739    /**
2740     * Indicates the label name of an attribute.
2741     *
2742     * @type { ?string }
2743     * @syscap SystemCapability.Applications.ContactsData
2744     * @atomicservice
2745     * @since 11
2746     */
2747    labelName?: string
2748
2749    /**
2750     * Indicates the label id.
2751     *
2752     * @type { ?number }
2753     * @syscap SystemCapability.Applications.ContactsData
2754     * @since 7
2755     */
2756    /**
2757     * Indicates the label id.
2758     *
2759     * @type { ?number }
2760     * @syscap SystemCapability.Applications.ContactsData
2761     * @atomicservice
2762     * @since 11
2763     */
2764    labelId?: number
2765  }
2766
2767  /**
2768   * Provides methods for group information
2769   *
2770   * @syscap SystemCapability.Applications.ContactsData
2771   * @since 7
2772   */
2773  /**
2774   * Provides methods for group information
2775   *
2776   * @syscap SystemCapability.Applications.ContactsData
2777   * @atomicservice
2778   * @since 11
2779   */
2780  class Group {
2781    /**
2782     * Indicates the contact group ID.
2783     *
2784     * @type { ?number }
2785     * @syscap SystemCapability.Applications.ContactsData
2786     * @since 7
2787     */
2788    /**
2789     * Indicates the contact group ID.
2790     *
2791     * @type { ?number }
2792     * @syscap SystemCapability.Applications.ContactsData
2793     * @atomicservice
2794     * @since 11
2795     */
2796    groupId?: number
2797
2798    /**
2799     * Indicates the contact group title.
2800     *
2801     * @type { string }
2802     * @syscap SystemCapability.Applications.ContactsData
2803     * @since 7
2804     */
2805    /**
2806     * Indicates the contact group title.
2807     *
2808     * @type { string }
2809     * @syscap SystemCapability.Applications.ContactsData
2810     * @atomicservice
2811     * @since 11
2812     */
2813    title: string
2814  }
2815
2816  /**
2817   * Provides methods for holder information
2818   *
2819   * @syscap SystemCapability.Applications.ContactsData
2820   * @since 7
2821   */
2822  class Holder {
2823    /**
2824     * Indicates the bundle name of a contact holder.
2825     *
2826     * @type { string }
2827     * @readonly
2828     * @syscap SystemCapability.Applications.ContactsData
2829     * @since 7
2830     */
2831    readonly bundleName: string
2832
2833    /**
2834     * Indicates the displayed name of a contact holder.
2835     *
2836     * @type { ?string }
2837     * @readonly
2838     * @syscap SystemCapability.Applications.ContactsData
2839     * @since 7
2840     */
2841    readonly displayName?: string
2842
2843    /**
2844     * Indicates the holder ID.
2845     *
2846     * @type { ?number }
2847     * @syscap SystemCapability.Applications.ContactsData
2848     * @since 7
2849     */
2850    holderId?: number
2851  }
2852
2853  /**
2854   * Provides methods for ImAddress information
2855   *
2856   * @syscap SystemCapability.Applications.ContactsData
2857   * @since 7
2858   */
2859  /**
2860   * Provides methods for ImAddress information
2861   *
2862   * @syscap SystemCapability.Applications.ContactsData
2863   * @atomicservice
2864   * @since 11
2865   */
2866  class ImAddress {
2867    /**
2868     * Indicates a custom label.
2869     *
2870     * @type { number }
2871     * @readonly
2872     * @static
2873     * @syscap SystemCapability.Applications.ContactsData
2874     * @since 7
2875     */
2876    /**
2877     * Indicates a custom label.
2878     *
2879     * @type { number }
2880     * @readonly
2881     * @static
2882     * @syscap SystemCapability.Applications.ContactsData
2883     * @atomicservice
2884     * @since 11
2885     */
2886    static readonly CUSTOM_LABEL: -1
2887
2888    /**
2889     * Indicates an AIM instant message.
2890     *
2891     * @type { number }
2892     * @readonly
2893     * @static
2894     * @syscap SystemCapability.Applications.ContactsData
2895     * @since 7
2896     */
2897    /**
2898     * Indicates an AIM instant message.
2899     *
2900     * @type { number }
2901     * @readonly
2902     * @static
2903     * @syscap SystemCapability.Applications.ContactsData
2904     * @atomicservice
2905     * @since 11
2906     */
2907    static readonly IM_AIM: 0
2908
2909    /**
2910     * Indicates a Windows Live instant message.
2911     *
2912     * @type { number }
2913     * @readonly
2914     * @static
2915     * @syscap SystemCapability.Applications.ContactsData
2916     * @since 7
2917     */
2918    /**
2919     * Indicates a Windows Live instant message.
2920     *
2921     * @type { number }
2922     * @readonly
2923     * @static
2924     * @syscap SystemCapability.Applications.ContactsData
2925     * @atomicservice
2926     * @since 11
2927     */
2928    static readonly IM_MSN: 1
2929
2930    /**
2931     * Indicates a Yahoo instant message.
2932     *
2933     * @type { number }
2934     * @readonly
2935     * @static
2936     * @syscap SystemCapability.Applications.ContactsData
2937     * @since 7
2938     */
2939    /**
2940     * Indicates a Yahoo instant message.
2941     *
2942     * @type { number }
2943     * @readonly
2944     * @static
2945     * @syscap SystemCapability.Applications.ContactsData
2946     * @atomicservice
2947     * @since 11
2948     */
2949    static readonly IM_YAHOO: 2
2950
2951    /**
2952     * Indicates a Skype instant message.
2953     *
2954     * @type { number }
2955     * @readonly
2956     * @static
2957     * @syscap SystemCapability.Applications.ContactsData
2958     * @since 7
2959     */
2960    /**
2961     * Indicates a Skype instant message.
2962     *
2963     * @type { number }
2964     * @readonly
2965     * @static
2966     * @syscap SystemCapability.Applications.ContactsData
2967     * @atomicservice
2968     * @since 11
2969     */
2970    static readonly IM_SKYPE: 3
2971
2972    /**
2973     * Indicates a QQ instant message.
2974     *
2975     * @type { number }
2976     * @readonly
2977     * @static
2978     * @syscap SystemCapability.Applications.ContactsData
2979     * @since 7
2980     */
2981    /**
2982     * Indicates a QQ instant message.
2983     *
2984     * @type { number }
2985     * @readonly
2986     * @static
2987     * @syscap SystemCapability.Applications.ContactsData
2988     * @atomicservice
2989     * @since 11
2990     */
2991    static readonly IM_QQ: 4
2992
2993    /**
2994     * Indicates an ICQ instant message.
2995     *
2996     * @type { number }
2997     * @readonly
2998     * @static
2999     * @syscap SystemCapability.Applications.ContactsData
3000     * @since 7
3001     */
3002    /**
3003     * Indicates an ICQ instant message.
3004     *
3005     * @type { number }
3006     * @readonly
3007     * @static
3008     * @syscap SystemCapability.Applications.ContactsData
3009     * @atomicservice
3010     * @since 11
3011     */
3012    static readonly IM_ICQ: 6
3013
3014    /**
3015     * Indicates a Jabber instant message.
3016     *
3017     * @type { number }
3018     * @readonly
3019     * @static
3020     * @syscap SystemCapability.Applications.ContactsData
3021     * @since 7
3022     */
3023    /**
3024     * Indicates a Jabber instant message.
3025     *
3026     * @type { number }
3027     * @readonly
3028     * @static
3029     * @syscap SystemCapability.Applications.ContactsData
3030     * @atomicservice
3031     * @since 11
3032     */
3033    static readonly IM_JABBER: 7
3034
3035    /**
3036     * Indicates an invalid label ID.
3037     *
3038     * @type { number }
3039     * @readonly
3040     * @static
3041     * @syscap SystemCapability.Applications.ContactsData
3042     * @since 7
3043     */
3044    /**
3045     * Indicates an invalid label ID.
3046     *
3047     * @type { number }
3048     * @readonly
3049     * @static
3050     * @syscap SystemCapability.Applications.ContactsData
3051     * @atomicservice
3052     * @since 11
3053     */
3054    static readonly INVALID_LABEL_ID: -2
3055
3056    /**
3057     * Indicates the IM address.
3058     *
3059     * @type { string }
3060     * @syscap SystemCapability.Applications.ContactsData
3061     * @since 7
3062     */
3063    /**
3064     * Indicates the IM address.
3065     *
3066     * @type { string }
3067     * @syscap SystemCapability.Applications.ContactsData
3068     * @atomicservice
3069     * @since 11
3070     */
3071    imAddress: string
3072
3073    /**
3074     * Indicates the label name of an attribute.
3075     *
3076     * @type { ?string }
3077     * @syscap SystemCapability.Applications.ContactsData
3078     * @since 7
3079     */
3080    /**
3081     * Indicates the label name of an attribute.
3082     *
3083     * @type { ?string }
3084     * @syscap SystemCapability.Applications.ContactsData
3085     * @atomicservice
3086     * @since 11
3087     */
3088    labelName?: string
3089
3090    /**
3091     * Indicates the label id.
3092     *
3093     * @type { ?number }
3094     * @syscap SystemCapability.Applications.ContactsData
3095     * @since 7
3096     */
3097    /**
3098     * Indicates the label id.
3099     *
3100     * @type { ?number }
3101     * @syscap SystemCapability.Applications.ContactsData
3102     * @atomicservice
3103     * @since 11
3104     */
3105    labelId?: number
3106  }
3107
3108  /**
3109   * Provides methods for name information
3110   *
3111   * @syscap SystemCapability.Applications.ContactsData
3112   * @since 7
3113   */
3114  /**
3115   * Provides methods for name information
3116   *
3117   * @syscap SystemCapability.Applications.ContactsData
3118   * @atomicservice
3119   * @since 11
3120   */
3121  class Name {
3122    /**
3123     * Indicates the family name of the contact.
3124     *
3125     * @type { ?string }
3126     * @syscap SystemCapability.Applications.ContactsData
3127     * @since 7
3128     */
3129    /**
3130     * Indicates the family name of the contact.
3131     *
3132     * @type { ?string }
3133     * @syscap SystemCapability.Applications.ContactsData
3134     * @atomicservice
3135     * @since 11
3136     */
3137    familyName?: string
3138
3139    /**
3140     * Indicates the phonetic family name of the contact.
3141     *
3142     * @type { ?string }
3143     * @syscap SystemCapability.Applications.ContactsData
3144     * @since 7
3145     */
3146    /**
3147     * Indicates the phonetic family name of the contact.
3148     *
3149     * @type { ?string }
3150     * @syscap SystemCapability.Applications.ContactsData
3151     * @atomicservice
3152     * @since 11
3153     */
3154    familyNamePhonetic?: string
3155
3156    /**
3157     * Indicates the full name of the contact.
3158     *
3159     * @type { string }
3160     * @syscap SystemCapability.Applications.ContactsData
3161     * @since 7
3162     */
3163    /**
3164     * Indicates the full name of the contact.
3165     *
3166     * @type { string }
3167     * @syscap SystemCapability.Applications.ContactsData
3168     * @atomicservice
3169     * @since 11
3170     */
3171    fullName: string
3172
3173    /**
3174     * Indicates the given name of the contact.
3175     *
3176     * @type { ?string }
3177     * @syscap SystemCapability.Applications.ContactsData
3178     * @since 7
3179     */
3180    /**
3181     * Indicates the given name of the contact.
3182     *
3183     * @type { ?string }
3184     * @syscap SystemCapability.Applications.ContactsData
3185     * @atomicservice
3186     * @since 11
3187     */
3188    givenName?: string
3189
3190    /**
3191     * Indicates the phonetic given name of the contact.
3192     *
3193     * @type { ?string }
3194     * @syscap SystemCapability.Applications.ContactsData
3195     * @since 7
3196     */
3197    /**
3198     * Indicates the phonetic given name of the contact.
3199     *
3200     * @type { ?string }
3201     * @syscap SystemCapability.Applications.ContactsData
3202     * @atomicservice
3203     * @since 11
3204     */
3205    givenNamePhonetic?: string
3206
3207    /**
3208     * Indicates the middle name of the contact.
3209     *
3210     * @type { ?string }
3211     * @syscap SystemCapability.Applications.ContactsData
3212     * @since 7
3213     */
3214    /**
3215     * Indicates the middle name of the contact.
3216     *
3217     * @type { ?string }
3218     * @syscap SystemCapability.Applications.ContactsData
3219     * @atomicservice
3220     * @since 11
3221     */
3222    middleName?: string
3223
3224    /**
3225     * Indicates the phonetic middle name of the contact.
3226     *
3227     * @type { ?string }
3228     * @syscap SystemCapability.Applications.ContactsData
3229     * @since 7
3230     */
3231    /**
3232     * Indicates the phonetic middle name of the contact.
3233     *
3234     * @type { ?string }
3235     * @syscap SystemCapability.Applications.ContactsData
3236     * @atomicservice
3237     * @since 11
3238     */
3239    middleNamePhonetic?: string
3240
3241    /**
3242     * Indicates the prefix of the contact name.
3243     *
3244     * @type { ?string }
3245     * @syscap SystemCapability.Applications.ContactsData
3246     * @since 7
3247     */
3248    /**
3249     * Indicates the prefix of the contact name.
3250     *
3251     * @type { ?string }
3252     * @syscap SystemCapability.Applications.ContactsData
3253     * @atomicservice
3254     * @since 11
3255     */
3256    namePrefix?: string
3257
3258    /**
3259     * Indicates the suffix of this contact name.
3260     *
3261     * @type { ?string }
3262     * @syscap SystemCapability.Applications.ContactsData
3263     * @since 7
3264     */
3265    /**
3266     * Indicates the suffix of this contact name.
3267     *
3268     * @type { ?string }
3269     * @syscap SystemCapability.Applications.ContactsData
3270     * @atomicservice
3271     * @since 11
3272     */
3273    nameSuffix?: string
3274  }
3275
3276  /**
3277   * Provides methods for nick name information
3278   *
3279   * @syscap SystemCapability.Applications.ContactsData
3280   * @since 7
3281   */
3282  /**
3283   * Provides methods for nick name information
3284   *
3285   * @syscap SystemCapability.Applications.ContactsData
3286   * @atomicservice
3287   * @since 11
3288   */
3289  class NickName {
3290    /**
3291     * Indicates the nickname of the contact.
3292     *
3293     * @type { string }
3294     * @syscap SystemCapability.Applications.ContactsData
3295     * @since 7
3296     */
3297    /**
3298     * Indicates the nickname of the contact.
3299     *
3300     * @type { string }
3301     * @syscap SystemCapability.Applications.ContactsData
3302     * @atomicservice
3303     * @since 11
3304     */
3305    nickName: string
3306  }
3307
3308  /**
3309   * Provides methods for note information
3310   *
3311   * @syscap SystemCapability.Applications.ContactsData
3312   * @since 7
3313   */
3314  /**
3315   * Provides methods for note information
3316   *
3317   * @syscap SystemCapability.Applications.ContactsData
3318   * @atomicservice
3319   * @since 11
3320   */
3321  class Note {
3322    /**
3323     * Indicates the note content.
3324     *
3325     * @type { string }
3326     * @syscap SystemCapability.Applications.ContactsData
3327     * @since 7
3328     */
3329    /**
3330     * Indicates the note content.
3331     *
3332     * @type { string }
3333     * @syscap SystemCapability.Applications.ContactsData
3334     * @atomicservice
3335     * @since 11
3336     */
3337    noteContent: string
3338  }
3339
3340  /**
3341   * Provides methods for organization information
3342   *
3343   * @syscap SystemCapability.Applications.ContactsData
3344   * @since 7
3345   */
3346  /**
3347   * Provides methods for organization information
3348   *
3349   * @syscap SystemCapability.Applications.ContactsData
3350   * @atomicservice
3351   * @since 11
3352   */
3353  class Organization {
3354    /**
3355     * Indicates the name of the organization to which the contact belongs.
3356     *
3357     * @type { string }
3358     * @syscap SystemCapability.Applications.ContactsData
3359     * @since 7
3360     */
3361    /**
3362     * Indicates the name of the organization to which the contact belongs.
3363     *
3364     * @type { string }
3365     * @syscap SystemCapability.Applications.ContactsData
3366     * @atomicservice
3367     * @since 11
3368     */
3369    name: string
3370
3371    /**
3372     * Indicates the title of the organization.
3373     *
3374     * @type { ?string }
3375     * @syscap SystemCapability.Applications.ContactsData
3376     * @since 7
3377     */
3378    /**
3379     * Indicates the title of the organization.
3380     *
3381     * @type { ?string }
3382     * @syscap SystemCapability.Applications.ContactsData
3383     * @atomicservice
3384     * @since 11
3385     */
3386    title?: string
3387  }
3388
3389  /**
3390   * Provides methods for phone number information
3391   *
3392   * @syscap SystemCapability.Applications.ContactsData
3393   * @since 7
3394   */
3395  /**
3396   * Provides methods for phone number information
3397   *
3398   * @syscap SystemCapability.Applications.ContactsData
3399   * @atomicservice
3400   * @since 11
3401   */
3402  class PhoneNumber {
3403    /**
3404     * Indicates a custom label.
3405     *
3406     * @type { number }
3407     * @readonly
3408     * @static
3409     * @syscap SystemCapability.Applications.ContactsData
3410     * @since 7
3411     */
3412    /**
3413     * Indicates a custom label.
3414     *
3415     * @type { number }
3416     * @readonly
3417     * @static
3418     * @syscap SystemCapability.Applications.ContactsData
3419     * @atomicservice
3420     * @since 11
3421     */
3422    static readonly CUSTOM_LABEL: 0
3423
3424    /**
3425     * Indicates a home number.
3426     *
3427     * @type { number }
3428     * @readonly
3429     * @static
3430     * @syscap SystemCapability.Applications.ContactsData
3431     * @since 7
3432     */
3433    /**
3434     * Indicates a home number.
3435     *
3436     * @type { number }
3437     * @readonly
3438     * @static
3439     * @syscap SystemCapability.Applications.ContactsData
3440     * @atomicservice
3441     * @since 11
3442     */
3443    static readonly NUM_HOME: 1
3444
3445    /**
3446     * Indicates a mobile phone number.
3447     *
3448     * @type { number }
3449     * @readonly
3450     * @static
3451     * @syscap SystemCapability.Applications.ContactsData
3452     * @since 7
3453     */
3454    /**
3455     * Indicates a mobile phone number.
3456     *
3457     * @type { number }
3458     * @readonly
3459     * @static
3460     * @syscap SystemCapability.Applications.ContactsData
3461     * @atomicservice
3462     * @since 11
3463     */
3464    static readonly NUM_MOBILE: 2
3465
3466    /**
3467     * Indicates a work number.
3468     *
3469     * @type { number }
3470     * @readonly
3471     * @static
3472     * @syscap SystemCapability.Applications.ContactsData
3473     * @since 7
3474     */
3475    /**
3476     * Indicates a work number.
3477     *
3478     * @type { number }
3479     * @readonly
3480     * @static
3481     * @syscap SystemCapability.Applications.ContactsData
3482     * @atomicservice
3483     * @since 11
3484     */
3485    static readonly NUM_WORK: 3
3486
3487    /**
3488     * Indicates a work fax number.
3489     *
3490     * @type { number }
3491     * @readonly
3492     * @static
3493     * @syscap SystemCapability.Applications.ContactsData
3494     * @since 7
3495     */
3496    /**
3497     * Indicates a work fax number.
3498     *
3499     * @type { number }
3500     * @readonly
3501     * @static
3502     * @syscap SystemCapability.Applications.ContactsData
3503     * @atomicservice
3504     * @since 11
3505     */
3506    static readonly NUM_FAX_WORK: 4
3507
3508    /**
3509     * Indicates a home fax number.
3510     *
3511     * @type { number }
3512     * @readonly
3513     * @static
3514     * @syscap SystemCapability.Applications.ContactsData
3515     * @since 7
3516     */
3517    /**
3518     * Indicates a home fax number.
3519     *
3520     * @type { number }
3521     * @readonly
3522     * @static
3523     * @syscap SystemCapability.Applications.ContactsData
3524     * @atomicservice
3525     * @since 11
3526     */
3527    static readonly NUM_FAX_HOME: 5
3528
3529    /**
3530     * Indicates a pager number.
3531     *
3532     * @type { number }
3533     * @readonly
3534     * @static
3535     * @syscap SystemCapability.Applications.ContactsData
3536     * @since 7
3537     */
3538    /**
3539     * Indicates a pager number.
3540     *
3541     * @type { number }
3542     * @readonly
3543     * @static
3544     * @syscap SystemCapability.Applications.ContactsData
3545     * @atomicservice
3546     * @since 11
3547     */
3548    static readonly NUM_PAGER: 6
3549
3550    /**
3551     * Indicates a number of the OTHER type.
3552     *
3553     * @type { number }
3554     * @readonly
3555     * @static
3556     * @syscap SystemCapability.Applications.ContactsData
3557     * @since 7
3558     */
3559    /**
3560     * Indicates a number of the OTHER type.
3561     *
3562     * @type { number }
3563     * @readonly
3564     * @static
3565     * @syscap SystemCapability.Applications.ContactsData
3566     * @atomicservice
3567     * @since 11
3568     */
3569    static readonly NUM_OTHER: 7
3570
3571    /**
3572     * Indicates a callback number.
3573     *
3574     * @type { number }
3575     * @readonly
3576     * @static
3577     * @syscap SystemCapability.Applications.ContactsData
3578     * @since 7
3579     */
3580    /**
3581     * Indicates a callback number.
3582     *
3583     * @type { number }
3584     * @readonly
3585     * @static
3586     * @syscap SystemCapability.Applications.ContactsData
3587     * @atomicservice
3588     * @since 11
3589     */
3590    static readonly NUM_CALLBACK: 8
3591
3592    /**
3593     * Indicates a car number.
3594     *
3595     * @type { number }
3596     * @readonly
3597     * @static
3598     * @syscap SystemCapability.Applications.ContactsData
3599     * @since 7
3600     */
3601    /**
3602     * Indicates a car number.
3603     *
3604     * @type { number }
3605     * @readonly
3606     * @static
3607     * @syscap SystemCapability.Applications.ContactsData
3608     * @atomicservice
3609     * @since 11
3610     */
3611    static readonly NUM_CAR: 9
3612
3613    /**
3614     * Indicates a company director number.
3615     *
3616     * @type { number }
3617     * @readonly
3618     * @static
3619     * @syscap SystemCapability.Applications.ContactsData
3620     * @since 7
3621     */
3622    /**
3623     * Indicates a company director number.
3624     *
3625     * @type { number }
3626     * @readonly
3627     * @static
3628     * @syscap SystemCapability.Applications.ContactsData
3629     * @atomicservice
3630     * @since 11
3631     */
3632    static readonly NUM_COMPANY_MAIN: 10
3633
3634    /**
3635     * Indicates an Integrated Services Digital Network (ISDN) number.
3636     *
3637     * @type { number }
3638     * @readonly
3639     * @static
3640     * @syscap SystemCapability.Applications.ContactsData
3641     * @since 7
3642     */
3643    /**
3644     * Indicates an Integrated Services Digital Network (ISDN) number.
3645     *
3646     * @type { number }
3647     * @readonly
3648     * @static
3649     * @syscap SystemCapability.Applications.ContactsData
3650     * @atomicservice
3651     * @since 11
3652     */
3653    static readonly NUM_ISDN: 11
3654
3655    /**
3656     * Indicates a main number.
3657     *
3658     * @type { number }
3659     * @readonly
3660     * @static
3661     * @syscap SystemCapability.Applications.ContactsData
3662     * @since 7
3663     */
3664    /**
3665     * Indicates a main number.
3666     *
3667     * @type { number }
3668     * @readonly
3669     * @static
3670     * @syscap SystemCapability.Applications.ContactsData
3671     * @atomicservice
3672     * @since 11
3673     */
3674    static readonly NUM_MAIN: 12
3675
3676    /**
3677     * Indicates a number of the OTHER_FAX type.
3678     *
3679     * @type { number }
3680     * @readonly
3681     * @static
3682     * @syscap SystemCapability.Applications.ContactsData
3683     * @since 7
3684     */
3685    /**
3686     * Indicates a number of the OTHER_FAX type.
3687     *
3688     * @type { number }
3689     * @readonly
3690     * @static
3691     * @syscap SystemCapability.Applications.ContactsData
3692     * @atomicservice
3693     * @since 11
3694     */
3695    static readonly NUM_OTHER_FAX: 13
3696
3697    /**
3698     * Indicates a radio number.
3699     *
3700     * @type { number }
3701     * @readonly
3702     * @static
3703     * @syscap SystemCapability.Applications.ContactsData
3704     * @since 7
3705     */
3706    /**
3707     * Indicates a radio number.
3708     *
3709     * @type { number }
3710     * @readonly
3711     * @static
3712     * @syscap SystemCapability.Applications.ContactsData
3713     * @atomicservice
3714     * @since 11
3715     */
3716    static readonly NUM_RADIO: 14
3717
3718    /**
3719     * Indicates a telex number.
3720     *
3721     * @type { number }
3722     * @readonly
3723     * @static
3724     * @syscap SystemCapability.Applications.ContactsData
3725     * @since 7
3726     */
3727    /**
3728     * Indicates a telex number.
3729     *
3730     * @type { number }
3731     * @readonly
3732     * @static
3733     * @syscap SystemCapability.Applications.ContactsData
3734     * @atomicservice
3735     * @since 11
3736     */
3737    static readonly NUM_TELEX: 15
3738
3739    /**
3740     * Indicates a teletypewriter (TTY) or test-driven development (TDD) number.
3741     *
3742     * @type { number }
3743     * @readonly
3744     * @static
3745     * @syscap SystemCapability.Applications.ContactsData
3746     * @since 7
3747     */
3748    /**
3749     * Indicates a teletypewriter (TTY) or test-driven development (TDD) number.
3750     *
3751     * @type { number }
3752     * @readonly
3753     * @static
3754     * @syscap SystemCapability.Applications.ContactsData
3755     * @atomicservice
3756     * @since 11
3757     */
3758    static readonly NUM_TTY_TDD: 16
3759
3760    /**
3761     * Indicates a work mobile phone number.
3762     *
3763     * @type { number }
3764     * @readonly
3765     * @static
3766     * @syscap SystemCapability.Applications.ContactsData
3767     * @since 7
3768     */
3769    /**
3770     * Indicates a work mobile phone number.
3771     *
3772     * @type { number }
3773     * @readonly
3774     * @static
3775     * @syscap SystemCapability.Applications.ContactsData
3776     * @atomicservice
3777     * @since 11
3778     */
3779    static readonly NUM_WORK_MOBILE: 17
3780
3781    /**
3782     * Indicates a work pager number.
3783     *
3784     * @type { number }
3785     * @readonly
3786     * @static
3787     * @syscap SystemCapability.Applications.ContactsData
3788     * @since 7
3789     */
3790    /**
3791     * Indicates a work pager number.
3792     *
3793     * @type { number }
3794     * @readonly
3795     * @static
3796     * @syscap SystemCapability.Applications.ContactsData
3797     * @atomicservice
3798     * @since 11
3799     */
3800    static readonly NUM_WORK_PAGER: 18
3801
3802    /**
3803     * Indicates an assistant number.
3804     *
3805     * @type { number }
3806     * @readonly
3807     * @static
3808     * @syscap SystemCapability.Applications.ContactsData
3809     * @since 7
3810     */
3811    /**
3812     * Indicates an assistant number.
3813     *
3814     * @type { number }
3815     * @readonly
3816     * @static
3817     * @syscap SystemCapability.Applications.ContactsData
3818     * @atomicservice
3819     * @since 11
3820     */
3821    static readonly NUM_ASSISTANT: 19
3822
3823    /**
3824     * Indicates an MMS number.
3825     *
3826     * @type { number }
3827     * @readonly
3828     * @static
3829     * @syscap SystemCapability.Applications.ContactsData
3830     * @since 7
3831     */
3832    /**
3833     * Indicates an MMS number.
3834     *
3835     * @type { number }
3836     * @readonly
3837     * @static
3838     * @syscap SystemCapability.Applications.ContactsData
3839     * @atomicservice
3840     * @since 11
3841     */
3842    static readonly NUM_MMS: 20
3843
3844    /**
3845     * Indicates an invalid label ID.
3846     *
3847     * @type { number }
3848     * @readonly
3849     * @static
3850     * @syscap SystemCapability.Applications.ContactsData
3851     * @since 7
3852     */
3853    /**
3854     * Indicates an invalid label ID.
3855     *
3856     * @type { number }
3857     * @readonly
3858     * @static
3859     * @syscap SystemCapability.Applications.ContactsData
3860     * @atomicservice
3861     * @since 11
3862     */
3863    static readonly INVALID_LABEL_ID: -1
3864
3865    /**
3866     * Indicates the label name of an attribute.
3867     *
3868     * @type { ?string }
3869     * @syscap SystemCapability.Applications.ContactsData
3870     * @since 7
3871     */
3872    /**
3873     * Indicates the label name of an attribute.
3874     *
3875     * @type { ?string }
3876     * @syscap SystemCapability.Applications.ContactsData
3877     * @atomicservice
3878     * @since 11
3879     */
3880    labelName?: string
3881
3882    /**
3883     * Indicates the phone number of the contact.
3884     *
3885     * @type { string }
3886     * @syscap SystemCapability.Applications.ContactsData
3887     * @since 7
3888     */
3889    /**
3890     * Indicates the phone number of the contact.
3891     *
3892     * @type { string }
3893     * @syscap SystemCapability.Applications.ContactsData
3894     * @atomicservice
3895     * @since 11
3896     */
3897    phoneNumber: string
3898
3899    /**
3900     * Indicates the label id.
3901     *
3902     * @type { ?number }
3903     * @syscap SystemCapability.Applications.ContactsData
3904     * @since 7
3905     */
3906    /**
3907     * Indicates the label id.
3908     *
3909     * @type { ?number }
3910     * @syscap SystemCapability.Applications.ContactsData
3911     * @atomicservice
3912     * @since 11
3913     */
3914    labelId?: number
3915  }
3916
3917  /**
3918   * Provides methods for portrait information
3919   *
3920   * @syscap SystemCapability.Applications.ContactsData
3921   * @since 7
3922   */
3923  /**
3924   * Provides methods for portrait information
3925   *
3926   * @syscap SystemCapability.Applications.ContactsData
3927   * @atomicservice
3928   * @since 11
3929   */
3930  class Portrait {
3931    /**
3932     * Indicates the uri of the contact portrait.
3933     *
3934     * @type { string }
3935     * @syscap SystemCapability.Applications.ContactsData
3936     * @since 7
3937     */
3938    /**
3939     * Indicates the uri of the contact portrait.
3940     *
3941     * @type { string }
3942     * @syscap SystemCapability.Applications.ContactsData
3943     * @atomicservice
3944     * @since 11
3945     */
3946    uri: string
3947  }
3948
3949  /**
3950   * Provides methods for postal address information
3951   *
3952   * @syscap SystemCapability.Applications.ContactsData
3953   * @since 7
3954   */
3955  /**
3956   * Provides methods for postal address information
3957   *
3958   * @syscap SystemCapability.Applications.ContactsData
3959   * @atomicservice
3960   * @since 11
3961   */
3962  class PostalAddress {
3963    /**
3964     * Indicates a custom label.
3965     *
3966     * @type { number }
3967     * @readonly
3968     * @static
3969     * @syscap SystemCapability.Applications.ContactsData
3970     * @since 7
3971     */
3972    /**
3973     * Indicates a custom label.
3974     *
3975     * @type { number }
3976     * @readonly
3977     * @static
3978     * @syscap SystemCapability.Applications.ContactsData
3979     * @atomicservice
3980     * @since 11
3981     */
3982    static readonly CUSTOM_LABEL: 0
3983
3984    /**
3985     * Indicates a home address.
3986     *
3987     * @type { number }
3988     * @readonly
3989     * @static
3990     * @syscap SystemCapability.Applications.ContactsData
3991     * @since 7
3992     */
3993    /**
3994     * Indicates a home address.
3995     *
3996     * @type { number }
3997     * @readonly
3998     * @static
3999     * @syscap SystemCapability.Applications.ContactsData
4000     * @atomicservice
4001     * @since 11
4002     */
4003    static readonly ADDR_HOME: 1
4004
4005    /**
4006     * Indicates a work address.
4007     *
4008     * @type { number }
4009     * @readonly
4010     * @static
4011     * @syscap SystemCapability.Applications.ContactsData
4012     * @since 7
4013     */
4014    /**
4015     * Indicates a work address.
4016     *
4017     * @type { number }
4018     * @readonly
4019     * @static
4020     * @syscap SystemCapability.Applications.ContactsData
4021     * @atomicservice
4022     * @since 11
4023     */
4024    static readonly ADDR_WORK: 2
4025
4026    /**
4027     * Indicates an address of the OTHER type.
4028     *
4029     * @type { number }
4030     * @readonly
4031     * @static
4032     * @syscap SystemCapability.Applications.ContactsData
4033     * @since 7
4034     */
4035    /**
4036     * Indicates an address of the OTHER type.
4037     *
4038     * @type { number }
4039     * @readonly
4040     * @static
4041     * @syscap SystemCapability.Applications.ContactsData
4042     * @atomicservice
4043     * @since 11
4044     */
4045    static readonly ADDR_OTHER: 3
4046
4047    /**
4048     * Indicates an invalid label ID.
4049     *
4050     * @type { number }
4051     * @readonly
4052     * @static
4053     * @syscap SystemCapability.Applications.ContactsData
4054     * @since 7
4055     */
4056    /**
4057     * Indicates an invalid label ID.
4058     *
4059     * @type { number }
4060     * @readonly
4061     * @static
4062     * @syscap SystemCapability.Applications.ContactsData
4063     * @atomicservice
4064     * @since 11
4065     */
4066    static readonly INVALID_LABEL_ID: -1
4067
4068    /**
4069     * Indicates the city where this contact is located.
4070     *
4071     * @type { ?string }
4072     * @syscap SystemCapability.Applications.ContactsData
4073     * @since 7
4074     */
4075    /**
4076     * Indicates the city where this contact is located.
4077     *
4078     * @type { ?string }
4079     * @syscap SystemCapability.Applications.ContactsData
4080     * @atomicservice
4081     * @since 11
4082     */
4083    city?: string
4084
4085    /**
4086     * Indicates the country/region where this contact is located.
4087     *
4088     * @type { ?string }
4089     * @syscap SystemCapability.Applications.ContactsData
4090     * @since 7
4091     */
4092    /**
4093     * Indicates the country/region where this contact is located.
4094     *
4095     * @type { ?string }
4096     * @syscap SystemCapability.Applications.ContactsData
4097     * @atomicservice
4098     * @since 11
4099     */
4100    country?: string
4101
4102    /**
4103     * Indicates the label name of an attribute.
4104     *
4105     * @type { ?string }
4106     * @syscap SystemCapability.Applications.ContactsData
4107     * @since 7
4108     */
4109    /**
4110     * Indicates the label name of an attribute.
4111     *
4112     * @type { ?string }
4113     * @syscap SystemCapability.Applications.ContactsData
4114     * @atomicservice
4115     * @since 11
4116     */
4117    labelName?: string
4118
4119    /**
4120     * Indicates the neighborhood where this contact is located.
4121     *
4122     * @type { ?string }
4123     * @syscap SystemCapability.Applications.ContactsData
4124     * @since 7
4125     */
4126    /**
4127     * Indicates the neighborhood where this contact is located.
4128     *
4129     * @type { ?string }
4130     * @syscap SystemCapability.Applications.ContactsData
4131     * @atomicservice
4132     * @since 11
4133     */
4134    neighborhood?: string
4135
4136    /**
4137     * Indicates the post box of this contact.
4138     *
4139     * @type { ?string }
4140     * @syscap SystemCapability.Applications.ContactsData
4141     * @since 7
4142     */
4143    /**
4144     * Indicates the post box of this contact.
4145     *
4146     * @type { ?string }
4147     * @syscap SystemCapability.Applications.ContactsData
4148     * @atomicservice
4149     * @since 11
4150     */
4151    pobox?: string
4152
4153    /**
4154     * Indicates the postal address of this contact.
4155     *
4156     * @type { string }
4157     * @syscap SystemCapability.Applications.ContactsData
4158     * @since 7
4159     */
4160    /**
4161     * Indicates the postal address of this contact.
4162     *
4163     * @type { string }
4164     * @syscap SystemCapability.Applications.ContactsData
4165     * @atomicservice
4166     * @since 11
4167     */
4168    postalAddress: string
4169
4170    /**
4171     * Indicates the postal code of this contact.
4172     *
4173     * @type { ?string }
4174     * @syscap SystemCapability.Applications.ContactsData
4175     * @since 7
4176     */
4177    /**
4178     * Indicates the postal code of this contact.
4179     *
4180     * @type { ?string }
4181     * @syscap SystemCapability.Applications.ContactsData
4182     * @atomicservice
4183     * @since 11
4184     */
4185    postcode?: string
4186
4187    /**
4188     * Indicates the area where this contact is located.
4189     *
4190     * @type { ?string }
4191     * @syscap SystemCapability.Applications.ContactsData
4192     * @since 7
4193     */
4194    /**
4195     * Indicates the area where this contact is located.
4196     *
4197     * @type { ?string }
4198     * @syscap SystemCapability.Applications.ContactsData
4199     * @atomicservice
4200     * @since 11
4201     */
4202    region?: string
4203
4204    /**
4205     * Indicates the street where this contact is located.
4206     *
4207     * @type { ?string }
4208     * @syscap SystemCapability.Applications.ContactsData
4209     * @since 7
4210     */
4211    /**
4212     * Indicates the street where this contact is located.
4213     *
4214     * @type { ?string }
4215     * @syscap SystemCapability.Applications.ContactsData
4216     * @atomicservice
4217     * @since 11
4218     */
4219    street?: string
4220
4221    /**
4222     * Indicates the label id.
4223     *
4224     * @type { ?number }
4225     * @syscap SystemCapability.Applications.ContactsData
4226     * @since 7
4227     */
4228    /**
4229     * Indicates the label id.
4230     *
4231     * @type { ?number }
4232     * @syscap SystemCapability.Applications.ContactsData
4233     * @atomicservice
4234     * @since 11
4235     */
4236    labelId?: number
4237  }
4238
4239  /**
4240   * Provides methods for relation information
4241   *
4242   * @syscap SystemCapability.Applications.ContactsData
4243   * @since 7
4244   */
4245  /**
4246   * Provides methods for relation information
4247   *
4248   * @syscap SystemCapability.Applications.ContactsData
4249   * @atomicservice
4250   * @since 11
4251   */
4252  class Relation {
4253    /**
4254     * Indicates custom relationship type.
4255     *
4256     * @type { number }
4257     * @readonly
4258     * @static
4259     * @syscap SystemCapability.Applications.ContactsData
4260     * @since 7
4261     */
4262    /**
4263     * Indicates custom relationship type.
4264     *
4265     * @type { number }
4266     * @readonly
4267     * @static
4268     * @syscap SystemCapability.Applications.ContactsData
4269     * @atomicservice
4270     * @since 11
4271     */
4272    static readonly CUSTOM_LABEL: 0
4273
4274    /**
4275     * Indicates assistant relationship type.
4276     *
4277     * @type { number }
4278     * @readonly
4279     * @static
4280     * @syscap SystemCapability.Applications.ContactsData
4281     * @since 7
4282     */
4283    /**
4284     * Indicates assistant relationship type.
4285     *
4286     * @type { number }
4287     * @readonly
4288     * @static
4289     * @syscap SystemCapability.Applications.ContactsData
4290     * @atomicservice
4291     * @since 11
4292     */
4293    static readonly RELATION_ASSISTANT: 1
4294
4295    /**
4296     * Indicates brother relationship type.
4297     *
4298     * @type { number }
4299     * @readonly
4300     * @static
4301     * @syscap SystemCapability.Applications.ContactsData
4302     * @since 7
4303     */
4304    /**
4305     * Indicates brother relationship type.
4306     *
4307     * @type { number }
4308     * @readonly
4309     * @static
4310     * @syscap SystemCapability.Applications.ContactsData
4311     * @atomicservice
4312     * @since 11
4313     */
4314    static readonly RELATION_BROTHER: 2
4315
4316    /**
4317     * Indicates child relationship type.
4318     *
4319     * @type { number }
4320     * @readonly
4321     * @static
4322     * @syscap SystemCapability.Applications.ContactsData
4323     * @since 7
4324     */
4325    /**
4326     * Indicates child relationship type.
4327     *
4328     * @type { number }
4329     * @readonly
4330     * @static
4331     * @syscap SystemCapability.Applications.ContactsData
4332     * @atomicservice
4333     * @since 11
4334     */
4335    static readonly RELATION_CHILD: 3
4336
4337    /**
4338     * Indicates domestic partner relationship type.
4339     *
4340     * @type { number }
4341     * @readonly
4342     * @static
4343     * @syscap SystemCapability.Applications.ContactsData
4344     * @since 7
4345     */
4346    /**
4347     * Indicates domestic partner relationship type.
4348     *
4349     * @type { number }
4350     * @readonly
4351     * @static
4352     * @syscap SystemCapability.Applications.ContactsData
4353     * @atomicservice
4354     * @since 11
4355     */
4356    static readonly RELATION_DOMESTIC_PARTNER: 4
4357
4358    /**
4359     * Indicates father relationship type.
4360     *
4361     * @type { number }
4362     * @readonly
4363     * @static
4364     * @syscap SystemCapability.Applications.ContactsData
4365     * @since 7
4366     */
4367    /**
4368     * Indicates father relationship type.
4369     *
4370     * @type { number }
4371     * @readonly
4372     * @static
4373     * @syscap SystemCapability.Applications.ContactsData
4374     * @atomicservice
4375     * @since 11
4376     */
4377    static readonly RELATION_FATHER: 5
4378
4379    /**
4380     * Indicates friend relationship type.
4381     *
4382     * @type { number }
4383     * @readonly
4384     * @static
4385     * @syscap SystemCapability.Applications.ContactsData
4386     * @since 7
4387     */
4388    /**
4389     * Indicates friend relationship type.
4390     *
4391     * @type { number }
4392     * @readonly
4393     * @static
4394     * @syscap SystemCapability.Applications.ContactsData
4395     * @atomicservice
4396     * @since 11
4397     */
4398    static readonly RELATION_FRIEND: 6
4399
4400    /**
4401     * Indicates manager relationship type.
4402     *
4403     * @type { number }
4404     * @readonly
4405     * @static
4406     * @syscap SystemCapability.Applications.ContactsData
4407     * @since 7
4408     */
4409    /**
4410     * Indicates manager relationship type.
4411     *
4412     * @type { number }
4413     * @readonly
4414     * @static
4415     * @syscap SystemCapability.Applications.ContactsData
4416     * @atomicservice
4417     * @since 11
4418     */
4419    static readonly RELATION_MANAGER: 7
4420
4421    /**
4422     * Indicates mother relationship type.
4423     *
4424     * @type { number }
4425     * @readonly
4426     * @static
4427     * @syscap SystemCapability.Applications.ContactsData
4428     * @since 7
4429     */
4430    /**
4431     * Indicates mother relationship type.
4432     *
4433     * @type { number }
4434     * @readonly
4435     * @static
4436     * @syscap SystemCapability.Applications.ContactsData
4437     * @atomicservice
4438     * @since 11
4439     */
4440    static readonly RELATION_MOTHER: 8
4441
4442    /**
4443     * Indicates parent relationship type.
4444     *
4445     * @type { number }
4446     * @readonly
4447     * @static
4448     * @syscap SystemCapability.Applications.ContactsData
4449     * @since 7
4450     */
4451    /**
4452     * Indicates parent relationship type.
4453     *
4454     * @type { number }
4455     * @readonly
4456     * @static
4457     * @syscap SystemCapability.Applications.ContactsData
4458     * @atomicservice
4459     * @since 11
4460     */
4461    static readonly RELATION_PARENT: 9
4462
4463    /**
4464     * Indicates partner relationship type.
4465     *
4466     * @type { number }
4467     * @readonly
4468     * @static
4469     * @syscap SystemCapability.Applications.ContactsData
4470     * @since 7
4471     */
4472    /**
4473     * Indicates partner relationship type.
4474     *
4475     * @type { number }
4476     * @readonly
4477     * @static
4478     * @syscap SystemCapability.Applications.ContactsData
4479     * @atomicservice
4480     * @since 11
4481     */
4482    static readonly RELATION_PARTNER: 10
4483
4484    /**
4485     * Indicates referrer relationship type.
4486     *
4487     * @type { number }
4488     * @readonly
4489     * @static
4490     * @syscap SystemCapability.Applications.ContactsData
4491     * @since 7
4492     */
4493    /**
4494     * Indicates referrer relationship type.
4495     *
4496     * @type { number }
4497     * @readonly
4498     * @static
4499     * @syscap SystemCapability.Applications.ContactsData
4500     * @atomicservice
4501     * @since 11
4502     */
4503    static readonly RELATION_REFERRED_BY: 11
4504
4505    /**
4506     * Indicates relative relationship type.
4507     *
4508     * @type { number }
4509     * @readonly
4510     * @static
4511     * @syscap SystemCapability.Applications.ContactsData
4512     * @since 7
4513     */
4514    /**
4515     * Indicates relative relationship type.
4516     *
4517     * @type { number }
4518     * @readonly
4519     * @static
4520     * @syscap SystemCapability.Applications.ContactsData
4521     * @atomicservice
4522     * @since 11
4523     */
4524    static readonly RELATION_RELATIVE: 12
4525
4526    /**
4527     * Indicates sister relationship type.
4528     *
4529     * @type { number }
4530     * @readonly
4531     * @static
4532     * @syscap SystemCapability.Applications.ContactsData
4533     * @since 7
4534     */
4535    /**
4536     * Indicates sister relationship type.
4537     *
4538     * @type { number }
4539     * @readonly
4540     * @static
4541     * @syscap SystemCapability.Applications.ContactsData
4542     * @atomicservice
4543     * @since 11
4544     */
4545    static readonly RELATION_SISTER: 13
4546
4547    /**
4548     * Indicates spouse relationship type.
4549     *
4550     * @type { number }
4551     * @readonly
4552     * @static
4553     * @syscap SystemCapability.Applications.ContactsData
4554     * @since 7
4555     */
4556    /**
4557     * Indicates spouse relationship type.
4558     *
4559     * @type { number }
4560     * @readonly
4561     * @static
4562     * @syscap SystemCapability.Applications.ContactsData
4563     * @atomicservice
4564     * @since 11
4565     */
4566    static readonly RELATION_SPOUSE: 14
4567
4568    /**
4569     * Indicates invalid relationship type.
4570     *
4571     * @type { number }
4572     * @readonly
4573     * @static
4574     * @syscap SystemCapability.Applications.ContactsData
4575     * @since 7
4576     */
4577    /**
4578     * Indicates invalid relationship type.
4579     *
4580     * @type { number }
4581     * @readonly
4582     * @static
4583     * @syscap SystemCapability.Applications.ContactsData
4584     * @atomicservice
4585     * @since 11
4586     */
4587    static readonly INVALID_LABEL_ID: -1
4588
4589    /**
4590     * Indicates the label name of an attribute.
4591     *
4592     * @type { ?string }
4593     * @syscap SystemCapability.Applications.ContactsData
4594     * @since 7
4595     */
4596    /**
4597     * Indicates the label name of an attribute.
4598     *
4599     * @type { ?string }
4600     * @syscap SystemCapability.Applications.ContactsData
4601     * @atomicservice
4602     * @since 11
4603     */
4604    labelName?: string
4605
4606    /**
4607     * Indicates the relation name.
4608     *
4609     * @type { string }
4610     * @syscap SystemCapability.Applications.ContactsData
4611     * @since 7
4612     */
4613    /**
4614     * Indicates the relation name.
4615     *
4616     * @type { string }
4617     * @syscap SystemCapability.Applications.ContactsData
4618     * @atomicservice
4619     * @since 11
4620     */
4621    relationName: string
4622
4623    /**
4624     * Indicates the label id.
4625     *
4626     * @type { ?number }
4627     * @syscap SystemCapability.Applications.ContactsData
4628     * @since 7
4629     */
4630    /**
4631     * Indicates the label id.
4632     *
4633     * @type { ?number }
4634     * @syscap SystemCapability.Applications.ContactsData
4635     * @atomicservice
4636     * @since 11
4637     */
4638    labelId?: number
4639  }
4640
4641  /**
4642   * Provides methods for sip address information
4643   *
4644   * @syscap SystemCapability.Applications.ContactsData
4645   * @since 7
4646   */
4647  /**
4648   * Provides methods for sip address information
4649   *
4650   * @syscap SystemCapability.Applications.ContactsData
4651   * @atomicservice
4652   * @since 11
4653   */
4654  class SipAddress {
4655    /**
4656     * Indicates a custom label.
4657     *
4658     * @type { number }
4659     * @readonly
4660     * @static
4661     * @syscap SystemCapability.Applications.ContactsData
4662     * @since 7
4663     */
4664    /**
4665     * Indicates a custom label.
4666     *
4667     * @type { number }
4668     * @readonly
4669     * @static
4670     * @syscap SystemCapability.Applications.ContactsData
4671     * @atomicservice
4672     * @since 11
4673     */
4674    static readonly CUSTOM_LABEL: 0
4675
4676    /**
4677     * Indicates a home SIP address.
4678     *
4679     * @type { number }
4680     * @readonly
4681     * @static
4682     * @syscap SystemCapability.Applications.ContactsData
4683     * @since 7
4684     */
4685    /**
4686     * Indicates a home SIP address.
4687     *
4688     * @type { number }
4689     * @readonly
4690     * @static
4691     * @syscap SystemCapability.Applications.ContactsData
4692     * @atomicservice
4693     * @since 11
4694     */
4695    static readonly SIP_HOME: 1
4696
4697    /**
4698     * Indicates a work SIP address.
4699     *
4700     * @type { number }
4701     * @readonly
4702     * @static
4703     * @syscap SystemCapability.Applications.ContactsData
4704     * @since 7
4705     */
4706    /**
4707     * Indicates a work SIP address.
4708     *
4709     * @type { number }
4710     * @readonly
4711     * @static
4712     * @syscap SystemCapability.Applications.ContactsData
4713     * @atomicservice
4714     * @since 11
4715     */
4716    static readonly SIP_WORK: 2
4717
4718    /**
4719     * Indicates an SIP address of the OTHER type.
4720     *
4721     * @type { number }
4722     * @readonly
4723     * @static
4724     * @syscap SystemCapability.Applications.ContactsData
4725     * @since 7
4726     */
4727    /**
4728     * Indicates an SIP address of the OTHER type.
4729     *
4730     * @type { number }
4731     * @readonly
4732     * @static
4733     * @syscap SystemCapability.Applications.ContactsData
4734     * @atomicservice
4735     * @since 11
4736     */
4737    static readonly SIP_OTHER: 3
4738
4739    /**
4740     * Indicates an invalid label ID.
4741     *
4742     * @type { number }
4743     * @readonly
4744     * @static
4745     * @syscap SystemCapability.Applications.ContactsData
4746     * @since 7
4747     */
4748    /**
4749     * Indicates an invalid label ID.
4750     *
4751     * @type { number }
4752     * @readonly
4753     * @static
4754     * @syscap SystemCapability.Applications.ContactsData
4755     * @atomicservice
4756     * @since 11
4757     */
4758    static readonly INVALID_LABEL_ID: -1
4759
4760    /**
4761     * Indicates the label name of an attribute.
4762     *
4763     * @type { ?string }
4764     * @syscap SystemCapability.Applications.ContactsData
4765     * @since 7
4766     */
4767    /**
4768     * Indicates the label name of an attribute.
4769     *
4770     * @type { ?string }
4771     * @syscap SystemCapability.Applications.ContactsData
4772     * @atomicservice
4773     * @since 11
4774     */
4775    labelName?: string
4776
4777    /**
4778     * Indicates the SIP address.
4779     *
4780     * @type { string }
4781     * @syscap SystemCapability.Applications.ContactsData
4782     * @since 7
4783     */
4784    /**
4785     * Indicates the SIP address.
4786     *
4787     * @type { string }
4788     * @syscap SystemCapability.Applications.ContactsData
4789     * @atomicservice
4790     * @since 11
4791     */
4792    sipAddress: string
4793
4794    /**
4795     * Indicates the label id.
4796     *
4797     * @type { ?number }
4798     * @syscap SystemCapability.Applications.ContactsData
4799     * @since 7
4800     */
4801    /**
4802     * Indicates the label id.
4803     *
4804     * @type { ?number }
4805     * @syscap SystemCapability.Applications.ContactsData
4806     * @atomicservice
4807     * @since 11
4808     */
4809    labelId?: number
4810  }
4811
4812  /**
4813   * Provides methods for website information
4814   *
4815   * @syscap SystemCapability.Applications.ContactsData
4816   * @since 7
4817   */
4818  /**
4819   * Provides methods for website information
4820   *
4821   * @syscap SystemCapability.Applications.ContactsData
4822   * @atomicservice
4823   * @since 11
4824   */
4825  class Website {
4826    /**
4827     * Indicates the website.
4828     *
4829     * @type { string }
4830     * @syscap SystemCapability.Applications.ContactsData
4831     * @since 7
4832     */
4833    /**
4834     * Indicates the website.
4835     *
4836     * @type { string }
4837     * @syscap SystemCapability.Applications.ContactsData
4838     * @atomicservice
4839     * @since 11
4840     */
4841    website: string
4842  }
4843}
4844
4845export default contact;