@libertas-ai/types 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +70 -66
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ declare type LibertasLanDevice = number;
|
|
|
47
47
|
/**
|
|
48
48
|
* A virtual device. The behaviors of the device are managed by application code.
|
|
49
49
|
*
|
|
50
|
-
* Virtual devices interact with the user during the runtime of
|
|
50
|
+
* Virtual devices interact with the user during the runtime of Libertas App tasks.
|
|
51
51
|
*
|
|
52
52
|
* @see [Virtual Device API](/doc/developers_doc/virtual_device_api/)
|
|
53
53
|
* @see {@link libertasVirtualDeviceCommandRsp}
|
|
@@ -79,10 +79,10 @@ declare type LibertasUser = number;
|
|
|
79
79
|
declare type LibertasAction = number;
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
|
-
* Specialized virtual device for
|
|
82
|
+
* Specialized virtual device for endpoint interactions.
|
|
83
83
|
* Data schema must be predefined and published by the server developer.
|
|
84
84
|
*/
|
|
85
|
-
declare type
|
|
85
|
+
declare type LibertasEndpoint = LibertasVirtualDevice;
|
|
86
86
|
|
|
87
87
|
/**
|
|
88
88
|
* A handle to an indexed database table.
|
|
@@ -90,9 +90,9 @@ declare type LibertasAgentTool = LibertasVirtualDevice;
|
|
|
90
90
|
declare type LibertasDataStore = number;
|
|
91
91
|
|
|
92
92
|
/**
|
|
93
|
-
* Used to send broadcast data report in {@link
|
|
93
|
+
* Used to send broadcast data report in {@link libertasEndpointSendResponse}. It should be 0xffffffff.
|
|
94
94
|
*/
|
|
95
|
-
declare
|
|
95
|
+
declare enum LibertasPeer {
|
|
96
96
|
Broadcast = 0xffffffff,
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -105,7 +105,7 @@ declare const enum LibertasPeer {
|
|
|
105
105
|
* @see {@link LibertasVirtualDeviceCallback}
|
|
106
106
|
*
|
|
107
107
|
*/
|
|
108
|
-
declare
|
|
108
|
+
declare enum LibertasDeviceAction {
|
|
109
109
|
StatusResponse = 0x01,
|
|
110
110
|
ReadRequest = 0x02,
|
|
111
111
|
SubscribeRequest = 0x03,
|
|
@@ -234,7 +234,7 @@ declare type LibertasCommand = [cluster: number, id: number, data?: LibertasStru
|
|
|
234
234
|
declare type LibertasClusterAttributes = [cluster: number, attributes: LibertasAttributes];
|
|
235
235
|
|
|
236
236
|
/**
|
|
237
|
-
* A tuple representing a read request from a
|
|
237
|
+
* A tuple representing a read request from a Libertas App task.
|
|
238
238
|
*
|
|
239
239
|
* @see {@link LibertasVirtualDeviceReq}
|
|
240
240
|
* @see {@link libertasDeviceReadReq}
|
|
@@ -261,7 +261,7 @@ declare type LibertasClusterReadReq = [cluster: number, attributes: number[], ev
|
|
|
261
261
|
*
|
|
262
262
|
* The effective minInterval and maxInterval may differ due to the varying requirements of multiple agents and device settings.
|
|
263
263
|
*
|
|
264
|
-
* The maxInterval affects the report timeout. The underlying Libertas OS performs timeout detection. The
|
|
264
|
+
* The maxInterval affects the report timeout. The underlying Libertas OS performs timeout detection. The Libertas App task can keep idling until a report or error occurs.
|
|
265
265
|
*/
|
|
266
266
|
declare type LibertasClusterSubscribeReq = [cluster: number, minInterval: number, maxInterval: number, attributes: number[], events?: LibertasClusterEventSubscription ];
|
|
267
267
|
|
|
@@ -350,55 +350,55 @@ declare type LibertasDeviceRsp = LibertasCommandRsp | LibertasClusterWriteRsp[]
|
|
|
350
350
|
declare type LibertasDeviceCallback = (device: LibertasDevice, action: LibertasDeviceAction, data: LibertasDeviceRsp, tag?: any, ref?: number) => void;
|
|
351
351
|
|
|
352
352
|
/**
|
|
353
|
-
* Possible interactions of an
|
|
353
|
+
* Possible interactions of an endpoint connection.
|
|
354
354
|
*/
|
|
355
|
-
declare
|
|
356
|
-
///
|
|
355
|
+
declare enum LibertasEndpointAction {
|
|
356
|
+
/// endpoint subscription request opcode.
|
|
357
357
|
SubscriptionRequest = 3,
|
|
358
|
-
///
|
|
358
|
+
/// endpoint data message opcode.
|
|
359
359
|
ReportData = 5,
|
|
360
|
-
///
|
|
360
|
+
/// endpoint request opcode (expects response).
|
|
361
361
|
Request = 8,
|
|
362
|
-
///
|
|
362
|
+
/// endpoint response opcode.
|
|
363
363
|
Response = 9,
|
|
364
|
-
///
|
|
364
|
+
/// endpoint peer down notification opcode.
|
|
365
365
|
PeerDown = 20,
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
/**
|
|
369
369
|
* The signature of a virtual device I/O callback function.
|
|
370
370
|
*
|
|
371
|
-
* @param device A {@link
|
|
372
|
-
* @param
|
|
371
|
+
* @param device A {@link LibertasVirtualDevice}.
|
|
372
|
+
* @param peer Uniquely identifies a peer as subscription ID. See remarks.
|
|
373
|
+
* @param transId The transaction Id of the original request. See remarks.
|
|
373
374
|
* @param action The {@link LibertasDeviceAction}. See remarks
|
|
374
375
|
* @param data The request data. It's a union type. The value shall be cast to a type decided by action.
|
|
375
376
|
* @param tag The arbitrary data passed to {@link libertasSetOnVirtualDevice} with the callback instance.
|
|
376
|
-
* @param peer Uniquely identifies a peer as subscription ID. See remarks.
|
|
377
377
|
*
|
|
378
378
|
* @see {@link libertasSetOnVirtualDevice}
|
|
379
379
|
*
|
|
380
|
-
* @remarks The callback is used to notify the virtual device of a request. Each request has an internally assigned
|
|
381
|
-
* The
|
|
380
|
+
* @remarks The callback is used to notify the virtual device of a request. Each request has an internally assigned transaction ID (transId) by the engine.
|
|
381
|
+
* The transId must be passed back in the corresponding response.
|
|
382
382
|
*
|
|
383
383
|
* Valid actions:
|
|
384
384
|
* {@link LibertasDeviceAction.ReadRequest}, {@link LibertasDeviceAction.SubscribeRequest}, and {@link LibertasDeviceAction.ReportData} all request attribute data. {@link LibertasDeviceAction.ReadRequest}
|
|
385
385
|
* is a one-time read. {@link LibertasDeviceAction.SubscribeRequest} is an initial subscribe request. {@link LibertasDeviceAction.ReportData} is for
|
|
386
|
-
* continuous subscription data report. Combined with `peer`, the
|
|
386
|
+
* continuous subscription data report. Combined with `peer`, the Libertas App can keep track of current subscribers. The Libertas App can also keep the last subscription related request time to
|
|
387
387
|
* calculate interval duration for more flexible subscrption delivery. A virtual device may even respond more data than requested if the common dirty-marking algorithm is not adequate.
|
|
388
388
|
*/
|
|
389
389
|
|
|
390
|
-
declare type LibertasVirtualDeviceCallback = (device: LibertasVirtualDevice,
|
|
390
|
+
declare type LibertasVirtualDeviceCallback = (device: LibertasVirtualDevice, peer: number, transId: number, action: LibertasDeviceAction, data: LibertasVirtualDeviceReq, tag?: any) => void;
|
|
391
391
|
|
|
392
392
|
/**
|
|
393
|
-
* Callback of an
|
|
394
|
-
* @param device A
|
|
393
|
+
* Callback of an endpoint connection.
|
|
394
|
+
* @param device A LibertasEndpoint client or server.
|
|
395
395
|
* @param action interaction action.
|
|
396
396
|
* @param peer The peer that protocol from which message comes.
|
|
397
|
-
* @param tag The arbitrary data passed to {@link
|
|
397
|
+
* @param tag The arbitrary data passed to {@link libertasSetOnEndpoint} with the callback instance.
|
|
398
398
|
* @param data The protocol message, or undefined if `action` is `PeerDown`.
|
|
399
399
|
* @param ref The transaction Id. May be undefined if this is unsolicited `ReportData`.
|
|
400
400
|
*/
|
|
401
|
-
declare type
|
|
401
|
+
declare type LibertasEndpointCallback<T> = (device: LibertasEndpoint, action: LibertasEndpointAction, peer: number, tag: any, data?: T, ref?: number) => void;
|
|
402
402
|
|
|
403
403
|
/**
|
|
404
404
|
* Set a callback function to receive responses and reports to a device.
|
|
@@ -475,7 +475,7 @@ declare function libertasDeviceReadReq(device: LibertasDevice, requests: Liberta
|
|
|
475
475
|
* {@link LibertasDeviceAction.StatusResponse} with a {@link Matter.Status.Timeout} will be received from the callback registered with
|
|
476
476
|
* {@link libertasSetOnDevice}.
|
|
477
477
|
*
|
|
478
|
-
* The
|
|
478
|
+
* The Libertas App task shall not assume that it is the only process that sends requests. Other agents
|
|
479
479
|
* may also send requests. A task can only receive {@link LibertasClusterWriteRsp} to its written requests.
|
|
480
480
|
*
|
|
481
481
|
* To receive all changes to an attribute, use {@link libertasAppSubscribeReq}.
|
|
@@ -510,7 +510,7 @@ declare function libertasDeviceWriteReq(device: LibertasDevice, requests: Libert
|
|
|
510
510
|
* {@link LibertasDeviceAction.StatusResponse} with a {@link Matter.Status.Timeout} will be received from the callback registered with
|
|
511
511
|
* {@link libertasSetOnDevice}.
|
|
512
512
|
*
|
|
513
|
-
* The
|
|
513
|
+
* The Libertas App task shall not assume that it is the only process that sends requests. Other agents
|
|
514
514
|
* may also send requests. A task can only receive the {@link LibertasCommandRsp} to its command requests.
|
|
515
515
|
*
|
|
516
516
|
* To receive all changes to an attribute, use {@link libertasAppSubscribeReq}.
|
|
@@ -531,10 +531,10 @@ declare function libertasDeviceCommandReq(device: LibertasDevice, request: Liber
|
|
|
531
531
|
* @remarks
|
|
532
532
|
* An app only sends out one subscription request. The App must collect the list of all devices that require subscriptions and send them out all at once.
|
|
533
533
|
*
|
|
534
|
-
* Because the
|
|
534
|
+
* Because the Libertas App shares subscriptions with the host and possibly other Libertas Apps, the following behaviors may be observed:
|
|
535
535
|
*
|
|
536
536
|
* 1. The first few data reports may be in response to ReadRequest.
|
|
537
|
-
* 2. The data reports may contain attributes and events that are not subscribed to by this
|
|
537
|
+
* 2. The data reports may contain attributes and events that are not subscribed to by this Libertas App.
|
|
538
538
|
* 3. Libertas-OS will handle errors, including timeout. A StatusResponse report will be generated in case of errors.
|
|
539
539
|
*
|
|
540
540
|
* The report data will be passed to the callback function {@link LibertasDeviceCallback} registered with {@link libertasSetOnDevice}.
|
|
@@ -542,16 +542,16 @@ declare function libertasDeviceCommandReq(device: LibertasDevice, request: Liber
|
|
|
542
542
|
declare function libertasAppSubscribeReq(requests: LibertasDeviceSubscribeReq[]) : void;
|
|
543
543
|
|
|
544
544
|
/**
|
|
545
|
-
* Notify the Libertas
|
|
545
|
+
* Notify the Libertas Libertas App engine that some attributes have changed values.
|
|
546
546
|
* @param device A {@link LibertasVirtualDevice}.
|
|
547
547
|
* @param attributes The list of cluster attribute IDs. We reuse the {@link LibertasClusterReadReq} structure to hold the required data.
|
|
548
548
|
* Note that the event field is always undefined because Libertas OS handles the event reports.
|
|
549
549
|
* @param peer The subscription ID, which can be inferred from the peer in earlier {@link LibertasVirtualDeviceCallback}. Usually it should be undefined, unless
|
|
550
|
-
* the
|
|
550
|
+
* the Libertas App needs to manage data report for each individual subscriber.
|
|
551
551
|
*
|
|
552
|
-
* @remarks The
|
|
552
|
+
* @remarks The Libertas App engine is responsible for reporting each subscription based on the subscribed attributes, events, and minimum/maximum intervals.
|
|
553
553
|
* Even if the virtual device reported the changes, the report may not be generated immediately if the minimum interval has not been reached.
|
|
554
|
-
* Also, when the Libertas
|
|
554
|
+
* Also, when the Libertas Libertas App engine decides to generate a report, it will send a {@link LibertasDeviceAction.ReadRequest} or
|
|
555
555
|
* {@link LibertasDeviceAction.SubscribeRequest} with an array of {@link LibertasClusterReadReq} for the up-to-date values of the specified
|
|
556
556
|
* attributes and expect a response from {@link libertasVirtualDeviceAttributesRsp} call. If this value is defined, the notification will
|
|
557
557
|
* only be delivered to a single subscriber.
|
|
@@ -570,40 +570,44 @@ declare function libertasVirtualDeviceUpdateEvents(device: LibertasVirtualDevice
|
|
|
570
570
|
/**
|
|
571
571
|
* Update attributes unsolicited, or in response to a ReadRequest or SubscribeRequest.
|
|
572
572
|
* @param device A {@link LibertasVirtualDevice}.
|
|
573
|
-
* @param
|
|
573
|
+
* @param peer The peer taskId.
|
|
574
|
+
* @param transId The transaction Id of the request.
|
|
574
575
|
* @param attributes An array of {@link LibertasClusterReport}. Note that the events and eventStatus are undefined. Use {@link libertasVirtualDeviceUpdateEvents} to write events.
|
|
575
576
|
*
|
|
576
577
|
* @remarks
|
|
577
578
|
* The framework will maintain a cache of all attributes.
|
|
578
579
|
*
|
|
579
|
-
* If a
|
|
580
|
+
* If a transId is present, a read response or a report in response to this referenced request will be immediately sent out;
|
|
580
581
|
* otherwise the Libertas OS engine will decide when to send out the subscription reports.
|
|
581
582
|
*/
|
|
582
|
-
declare function libertasVirtualDeviceAttributesRsp(device: LibertasVirtualDevice,
|
|
583
|
+
declare function libertasVirtualDeviceAttributesRsp(device: LibertasVirtualDevice, peer: number, transId: number, attributes: LibertasClusterReport[]) : void;
|
|
583
584
|
|
|
584
|
-
/**
|
|
585
|
+
/**
|
|
585
586
|
* Send out command responses.
|
|
586
587
|
* @param device A {@link LibertasVirtualDevice}.
|
|
587
|
-
* @param
|
|
588
|
+
* @param peer The peer taskId.
|
|
589
|
+
* @param transId The transaction Id of the request.
|
|
588
590
|
* @param rsp A {@link LibertasCommandRsp}.
|
|
589
591
|
*/
|
|
590
|
-
declare function libertasVirtualDeviceCommandRsp(device: LibertasVirtualDevice,
|
|
592
|
+
declare function libertasVirtualDeviceCommandRsp(device: LibertasVirtualDevice, peer: number, transId: number, rsp: LibertasCommandRsp) : void;
|
|
591
593
|
|
|
592
|
-
/**
|
|
594
|
+
/**
|
|
593
595
|
* Send out write response.
|
|
594
596
|
* @param device A {@link LibertasVirtualDevice}.
|
|
595
|
-
* @param
|
|
597
|
+
* @param peer The peer taskId.
|
|
598
|
+
* @param transId The transaction Id of the request.
|
|
596
599
|
* @param responses An array of {@link LibertasClusterWriteRsp}.
|
|
597
600
|
*/
|
|
598
|
-
declare function libertasVirtualDeviceWriteRsp(device: LibertasVirtualDevice,
|
|
601
|
+
declare function libertasVirtualDeviceWriteRsp(device: LibertasVirtualDevice, peer: number, transId: number, responses: LibertasClusterWriteRsp[]) : void;
|
|
599
602
|
|
|
600
|
-
/**
|
|
603
|
+
/**
|
|
601
604
|
* Send out an error status code against an incoming request.
|
|
602
605
|
* @param device A {@link LibertasVirtualDevice}.
|
|
603
|
-
* @param
|
|
606
|
+
* @param peer The peer taskId.
|
|
607
|
+
* @param transId The transaction Id of the request.
|
|
604
608
|
* @param status A {@link Matter.Status}.
|
|
605
609
|
*/
|
|
606
|
-
declare function libertasVirtualDeviceStatusRsp(device: LibertasVirtualDevice,
|
|
610
|
+
declare function libertasVirtualDeviceStatusRsp(device: LibertasVirtualDevice, peer: number, transId: number, status: number) : void;
|
|
607
611
|
|
|
608
612
|
/**
|
|
609
613
|
* Listen to a virtual device events.
|
|
@@ -614,34 +618,34 @@ declare function libertasVirtualDeviceStatusRsp(device: LibertasVirtualDevice, r
|
|
|
614
618
|
declare function libertasSetOnVirtualDevice(device: LibertasVirtualDevice, func: LibertasVirtualDeviceCallback, tag?: any): void;
|
|
615
619
|
|
|
616
620
|
/**
|
|
617
|
-
* Sends a request or subscribeRequest message to an
|
|
621
|
+
* Sends a request or subscribeRequest message to an endpoint.
|
|
618
622
|
*
|
|
619
|
-
* @param device The target {@link
|
|
620
|
-
* @param action The interaction action, such as {@link
|
|
623
|
+
* @param device The target {@link LibertasEndpoint}.
|
|
624
|
+
* @param action The interaction action, such as {@link LibertasEndpointAction.Request} or {@link LibertasEndpointAction.SubscriptionRequest}.
|
|
621
625
|
* @param message The message payload to send.
|
|
622
626
|
*
|
|
623
627
|
* @returns A transaction ID that can be used to track the request and match it with a future response.
|
|
624
628
|
*/
|
|
625
|
-
declare function
|
|
629
|
+
declare function libertasEndpointSendRequest<T>(device: LibertasEndpoint, action: LibertasEndpointAction, message: T): number;
|
|
626
630
|
|
|
627
631
|
/**
|
|
628
|
-
* Sends a response to an
|
|
632
|
+
* Sends a response to an endpoint for a previously received request.
|
|
629
633
|
*
|
|
630
|
-
* @param device The target {@link
|
|
631
|
-
* @param action The interaction action, typically {@link
|
|
634
|
+
* @param device The target {@link LibertasEndpoint}.
|
|
635
|
+
* @param action The interaction action, typically {@link LibertasEndpointAction.Response} or {@link LibertasEndpointAction.ReportData}.
|
|
632
636
|
* @param message The message payload containing the response data.
|
|
633
|
-
* @param dest The request peer Id. It could be {@link LibertasPeer.Broadcast} for {@link
|
|
637
|
+
* @param dest The request peer Id. It could be {@link LibertasPeer.Broadcast} for {@link LibertasEndpointAction.ReportData}.
|
|
634
638
|
* @param transId The transaction ID (ref) from the original request being responded to.
|
|
635
639
|
*/
|
|
636
|
-
declare function
|
|
640
|
+
declare function libertasEndpointSendResponse<T>(device: LibertasEndpoint, action: LibertasEndpointAction, message: T, dest: number, transId: number): void;
|
|
637
641
|
|
|
638
642
|
/**
|
|
639
|
-
*
|
|
640
|
-
* @param device A {@link
|
|
643
|
+
* Endpoint message callback.
|
|
644
|
+
* @param device A {@link LibertasEndpoint}.
|
|
641
645
|
* @param func Callback function.
|
|
642
646
|
* @param tag Developer defined data that will be passed to callback function.
|
|
643
647
|
*/
|
|
644
|
-
declare function
|
|
648
|
+
declare function libertasSetOnEndpoint<T>(device: LibertasEndpoint, func: LibertasEndpointCallback<T>, tag?: any): void;
|
|
645
649
|
|
|
646
650
|
/**
|
|
647
651
|
* The signature of timer callback function.
|
|
@@ -756,7 +760,7 @@ declare function libertasTimerDestroy(timer: LibertasTimer): void;
|
|
|
756
760
|
declare function libertasTimerUpdate(timer: LibertasTimer, timeout: number, func?: LibertasTimerCallback, tag?: any): void
|
|
757
761
|
|
|
758
762
|
/**
|
|
759
|
-
* Trigger a user defined action. Users can define action with a client UI tool during
|
|
763
|
+
* Trigger a user defined action. Users can define action with a client UI tool during Libertas App task creation.
|
|
760
764
|
* @param action A {@link LibertasAction}.
|
|
761
765
|
*/
|
|
762
766
|
declare function libertasTriggerAction(action: LibertasAction): void;
|
|
@@ -772,7 +776,7 @@ declare function libertasTriggerAction(action: LibertasAction): void;
|
|
|
772
776
|
* - `AlertHigh`: High alerts.
|
|
773
777
|
* - `AlertSevere`: Severe alerts.
|
|
774
778
|
*/
|
|
775
|
-
declare
|
|
779
|
+
declare enum NotificationImportance {
|
|
776
780
|
Debug = 0,
|
|
777
781
|
Info = 1,
|
|
778
782
|
AlertLow = 2,
|
|
@@ -785,7 +789,7 @@ declare const enum NotificationImportance {
|
|
|
785
789
|
/**
|
|
786
790
|
* Notification argument variant tags.
|
|
787
791
|
*/
|
|
788
|
-
declare
|
|
792
|
+
declare enum NotificationArgTag {
|
|
789
793
|
/**
|
|
790
794
|
* A literal string argument included in the message as-is, without being
|
|
791
795
|
* treated as a resource string. This can be used to include specific text that
|
|
@@ -912,7 +916,7 @@ declare type NotificationArgument =
|
|
|
912
916
|
*
|
|
913
917
|
* @throws On size limits or permission violations.
|
|
914
918
|
*/
|
|
915
|
-
declare function
|
|
919
|
+
declare function libertasNotificationSend(recipients: number[], level: NotificationImportance, resource_name: string, args: NotificationArgument[], source?: number): void;
|
|
916
920
|
|
|
917
921
|
/**
|
|
918
922
|
* Sends a literal text notification.
|
|
@@ -924,7 +928,7 @@ declare function libertas_NotificationSend(recipients: number[], level: Notifica
|
|
|
924
928
|
*
|
|
925
929
|
* @throws On size limits or permission violations.
|
|
926
930
|
*/
|
|
927
|
-
declare function
|
|
931
|
+
declare function libertasNotificationSendLiteral(recipients: number[], level: NotificationImportance, text: string, source?: number): void;
|
|
928
932
|
|
|
929
933
|
/**
|
|
930
934
|
* Data name with resource and arguments.
|
|
@@ -936,7 +940,7 @@ declare interface DataName {
|
|
|
936
940
|
arguments: NotificationArgument[];
|
|
937
941
|
}
|
|
938
942
|
|
|
939
|
-
declare
|
|
943
|
+
declare enum IndexDirection {
|
|
940
944
|
Above,
|
|
941
945
|
Below,
|
|
942
946
|
}
|
|
@@ -1137,7 +1141,7 @@ declare function libertasDataReadIndexed<T>(
|
|
|
1137
1141
|
/**
|
|
1138
1142
|
* Log levels
|
|
1139
1143
|
*/
|
|
1140
|
-
declare
|
|
1144
|
+
declare enum LibertasLogLevel {
|
|
1141
1145
|
TRACE,
|
|
1142
1146
|
DEBUG,
|
|
1143
1147
|
INFO,
|
|
@@ -1151,6 +1155,6 @@ declare const enum LibertasLogLevel {
|
|
|
1151
1155
|
* @param level Log level.
|
|
1152
1156
|
* @param message A text message.
|
|
1153
1157
|
*
|
|
1154
|
-
* @remarks The log source is the name of the
|
|
1158
|
+
* @remarks The log source is the name of the Libertas App task.
|
|
1155
1159
|
*/
|
|
1156
1160
|
declare function libertasLog(level: LibertasLogLevel, message: string): void;
|