• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023-2025 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 DistributedServiceKit
19 */
20
21import type { AsyncCallback, Callback } from './@ohos.base';
22
23/**
24 * Providers interfaces to create a {@link deviceManager} instances.
25 *
26 * @namespace distributedDeviceManager
27 * @syscap SystemCapability.DistributedHardware.DeviceManager
28 * @since 10
29 */
30
31declare namespace distributedDeviceManager {
32
33  /**
34   * Basic description information of a distributed device.
35   * @interface DeviceBasicInfo
36   * @syscap SystemCapability.DistributedHardware.DeviceManager
37   * @since 10
38   */
39  interface DeviceBasicInfo {
40    /**
41     * Device identifier. The actual value is udid-hash confused with appid and salt value based on sha256.
42     * This id remains unchanged after application installation. If the application is uninstalled and reinstalled,
43     * the obtained ID will change.
44     * @type { string }
45     * @syscap SystemCapability.DistributedHardware.DeviceManager
46     * @since 10
47     */
48    deviceId: string;
49
50    /**
51     * Device name.
52     * @type { string }
53     * @syscap SystemCapability.DistributedHardware.DeviceManager
54     * @since 10
55     */
56    deviceName: string;
57
58    /**
59     * Obtains the device type represented by a string,
60     * which can be {@code phone}, {@code tablet}, {@code tv}, {@code smartVision}, {@code car}.
61     * @type { string }
62     * @syscap SystemCapability.DistributedHardware.DeviceManager
63     * @since 10
64     */
65    deviceType: string;
66
67    /**
68     * Device network id.
69     * @type { ?string }
70     * @syscap SystemCapability.DistributedHardware.DeviceManager
71     * @since 10
72     */
73    networkId?: string;
74  }
75
76  /**
77   * The state of the nearby devices.
78   * @enum { number }
79   * @syscap SystemCapability.DistributedHardware.DeviceManager
80   * @since 10
81   */
82  enum DeviceStateChange {
83    /**
84     * This state indicates the device is online but the state is unknown,The distributed function cannot used until
85     * state changes to AVAILABLE.
86     * @syscap SystemCapability.DistributedHardware.DeviceManager
87     * @since 10
88     */
89    UNKNOWN = 0,
90
91    /**
92     * This state indicates the device has been synchronized to the database, Now the distributed function can be used.
93     * @syscap SystemCapability.DistributedHardware.DeviceManager
94     * @since 10
95     */
96    AVAILABLE = 1,
97
98    /**
99     * This state indicates the device is offline.
100     * @syscap SystemCapability.DistributedHardware.DeviceManager
101     * @since 10
102     */
103    UNAVAILABLE = 2,
104  }
105
106  /**
107   * Device profile information filter options.
108   * @interface DeviceProfileInfoFilterOptions
109   * @syscap SystemCapability.DistributedHardware.DeviceManager
110   * @systemapi
111   * @since 15
112   */
113  interface DeviceProfileInfoFilterOptions {
114    /**
115     * Whether to request data from the cloud.
116     * @type { boolean }
117     * @syscap SystemCapability.DistributedHardware.DeviceManager
118     * @systemapi
119     * @since 15
120     */
121    isCloud : boolean,
122    /**
123     * Device ID list.
124     * @type { Array<string> }
125     * @syscap SystemCapability.DistributedHardware.DeviceManager
126     * @systemapi
127     * @since 15
128     */
129    deviceIdList?: Array<string>;
130  }
131
132  /**
133   * Service profile information.
134   * @interface ServiceProfileInfo
135   * @syscap SystemCapability.DistributedHardware.DeviceManager
136   * @systemapi
137   * @since 15
138   */
139  interface ServiceProfileInfo {
140    /**
141     * Device ID.
142     * @type { string }
143     * @syscap SystemCapability.DistributedHardware.DeviceManager
144     * @systemapi
145     * @since 15
146     */
147    deviceId: string;
148
149    /**
150     * Service ID.
151     * @type { string }
152     * @syscap SystemCapability.DistributedHardware.DeviceManager
153     * @systemapi
154     * @since 15
155     */
156    serviceId: string;
157
158    /**
159     * Service Type.
160     * @type { string }
161     * @syscap SystemCapability.DistributedHardware.DeviceManager
162     * @systemapi
163     * @since 15
164     */
165    serviceType: string;
166
167    /**
168     * Service data.
169     * @type { ?string }
170     * @syscap SystemCapability.DistributedHardware.DeviceManager
171     * @systemapi
172     * @since 15
173     */
174    data?: string;
175  }
176
177  /**
178   * Device profile information.
179   * @interface DeviceProfileInfo
180   * @syscap SystemCapability.DistributedHardware.DeviceManager
181   * @systemapi
182   * @since 15
183   */
184  interface DeviceProfileInfo {
185    /**
186     * Device ID.
187     * @type { string }
188     * @syscap SystemCapability.DistributedHardware.DeviceManager
189     * @systemapi
190     * @since 15
191     */
192    deviceId: string;
193
194    /**
195     * Device SerialNumber.
196     * @type { string }
197     * @syscap SystemCapability.DistributedHardware.DeviceManager
198     * @systemapi
199     * @since 15
200     */
201    deviceSn: string;
202
203    /**
204     * MAC address.
205     * @type { string }
206     * @syscap SystemCapability.DistributedHardware.DeviceManager
207     * @systemapi
208     * @since 15
209     */
210    mac: string;
211
212    /**
213     * Device model.
214     * @type { string }
215     * @syscap SystemCapability.DistributedHardware.DeviceManager
216     * @systemapi
217     * @since 15
218     */
219    model: string;
220
221    /**
222     * Device type.
223     * @type { string }
224     * @syscap SystemCapability.DistributedHardware.DeviceManager
225     * @systemapi
226     * @since 15
227     */
228    deviceType: string;
229
230    /**
231     * Manufacturer.
232     * @type { string }
233     * @syscap SystemCapability.DistributedHardware.DeviceManager
234     * @systemapi
235     * @since 15
236     */
237    manufacturer: string;
238
239    /**
240     * Device name.
241     * @type { string }
242     * @syscap SystemCapability.DistributedHardware.DeviceManager
243     * @systemapi
244     * @since 15
245     */
246    deviceName: string;
247
248    /**
249     * Product ID.
250     * @type { string }
251     * @syscap SystemCapability.DistributedHardware.DeviceManager
252     * @systemapi
253     * @since 15
254     */
255    productId: string;
256
257    /**
258     * Product sub ID.
259     * @type { ?string }
260     * @syscap SystemCapability.DistributedHardware.DeviceManager
261     * @systemapi
262     * @since 15
263     */
264    subProductId?: string;
265
266    /**
267     * Sdk version.
268     * @type { string }
269     * @syscap SystemCapability.DistributedHardware.DeviceManager
270     * @systemapi
271     * @since 15
272     */
273    sdkVersion: string;
274
275    /**
276     * Bluetooth BLE MAC address.
277     * @type { string }
278     * @syscap SystemCapability.DistributedHardware.DeviceManager
279     * @systemapi
280     * @since 15
281     */
282    bleMac: string;
283
284    /**
285     * Bluetooth BR MAC address.
286     * @type { string }
287     * @syscap SystemCapability.DistributedHardware.DeviceManager
288     * @systemapi
289     * @since 15
290     */
291    brMac: string;
292
293    /**
294     * Starflash MAC address.
295     * @type { string }
296     * @syscap SystemCapability.DistributedHardware.DeviceManager
297     * @systemapi
298     * @since 15
299     */
300    sleMac: string;
301
302    /**
303     * Firmware version.
304     * @type { string }
305     * @syscap SystemCapability.DistributedHardware.DeviceManager
306     * @systemapi
307     * @since 15
308     */
309    firmwareVersion: string;
310
311    /**
312     * Hardware version.
313     * @type { string }
314     * @syscap SystemCapability.DistributedHardware.DeviceManager
315     * @systemapi
316     * @since 15
317     */
318    hardwareVersion: string;
319
320    /**
321     * Software version.
322     * @type { string }
323     * @syscap SystemCapability.DistributedHardware.DeviceManager
324     * @systemapi
325     * @since 15
326     */
327    softwareVersion: string;
328
329    /**
330     * Protocol type.
331     * @type { number }
332     * @syscap SystemCapability.DistributedHardware.DeviceManager
333     * @systemapi
334     * @since 15
335     */
336    protocolType: number;
337
338    /**
339     * Setup type.
340     * @type { number }
341     * @syscap SystemCapability.DistributedHardware.DeviceManager
342     * @systemapi
343     * @since 15
344     */
345    setupType: number;
346
347    /**
348     * Wise device ID.
349     * @type { string }
350     * @syscap SystemCapability.DistributedHardware.DeviceManager
351     * @systemapi
352     * @since 15
353     */
354    wiseDeviceId: string;
355
356    /**
357     * Wise user ID.
358     * @type { string }
359     * @syscap SystemCapability.DistributedHardware.DeviceManager
360     * @systemapi
361     * @since 15
362     */
363    wiseUserId: string;
364
365    /**
366     * Register time.
367     * @type { string }
368     * @syscap SystemCapability.DistributedHardware.DeviceManager
369     * @systemapi
370     * @since 15
371     */
372    registerTime: string;
373
374    /**
375     * Modify time.
376     * @type { string }
377     * @syscap SystemCapability.DistributedHardware.DeviceManager
378     * @systemapi
379     * @since 15
380     */
381    modifyTime: string;
382
383    /**
384     * Share time.
385     * @type { string }
386     * @syscap SystemCapability.DistributedHardware.DeviceManager
387     * @systemapi
388     * @since 15
389     */
390    shareTime: string;
391
392    /**
393    * Whether the device is a local device.
394    * @type { boolean }
395    * @syscap SystemCapability.DistributedHardware.DeviceManager
396    * @systemapi
397    * @since 15
398    */
399    isLocalDevice: boolean;
400
401    /**
402     * Service profile information list.
403     * @type { Array<ServiceProfileInfo> }
404     * @syscap SystemCapability.DistributedHardware.DeviceManager
405     * @systemapi
406     * @since 15
407     */
408    services?: Array<ServiceProfileInfo>;
409
410    /**
411     * Name of the product to which the device belongs.
412     * @type { ?string }
413     * @syscap SystemCapability.DistributedHardware.DeviceManager
414     * @systemapi
415     * @since 18
416     */
417    productName?: string;
418
419    /**
420     * Internal model of the product to which the device belongs.
421     * @type { ?string }
422     * @syscap SystemCapability.DistributedHardware.DeviceManager
423     * @systemapi
424     * @since 18
425     */
426    internalModel?: string;
427  }
428
429  /**
430   * Device icon information filter options.
431   * @interface DeviceIconInfoFilterOptions
432   * @syscap SystemCapability.DistributedHardware.DeviceManager
433   * @systemapi
434   * @since 18
435   */
436  interface DeviceIconInfoFilterOptions {
437    /**
438     * Product ID.
439     * @type { string }
440     * @syscap SystemCapability.DistributedHardware.DeviceManager
441     * @systemapi
442     * @since 18
443     */
444    productId: string;
445
446    /**
447     * Product sub ID.
448     * @type { ?string }
449     * @syscap SystemCapability.DistributedHardware.DeviceManager
450     * @systemapi
451     * @since 18
452     */
453    subProductId?: string;
454
455    /**
456     * Image type.
457     * @type { string }
458     * @syscap SystemCapability.DistributedHardware.DeviceManager
459     * @systemapi
460     * @since 18
461     */
462    imageType: string;
463
464    /**
465     * Spec name.
466     * @type { string }
467     * @syscap SystemCapability.DistributedHardware.DeviceManager
468     * @systemapi
469     * @since 18
470     */
471    specName: string;
472
473    /**
474     * Internal model of the product to which the device belongs.
475     * @type { ?string }
476     * @syscap SystemCapability.DistributedHardware.DeviceManager
477     * @systemapi
478     * @since 18
479     */
480    internalModel?: string;
481  }
482
483  /**
484   * Device icon information.
485   * @interface DeviceIconInfo
486   * @syscap SystemCapability.DistributedHardware.DeviceManager
487   * @systemapi
488   * @since 18
489   */
490  interface DeviceIconInfo {
491    /**
492     * Product ID.
493     * @type { string }
494     * @syscap SystemCapability.DistributedHardware.DeviceManager
495     * @systemapi
496     * @since 18
497     */
498    productId: string;
499
500    /**
501     * Product sub ID.
502     * @type { ?string }
503     * @syscap SystemCapability.DistributedHardware.DeviceManager
504     * @systemapi
505     * @since 18
506     */
507    subProductId?: string;
508
509    /**
510     * Image type.
511     * @type { string }
512     * @syscap SystemCapability.DistributedHardware.DeviceManager
513     * @systemapi
514     * @since 18
515     */
516    imageType: string;
517
518    /**
519     * Spec name.
520     * @type { string }
521     * @syscap SystemCapability.DistributedHardware.DeviceManager
522     * @systemapi
523     * @since 18
524     */
525    specName: string;
526
527    /**
528     * Uniform resoure locator.
529     * @type { string }
530     * @syscap SystemCapability.DistributedHardware.DeviceManager
531     * @systemapi
532     * @since 18
533     */
534    url: string;
535
536    /**
537     * Icon.
538     * @type { ArrayBuffer }
539     * @syscap SystemCapability.DistributedHardware.DeviceManager
540     * @systemapi
541     * @since 18
542     */
543    icon: ArrayBuffer;
544
545    /**
546     * Internal model of the product to which the device belongs.
547     * @type { ?string }
548     * @syscap SystemCapability.DistributedHardware.DeviceManager
549     * @systemapi
550     * @since 18
551     */
552    internalModel?: string;
553  }
554
555  /**
556   * Heartbeat policy.
557   * @enum {number}
558   * @syscap SystemCapability.DistributedHardware.DeviceManager
559   * @systemapi
560   * @since 15
561   */
562  enum StrategyForHeartbeat {
563    /**
564     * Temporarily stop heartbeat, which automatically recovers after timeout.
565     * @syscap SystemCapability.DistributedHardware.DeviceManager
566     * @systemapi
567     * @since 15
568     */
569    TEMP_STOP_HEARTBEAT = 100,
570    /**
571     * Start heartbeat.
572     * @syscap SystemCapability.DistributedHardware.DeviceManager
573     * @systemapi
574     * @since 15
575     */
576    START_HEARTBEAT = 101,
577  }
578
579  /**
580   * Device network id query filter options.
581   * @interface NetworkIdQueryFilter
582   * @syscap SystemCapability.DistributedHardware.DeviceManager
583   * @systemapi
584   * @since 18
585   */
586  interface NetworkIdQueryFilter {
587    /**
588     * Get device network id list by wiseDevice ID.
589     * @type { string }
590     * @syscap SystemCapability.DistributedHardware.DeviceManager
591     * @systemapi
592     * @since 18
593     */
594    wiseDeviceId : string;
595
596    /**
597     * Get device network id list by online status.
598     * @type { number }
599     * @syscap SystemCapability.DistributedHardware.DeviceManager
600     * @systemapi
601     * @since 18
602     */
603    onlineStatus : number,
604  }
605
606  /**
607   * Creates an {@code DeviceManager} instance.
608   *
609   * To manage devices, you must first call this method to obtain a {@code DeviceManager} instance and then
610   * use this instance to call other device management methods.
611   *
612   * @param { string } bundleName - Indicates the bundle name of the application.
613   * @returns { DeviceManager } - Return the DeviceManager object.
614   * @throws { BusinessError } 401 - Parameter error. Possible causes:
615   *                                                  1. Mandatory parameters are left unspecified;
616   *                                                  2. Incorrect parameter type;
617   *                                                  3. Parameter verification failed.
618   * @syscap SystemCapability.DistributedHardware.DeviceManager
619   * @since 10
620   */
621  function createDeviceManager(bundleName: string): DeviceManager;
622
623  /**
624   * Releases the {@code DeviceManager} instance that is no longer used.
625   *
626   * @param { DeviceManager } deviceManager - Indicates the {@code DeviceManager} instance.
627   * @throws { BusinessError } 401 - Parameter error. Possible causes:
628   *                                                  1. Mandatory parameters are left unspecified;
629   *                                                  2. Incorrect parameter types;
630   *                                                  3. Parameter verification failed.
631   * @throws { BusinessError } 11600101 - Failed to execute the function.
632   * @syscap SystemCapability.DistributedHardware.DeviceManager
633   * @since 10
634   */
635  function releaseDeviceManager(deviceManager: DeviceManager): void;
636
637  /**
638   * Provides methods for managing devices.
639   *
640   * @interface DeviceManager
641   * @syscap SystemCapability.DistributedHardware.DeviceManager
642   * @since 10
643   */
644  interface DeviceManager {
645
646    /**
647     * Get a list of available devices. This interface query all authorized and connectable devices.
648     *
649     * @permission ohos.permission.DISTRIBUTED_DATASYNC
650     * @returns { Array<DeviceBasicInfo> } - Returns a list of available devices.
651     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
652     * @throws { BusinessError } 11600101 - Failed to execute the function.
653     * @syscap SystemCapability.DistributedHardware.DeviceManager
654     * @since 10
655     */
656    getAvailableDeviceListSync(): Array<DeviceBasicInfo>;
657
658    /**
659     * Get a list of available devices. This interface query all authorized and connectable devices.
660     *
661     * @permission ohos.permission.DISTRIBUTED_DATASYNC
662     * @param { AsyncCallback<Array<DeviceBasicInfo>> } callback - Indicates the callback to be
663     * invoked upon getAvailableDeviceList.
664     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
665     * @throws { BusinessError } 11600101 - Failed to execute the function.
666     * @syscap SystemCapability.DistributedHardware.DeviceManager
667     * @since 10
668     */
669    getAvailableDeviceList(callback: AsyncCallback<Array<DeviceBasicInfo>>): void;
670
671    /**
672     * Get a list of available devices. This interface query all authorized and connectable devices.
673     *
674     * @permission ohos.permission.DISTRIBUTED_DATASYNC
675     * @returns { Promise<Array<DeviceBasicInfo>> } - Returns a list of available devices.
676     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
677     * @throws { BusinessError } 11600101 - Failed to execute the function.
678     * @syscap SystemCapability.DistributedHardware.DeviceManager
679     * @since 10
680     */
681    getAvailableDeviceList(): Promise<Array<DeviceBasicInfo>>;
682
683    /**
684     * Get the network id of the local device.
685     *
686     * @permission ohos.permission.DISTRIBUTED_DATASYNC
687     * @returns { string } - Returns local device network id.
688     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
689     * @throws { BusinessError } 11600101 - Failed to execute the function.
690     * @syscap SystemCapability.DistributedHardware.DeviceManager
691     * @since 10
692     */
693    getLocalDeviceNetworkId(): string;
694
695    /**
696     * Get the device name of the local device.
697     *
698     * @permission ohos.permission.DISTRIBUTED_DATASYNC
699     * @returns { string } - Returns local device name.
700     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
701     * @throws { BusinessError } 11600101 - Failed to execute the function.
702     * @syscap SystemCapability.DistributedHardware.DeviceManager
703     * @since 10
704     */
705    getLocalDeviceName(): string;
706
707    /**
708     * Get the device type of the local device.
709     *
710     * @permission ohos.permission.DISTRIBUTED_DATASYNC
711     * @returns { number } - Returns local device type.
712     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
713     * @throws { BusinessError } 11600101 - Failed to execute the function.
714     * @syscap SystemCapability.DistributedHardware.DeviceManager
715     * @since 10
716     */
717    getLocalDeviceType(): number;
718
719    /**
720     * Get the device id of the local device.
721     *
722     * @permission ohos.permission.DISTRIBUTED_DATASYNC
723     * @returns { string } - Device identifier. The actual value is udid-hash confused with appid and salt value based on sha256.
724     * This id remains unchanged after application installation. If the application is uninstalled and reinstalled,
725     * the obtained ID will change.
726     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
727     * @throws { BusinessError } 11600101 - Failed to execute the function.
728     * @syscap SystemCapability.DistributedHardware.DeviceManager
729     * @since 10
730     */
731    getLocalDeviceId(): string;
732
733    /**
734     * Get the device name by network id.
735     *
736     * @permission ohos.permission.DISTRIBUTED_DATASYNC
737     * @param { string } networkId - Device network id.
738     * @returns { string } - Returns device name.
739     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
740     * @throws { BusinessError } 401 - Parameter error. Possible causes:
741     *                                                  1. Mandatory parameters are left unspecified;
742     *                                                  2. Incorrect parameter type;
743     *                                                  3. Parameter verification failed;
744     *                                                  4. The size of specified networkId is greater than 255.
745     * @throws { BusinessError } 11600101 - Failed to execute the function.
746     * @syscap SystemCapability.DistributedHardware.DeviceManager
747     * @since 10
748     */
749    getDeviceName(networkId: string): string;
750
751    /**
752     * Get the device type by network id.
753     *
754     * @permission ohos.permission.DISTRIBUTED_DATASYNC
755     * @param { string } networkId - Device network id.
756     * @returns { number } - Returns device type.
757     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
758     * @throws { BusinessError } 401 - Parameter error. Possible causes:
759     *                                                  1. Mandatory parameters are left unspecified;
760     *                                                  2. Incorrect parameter type;
761     *                                                  3. Parameter verification failed;
762     *                                                  4. The size of specified networkId is greater than 255.
763     * @throws { BusinessError } 11600101 - Failed to execute the function.
764     * @syscap SystemCapability.DistributedHardware.DeviceManager
765     * @since 10
766     */
767    getDeviceType(networkId: string): number;
768
769    /**
770     * Start to discover nearby devices.
771     *
772     * @permission ohos.permission.DISTRIBUTED_DATASYNC
773     * @param { object } discoverParam - Identifies the type of target discovered:
774     *       discoverTargetType : 1     - Discovery target as a device by default, the value is 1.
775     * @param { object } filterOptions - FilterOptions to filter discovery device.
776     * The type of filterOptions is map. The map are as follows:
777     *       availableStatus: 0-1       - Discover devices only are credible, The value is 0 indicates device isn't credible;
778     *                                      0: Devices are offline, client need to bind the device by calling bindTarget() and then connect to it.
779     *                                      1: Devices already online, client can make connection.
780     *       discoverDistance: 0-100    - Discover devices within a certain distance from the local, the unit is cm.
781     *       authenticationStatus: 0-1  - Discover devices based on different authentication status:
782     *                                      0: Devices not authenticated.
783                                            1: Devices already authenticated.
784     *                                The value is 1 indicates device is trust.
785     *       authorizationType: 0-2     - Discover devices based on different authorization type:
786     *                                      0: Devices authenticated based on temporary negotiated session key.
787     *                                      1: Devices authenticated based on the same account credential key.
788     *                                      2: Devices authenticated based on different account credential keys.
789     * @throws { BusinessError } 401 - Parameter error. Possible causes:
790     *                                                  1. Mandatory parameters are left unspecified;
791     *                                                  2. Incorrect parameter type;
792     *                                                  3. Parameter verification failed.
793     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
794     * @throws { BusinessError } 11600104 - Discovery unavailable.
795     * @throws { BusinessError } 11600101 - Failed to execute the function.
796     * @syscap SystemCapability.DistributedHardware.DeviceManager
797     * @since 10
798     */
799    startDiscovering(discoverParam: { [key: string]: Object; }, filterOptions?: { [key: string]: Object; }): void;
800
801    /**
802     * Stop discovering nearby devices.
803     *
804     * @permission ohos.permission.DISTRIBUTED_DATASYNC
805     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
806     * @throws { BusinessError } 11600101 - Failed to execute the function.
807     * @syscap SystemCapability.DistributedHardware.DeviceManager
808     * @since 10
809     */
810    stopDiscovering(): void;
811
812    /**
813     * Bind the specified target.
814     *
815     * @permission ohos.permission.DISTRIBUTED_DATASYNC
816     * @param { string } deviceId - id of device to bind.
817     * @param { object } bindParam - parameters of device to bind, The parameter type is map,such as:
818     *      "bindType" : 1,           - This value is type of bind, the values are as follows:
819     *                                  1 - The bind type is pin code .
820
821     *      "targetPkgName" : "xxxx", - The package name of binding target.
822     *      "appName" : "xxxx",       - The app name that try to bind the target.
823     *      "appOperation" : "xxxx"   - The reason why the app want to bind the target package.
824     *      "customDescription" : "xxxx" - The detail description of the operation.
825     * @param { AsyncCallback<{deviceId: string;}> } callback - indicates the callback to be invoked upon bindDevice.
826     * @throws { BusinessError } 401 - Parameter error. Possible causes:
827     *                                                  1. Mandatory parameters are left unspecified;
828     *                                                  2. Incorrect parameter type;
829     *                                                  3. Parameter verification failed;
830     *                                                  4. The size of specified deviceId is greater than 255.
831     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
832     * @throws { BusinessError } 11600101 - Failed to execute the function.
833     * @throws { BusinessError } 11600103 - Authentication unavailable.
834     * @syscap SystemCapability.DistributedHardware.DeviceManager
835     * @since 10
836     */
837    bindTarget(deviceId: string, bindParam: { [key: string]: Object; }, callback: AsyncCallback<{deviceId: string;}>): void;
838
839    /**
840     * Unbind the specified target.
841     *
842     * @permission ohos.permission.DISTRIBUTED_DATASYNC
843     * @param { string } deviceId - id of device to unbind
844     * @throws { BusinessError } 401 - Parameter error. Possible causes:
845     *                                                  1. Mandatory parameters are left unspecified;
846     *                                                  2. Incorrect parameter type;
847     *                                                  3. Parameter verification failed;
848     *                                                  4. The size of specified deviceId is greater than 255.
849     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
850     * @throws { BusinessError } 11600101 - Failed to execute the function.
851     * @syscap SystemCapability.DistributedHardware.DeviceManager
852     * @since 10
853     */
854    unbindTarget(deviceId: string): void;
855
856    /**
857     * The reply of ui operation from pin-code window, this interface can only be used by pin-code-hap of devicemanager.
858     *
859     * @permission ohos.permission.ACCESS_SERVICE_DM
860     * @param { number } action - The reply action of user operation.
861     * @param { string } actionResult - Indicates the user operation result.
862     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
863     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
864     * @throws { BusinessError } 401 - Parameter error. Possible causes:
865     *                                                  1. Mandatory parameters are left unspecified;
866     *                                                  2. Incorrect parameter type;
867     *                                                  3. Parameter verification failed;
868     *                                                  4. The size of specified actionResult is greater than 255.
869     * @syscap SystemCapability.DistributedHardware.DeviceManager
870     * @systemapi this method can be used only by system applications.
871     * @since 10
872     */
873    replyUiAction(action: number, actionResult: string): void;
874
875    /**
876     * Register a device state callback so that the application can be notified upon device state changes based on
877     * the application bundle name.
878     *
879     * @permission ohos.permission.DISTRIBUTED_DATASYNC
880     * @param { 'deviceStateChange' } type - Device state change.
881     * @param { Callback<{ action: DeviceStateChange; device: DeviceBasicInfo; }> } callback
882     * Indicates the device state callback to register.
883     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
884     * @throws { BusinessError } 401 - Parameter error. Possible causes:
885     *                                                  1. Mandatory parameters are left unspecified;
886     *                                                  2. Incorrect parameter type;
887     *                                                  3. Parameter verification failed;
888     *                                                  4. The size of specified type is greater than 255.
889     * @syscap SystemCapability.DistributedHardware.DeviceManager
890     * @since 10
891     */
892    on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChange; device: DeviceBasicInfo; }>): void;
893
894    /**
895     * UnRegister device state callback based on the application bundle name.
896     *
897     * @permission ohos.permission.DISTRIBUTED_DATASYNC
898     * @param { 'deviceStateChange' } type - Device state change.
899     * @param { Callback<{ action: DeviceStateChange; device: DeviceBasicInfo; }> } callback
900     * Indicates the device state callback to unregister.
901     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
902     * @throws { BusinessError } 401 - Parameter error. Possible causes:
903     *                                                  1. Mandatory parameters are left unspecified;
904     *                                                  2. Incorrect parameter type;
905     *                                                  3. Parameter verification failed;
906     *                                                  4. The size of specified type is greater than 255.
907     * @syscap SystemCapability.DistributedHardware.DeviceManager
908     * @since 10
909     */
910    off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChange; device: DeviceBasicInfo; }>): void;
911
912    /**
913     * Register a device discovery result callback so that the application can be notified when discovery success.
914     *
915     * @permission ohos.permission.DISTRIBUTED_DATASYNC
916     * @param { 'discoverSuccess' } type - Successfully discovered device.
917     * @param { Callback<{ device: DeviceBasicInfo; }> } callback - Indicates the device discovery callback to register.
918     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
919     * @throws { BusinessError } 401 - Parameter error. Possible causes:
920     *                                                  1. Mandatory parameters are left unspecified;
921     *                                                  2. Incorrect parameter type;
922     *                                                  3. Parameter verification failed;
923     *                                                  4. The size of specified type is greater than 255.
924     * @syscap SystemCapability.DistributedHardware.DeviceManager
925     * @since 10
926     */
927    on(type: 'discoverSuccess', callback: Callback<{ device: DeviceBasicInfo; }>): void;
928
929    /**
930     * UnRegister the device discovery result callback.
931     *
932     * @permission ohos.permission.DISTRIBUTED_DATASYNC
933     * @param { 'discoverSuccess' } type - Successfully discovered device.
934     * @param { Callback<{ device: DeviceBasicInfo; }> } callback - Indicates the device discovery callback to unregister.
935     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
936     * @throws { BusinessError } 401 - Parameter error. Possible causes:
937     *                                                  1. Mandatory parameters are left unspecified;
938     *                                                  2. Incorrect parameter type;
939     *                                                  3. Parameter verification failed;
940     *                                                  4. The size of specified type is greater than 255.
941     * @syscap SystemCapability.DistributedHardware.DeviceManager
942     * @since 10
943     */
944    off(type: 'discoverSuccess', callback?: Callback<{ device: DeviceBasicInfo; }>): void;
945
946    /**
947     * Register a device name change callback so that the application can be notified when discovery success.
948     *
949     * @permission ohos.permission.DISTRIBUTED_DATASYNC
950     * @param { 'deviceNameChange' } type - Changed device name.
951     * @param { Callback<{ deviceName: string; }> } callback - Indicates the device name change callback to register.
952     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
953     * @throws { BusinessError } 401 - Parameter error. Possible causes:
954     *                                                  1. Mandatory parameters are left unspecified;
955     *                                                  2. Incorrect parameter type;
956     *                                                  3. Parameter verification failed;
957     *                                                  4. The size of specified type is greater than 255.
958     * @syscap SystemCapability.DistributedHardware.DeviceManager
959     * @since 10
960     */
961    on(type: 'deviceNameChange', callback: Callback<{ deviceName: string; }>): void;
962
963    /**
964     * UnRegister the device name change result callback.
965     *
966     * @permission ohos.permission.DISTRIBUTED_DATASYNC
967     * @param { 'deviceNameChange' } type - Changed device name.
968     * @param { Callback<{ deviceName: string; }> } callback - Indicates the device name change callback to unregister.
969     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
970     * @throws { BusinessError } 401 - Parameter error. Possible causes:
971     *                                                  1. Mandatory parameters are left unspecified;
972     *                                                  2. Incorrect parameter type;
973     *                                                  3. Parameter verification failed;
974     *                                                  4. The size of specified type is greater than 255.
975     * @syscap SystemCapability.DistributedHardware.DeviceManager
976     * @since 10
977     */
978    off(type: 'deviceNameChange', callback?: Callback<{ deviceName: string; }>): void;
979
980    /**
981     * Register a device discovery result callback so that the application can be notified when discover failed.
982     *
983     * @permission ohos.permission.DISTRIBUTED_DATASYNC
984     * @param { 'discoverFailure' } type - Discovery Device Failure.
985     * @param { Callback<{ reason: number; }> } callback
986     * Indicates the device found result callback to register.
987     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
988     * @throws { BusinessError } 401 - Parameter error. Possible causes:
989     *                                                  1. Mandatory parameters are left unspecified;
990     *                                                  2. Incorrect parameter type;
991     *                                                  3. Parameter verification failed;
992     *                                                  4. The size of specified type is greater than 255.
993     * @syscap SystemCapability.DistributedHardware.DeviceManager
994     * @since 10
995     */
996    on(type: 'discoverFailure', callback: Callback<{ reason: number; }>): void;
997
998    /**
999     * UnRegister the device discovery result callback.
1000     *
1001     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1002     * @param { 'discoverFailure' } type - Discovery Device Failure.
1003     * @param { Callback<{ reason: number; }> } callback
1004     * Indicates the device found result callback to unregister.
1005     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1006     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1007     *                                                  1. Mandatory parameters are left unspecified;
1008     *                                                  2. Incorrect parameter type;
1009     *                                                  3. Parameter verification failed;
1010     *                                                  4. The size of specified type is greater than 255.
1011     * @syscap SystemCapability.DistributedHardware.DeviceManager
1012     * @since 10
1013     */
1014    off(type: 'discoverFailure', callback?: Callback<{ reason: number; }>): void;
1015
1016    /**
1017     * Register a serviceError callback so that the application can be notified when devicemanager service died
1018     *
1019     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1020     * @param { 'serviceDie' } type - Service death.
1021     * @param { Callback<{}> } callback - Indicates the service error callback to register.
1022     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1023     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1024     *                                                  1. Mandatory parameters are left unspecified;
1025     *                                                  2. Incorrect parameter type;
1026     *                                                  3. Parameter verification failed;
1027     *                                                  4. The size of specified type is greater than 255.
1028     * @syscap SystemCapability.DistributedHardware.DeviceManager
1029     * @since 10
1030     */
1031    on(type: 'serviceDie', callback?: Callback<{}>): void;
1032
1033    /**
1034     * UnRegister the service error callback.
1035     *
1036     * @permission ohos.permission.DISTRIBUTED_DATASYNC
1037     * @param { 'serviceDie' } type - Service death.
1038     * @param { Callback<{}> } callback - Indicates the service error callback to unregister.
1039     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1040     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1041     *                                                  1. Mandatory parameters are left unspecified;
1042     *                                                  2. Incorrect parameter type;
1043     *                                                  3. Parameter verification failed;
1044     *                                                  4. The size of specified type is greater than 255.
1045     * @syscap SystemCapability.DistributedHardware.DeviceManager
1046     * @since 10
1047     */
1048    off(type: 'serviceDie', callback?: Callback<{}>): void;
1049
1050    /**
1051     * Register a callback from deviceManager service so that the devicemanager ui can be notified when uiStateChanges.
1052     *
1053     * @permission ohos.permission.ACCESS_SERVICE_DM
1054     * @param { 'replyResult' } type - Ui reply result to register.
1055     * @param { Callback<{ param: string; }> } callback - Indicates the devicemanager ui state to register.
1056     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1057     *                                                  1. Mandatory parameters are left unspecified;
1058     *                                                  2. Incorrect parameter type;
1059     *                                                  3. Parameter verification failed;
1060     *                                                  4. The size of specified type is greater than 255.
1061     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1062     * @syscap SystemCapability.DistributedHardware.DeviceManager
1063     * @systemapi this method can be used only by system applications.
1064     * @since 10
1065     */
1066    on(type: 'replyResult', callback: Callback<{ param: string; }>): void;
1067
1068    /**
1069      * Unregister uiStateChange, this interface can only be used by devicemanager ui.
1070      *
1071      * @permission ohos.permission.ACCESS_SERVICE_DM
1072      * @param { 'replyResult' } type - Ui reply result to unregister.
1073      * @param { Callback<{ param: string; }> } callback - Indicates the devicemanager ui state to unregister.
1074      * @throws { BusinessError } 401 - Parameter error. Possible causes:
1075      *                                                  1. Mandatory parameters are left unspecified;
1076      *                                                  2. Incorrect parameter type;
1077      *                                                  3. Parameter verification failed;
1078      *                                                  4. The size of specified type is greater than 255.
1079      * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1080      * @syscap SystemCapability.DistributedHardware.DeviceManager
1081      * @systemapi this method can be used only by system applications.
1082      * @since 10
1083      */
1084    off(type: 'replyResult', callback?: Callback<{ param: string; }>): void;
1085
1086    /**
1087     * Get the device list under the same account.
1088     *
1089     * @permission ohos.permission.ACCESS_SERVICE_DM
1090     * @param { DeviceProfileInfoFilterOptions } filterOptions - parameter for querying the device list, The parameter type is map,such as:
1091     *      "isCloud" : false,           -  false - Get from the cahce of device side.
1092     *                                      true  - Get from the cloud.
1093     *      "deviceIdList" : [],         - Get by specified device ids.
1094     * @returns { Promise<Array<DeviceProfileInfo>> } - Returns a list of devices.
1095     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1096     *                                                  1. Mandatory parameters are left unspecified;
1097     *                                                  2. Incorrect parameter type;
1098     *                                                  3. Parameter verification failed;
1099     *                                                  4. The size of specified type is greater than 500.
1100     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1101     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1102     * @throws { BusinessError } 11600102 - Failed to obtain service.
1103     * @throws { BusinessError } 11600106 - Get data from cloud fail.
1104     * @throws { BusinessError } 11600107 - A login account is required.
1105     * @syscap SystemCapability.DistributedHardware.DeviceManager
1106     * @systemapi
1107     * @since 15
1108     */
1109    getDeviceProfileInfoList(filterOptions: DeviceProfileInfoFilterOptions): Promise<Array<DeviceProfileInfo>>;
1110
1111    /**
1112     * Put the device list under the same account.
1113     *
1114     * @permission ohos.permission.ACCESS_SERVICE_DM
1115     * @param { Array<DeviceProfileInfo> } deviceProfileInfoList - parameter for querying the device list for put,
1116     * @returns { Promise<number> } - Returns operation result.
1117     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1118     *                                                  1. Mandatory parameters are left unspecified;
1119     *                                                  2. Incorrect parameter type;
1120     *                                                  3. Parameter verification failed;
1121     *                                                  4. The size of specified type is greater than 500.
1122     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1123     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1124     * @throws { BusinessError } 11600102 - Failed to obtain service.
1125     * @syscap SystemCapability.DistributedHardware.DeviceManager
1126     * @systemapi
1127     * @since 18
1128     */
1129    putDeviceProfileInfoList(deviceProfileInfoList: Array<DeviceProfileInfo>): Promise<number>;
1130
1131    /**
1132     * Get a DeviceIconInfo.
1133     *
1134     * @permission ohos.permission.ACCESS_SERVICE_DM
1135     * @param { DeviceIconInfoFilterOptions } filterOptions - parameter for querying the device list, The parameter type is map,such as:
1136     *      "productId" : "xxx",           - product id of device
1137     *      "subProductId" : "xxx",        - subproduct id of device
1138     *      "imageType" : "xxx",           - image type, such as: ID、ID_Headset_L、ID_Headset_R、ID_Headset_B、ID_Headset_LB、ID_Headset_RB
1139     *      "specName" : "xxx",            - image size specification name, such as: sm/lg
1140     * @returns { Promise<DeviceIconInfo> } - Returns a DeviceIconInfo.
1141     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1142     *                                                  1. Mandatory parameters are left unspecified;
1143     *                                                  2. Incorrect parameter type;
1144     *                                                  3. Parameter verification failed;
1145     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1146     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1147     * @throws { BusinessError } 11600102 - Failed to obtain service.
1148     * @throws { BusinessError } 11600106 - Get data from cloud fail.
1149     * @syscap SystemCapability.DistributedHardware.DeviceManager
1150     * @systemapi
1151     * @since 18
1152     */
1153    getDeviceIconInfo(filterOptions: DeviceIconInfoFilterOptions): Promise<DeviceIconInfo>;
1154
1155    /**
1156     * Get display name of local device.
1157     *
1158     * @permission ohos.permission.ACCESS_SERVICE_DM
1159     * @param { number } maxNameLength - the max number of bytes of the local device display name
1160     *
1161     * @returns { Promise<string> } - Returns device display name.
1162     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1163     *                                                  1. Mandatory parameters are left unspecified;
1164     *                                                  2. Incorrect parameter type;
1165     *                                                  3. Parameter verification failed;
1166     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1167     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1168     * @throws { BusinessError } 11600102 - Failed to obtain service.
1169     * @syscap SystemCapability.DistributedHardware.DeviceManager
1170     * @systemapi
1171     * @since 18
1172     */
1173    getLocalDisplayDeviceName(maxNameLength: number): Promise<string>;
1174
1175    /**
1176     * Set local device name.
1177     *
1178     * @permission ohos.permission.ACCESS_SERVICE_DM
1179     * @param { string } deviceName - local device name
1180     * @returns { Promise<number> } - Returns operation result.
1181     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1182     *                                                  1. Mandatory parameters are left unspecified;
1183     *                                                  2. Incorrect parameter type;
1184     *                                                  3. Parameter verification failed;
1185     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1186     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1187     * @throws { BusinessError } 11600102 - Failed to obtain service.
1188     * @throws { BusinessError } 11600106 - Failed to get data from the cloud.
1189     * @throws { BusinessError } 11600107 - A login account is required.
1190     * @throws { BusinessError } 11600108 - The device name contains non-compliant content.
1191     * @syscap SystemCapability.DistributedHardware.DeviceManager
1192     * @systemapi
1193     * @since 18
1194     */
1195    setLocalDeviceName(deviceName: string): Promise<number>;
1196
1197    /**
1198     * Set remote device name.
1199     *
1200     * @permission ohos.permission.ACCESS_SERVICE_DM
1201     * @param { string } deviceId    - remote device id
1202     * @param { string } deviceName  - remote device name
1203     * @returns { Promise<number> } - Returns operation result.
1204     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1205     *                                                  1. Mandatory parameters are left unspecified;
1206     *                                                  2. Incorrect parameter type;
1207     *                                                  3. Parameter verification failed;
1208     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1209     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1210     * @throws { BusinessError } 11600102 - Failed to obtain service.
1211     * @throws { BusinessError } 11600106 - Failed to get data from the cloud.
1212     * @throws { BusinessError } 11600107 - A login account is required.
1213     * @throws { BusinessError } 11600108 - The device name contains non-compliant content.
1214     * @syscap SystemCapability.DistributedHardware.DeviceManager
1215     * @systemapi
1216     * @since 18
1217     */
1218    setRemoteDeviceName(deviceId: string, deviceName: string): Promise<number>;
1219
1220    /**
1221     * Set heartbeat policy.
1222     *
1223     * @permission ohos.permission.ACCESS_SERVICE_DM
1224     * @param { StrategyForHeartbeat } policy  - Heartbeat policy.
1225     * @param { number } delayTime  - Indicates the duration for disable heartbeat.
1226     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1227     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1228     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1229     *                                                  1. Mandatory parameters are left unspecified;
1230     *                                                  2. Incorrect parameter types;
1231     *                                                  3. Parameter verification failed.
1232     * @throws { BusinessError } 11600102 - Failed to obtain service.
1233     * @syscap SystemCapability.DistributedHardware.DeviceManager
1234     * @systemapi
1235     * @since 15
1236     */
1237    setHeartbeatPolicy(policy: StrategyForHeartbeat, delayTime: number): void;
1238
1239    /**
1240     * Restores local device name.
1241     *
1242     * @permission ohos.permission.ACCESS_SERVICE_DM
1243     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.
1244     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1245     * @throws { BusinessError } 11600102 - Failed to obtain the service.
1246     * @syscap SystemCapability.DistributedHardware.DeviceManager
1247     * @systemapi
1248     * @since 18
1249     */
1250    restoreLocalDeivceName(): void;
1251
1252    /**
1253     * Get the device network id list by conditions.
1254     *
1255     * @permission ohos.permission.ACCESS_SERVICE_DM
1256     * @param { NetworkIdQueryFilter } filterOptions - parameter for querying the device network id list,
1257     *                                                 The parameter type is map, such as:
1258     *      "wiseDeviceId" : xx-xxxxx - Get device network id list by wiseDevice id.
1259     *      "onlineStatus" : 1,             -  Get device network id list by online status.
1260     *                                       0 - indicates that the device is offline.
1261     *                                       1 - indicates that the device is online.
1262     * @returns { Promise<Array<string>> }  - Returns a list of device network id.
1263     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission
1264     *                                 required to call the API.
1265     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
1266     * @throws { BusinessError } 401 - Parameter error. Possible causes:
1267     *                                                  1. Mandatory parameters are left unspecified;
1268     *                                                  2. Parameter verification failed;
1269     * @throws { BusinessError } 11600102 - Failed to obtain service.
1270     * @throws { BusinessError } 11600107 - A login account is required.
1271     * @syscap SystemCapability.DistributedHardware.DeviceManager
1272     * @systemapi
1273     * @since 18
1274     */
1275    getDeviceNetworkIdList(filterOptions: NetworkIdQueryFilter): Promise<Array<string>>;
1276  }
1277}
1278
1279export default distributedDeviceManager;