@mdbase-dev/connect 0.1.0-beta.100

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.
Files changed (132) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +696 -0
  3. package/dist/advanced.d.ts +9 -0
  4. package/dist/advanced.js +6 -0
  5. package/dist/application-contract.d.ts +22 -0
  6. package/dist/application-contract.js +75 -0
  7. package/dist/application-identity.d.ts +34 -0
  8. package/dist/application-identity.js +148 -0
  9. package/dist/application-session.d.ts +167 -0
  10. package/dist/application-session.js +722 -0
  11. package/dist/async.d.ts +1 -0
  12. package/dist/async.js +19 -0
  13. package/dist/authority-proof.d.ts +3 -0
  14. package/dist/authority-proof.js +24 -0
  15. package/dist/authority-sync-request.d.ts +3 -0
  16. package/dist/authority-sync-request.js +20 -0
  17. package/dist/authorization-refresh.d.ts +14 -0
  18. package/dist/authorization-refresh.js +41 -0
  19. package/dist/authorization-types.d.ts +7 -0
  20. package/dist/authorization-types.js +1 -0
  21. package/dist/authorization-url.d.ts +5 -0
  22. package/dist/authorization-url.js +34 -0
  23. package/dist/base64.d.ts +3 -0
  24. package/dist/base64.js +21 -0
  25. package/dist/browser/integrity.json +4 -0
  26. package/dist/browser/mdbase-connect.min.js +3 -0
  27. package/dist/browser/mdbase-connect.min.js.sha384 +1 -0
  28. package/dist/browser.d.ts +3 -0
  29. package/dist/browser.js +5 -0
  30. package/dist/capabilities.d.ts +24 -0
  31. package/dist/capabilities.js +91 -0
  32. package/dist/collection-client.d.ts +66 -0
  33. package/dist/collection-client.js +686 -0
  34. package/dist/connect-authorization-helpers.d.ts +4 -0
  35. package/dist/connect-authorization-helpers.js +25 -0
  36. package/dist/connect-options.d.ts +35 -0
  37. package/dist/connect-options.js +1 -0
  38. package/dist/connect.d.ts +66 -0
  39. package/dist/connect.js +711 -0
  40. package/dist/connection-file-transport.d.ts +34 -0
  41. package/dist/connection-file-transport.js +85 -0
  42. package/dist/connection-index.d.ts +3 -0
  43. package/dist/connection-index.js +20 -0
  44. package/dist/connection-notifications.d.ts +31 -0
  45. package/dist/connection-notifications.js +197 -0
  46. package/dist/connection-transport-internals.d.ts +24 -0
  47. package/dist/connection-transport-internals.js +1 -0
  48. package/dist/connection-transport.d.ts +64 -0
  49. package/dist/connection-transport.js +725 -0
  50. package/dist/connection-types.d.ts +38 -0
  51. package/dist/connection-types.js +1 -0
  52. package/dist/connection.d.ts +175 -0
  53. package/dist/connection.js +606 -0
  54. package/dist/crypto-entry.d.ts +7 -0
  55. package/dist/crypto-entry.js +4 -0
  56. package/dist/crypto.d.ts +63 -0
  57. package/dist/crypto.js +409 -0
  58. package/dist/direct-access.d.ts +3 -0
  59. package/dist/direct-access.js +29 -0
  60. package/dist/errors.d.ts +45 -0
  61. package/dist/errors.js +142 -0
  62. package/dist/external-store.d.ts +10 -0
  63. package/dist/external-store.js +10 -0
  64. package/dist/file-crypto.d.ts +25 -0
  65. package/dist/file-crypto.js +132 -0
  66. package/dist/file-sha256.d.ts +12 -0
  67. package/dist/file-sha256.js +143 -0
  68. package/dist/file-stream-source.d.ts +17 -0
  69. package/dist/file-stream-source.js +157 -0
  70. package/dist/file-transfer-internals.d.ts +23 -0
  71. package/dist/file-transfer-internals.js +228 -0
  72. package/dist/files.d.ts +115 -0
  73. package/dist/files.js +563 -0
  74. package/dist/fresh-encrypted-request.d.ts +4 -0
  75. package/dist/fresh-encrypted-request.js +28 -0
  76. package/dist/grant-key-leases.d.ts +24 -0
  77. package/dist/grant-key-leases.js +144 -0
  78. package/dist/hosted-file-request.d.ts +6 -0
  79. package/dist/hosted-file-request.js +63 -0
  80. package/dist/hosted-operation-response.d.ts +5 -0
  81. package/dist/hosted-operation-response.js +26 -0
  82. package/dist/index.d.ts +27 -0
  83. package/dist/index.js +10 -0
  84. package/dist/internal-types.d.ts +100 -0
  85. package/dist/internal-types.js +1 -0
  86. package/dist/local-file-transport.d.ts +37 -0
  87. package/dist/local-file-transport.js +457 -0
  88. package/dist/mdbase-connect.d.ts +28 -0
  89. package/dist/mdbase-connect.js +53 -0
  90. package/dist/notifications.d.ts +48 -0
  91. package/dist/notifications.js +52 -0
  92. package/dist/operation-helpers.d.ts +27 -0
  93. package/dist/operation-helpers.js +144 -0
  94. package/dist/operation-types.d.ts +707 -0
  95. package/dist/operation-types.js +1 -0
  96. package/dist/outcomes.d.ts +51 -0
  97. package/dist/outcomes.js +194 -0
  98. package/dist/pending-mutation-store.d.ts +13 -0
  99. package/dist/pending-mutation-store.js +64 -0
  100. package/dist/pending-recovery-transports.d.ts +5 -0
  101. package/dist/pending-recovery-transports.js +52 -0
  102. package/dist/popup-authorization.d.ts +31 -0
  103. package/dist/popup-authorization.js +100 -0
  104. package/dist/query-pagination.d.ts +6 -0
  105. package/dist/query-pagination.js +119 -0
  106. package/dist/request-budget.d.ts +34 -0
  107. package/dist/request-budget.js +104 -0
  108. package/dist/request-coordinator.d.ts +29 -0
  109. package/dist/request-coordinator.js +213 -0
  110. package/dist/retired-grant-keys.d.ts +9 -0
  111. package/dist/retired-grant-keys.js +56 -0
  112. package/dist/runtime-utils.d.ts +52 -0
  113. package/dist/runtime-utils.js +368 -0
  114. package/dist/saved-view-pagination.d.ts +6 -0
  115. package/dist/saved-view-pagination.js +76 -0
  116. package/dist/selection.d.ts +48 -0
  117. package/dist/selection.js +112 -0
  118. package/dist/session.d.ts +114 -0
  119. package/dist/session.js +569 -0
  120. package/dist/shared-operation.d.ts +7 -0
  121. package/dist/shared-operation.js +41 -0
  122. package/dist/stored-token.d.ts +10 -0
  123. package/dist/stored-token.js +64 -0
  124. package/dist/structured-readiness.d.ts +77 -0
  125. package/dist/structured-readiness.js +126 -0
  126. package/dist/token-response.d.ts +12 -0
  127. package/dist/token-response.js +81 -0
  128. package/dist/transient-retry.d.ts +22 -0
  129. package/dist/transient-retry.js +59 -0
  130. package/dist/watch-policy.d.ts +8 -0
  131. package/dist/watch-policy.js +12 -0
  132. package/package.json +51 -0
@@ -0,0 +1,38 @@
1
+ import type { CollectionOperation, FileCapability, GrantScope, JsonObject, SyncChangesPage, SyncMutation, SyncMutationReceipt, SyncSession, SyncSnapshotPage } from "@mdbase-dev/connect-protocol";
2
+ import type { ConnectRequestOptions } from "./operation-types.js";
3
+ export type MdbaseConnectionRoute = "remote" | "direct" | "relay";
4
+ export type DirectAccessStatus = "disabled" | "permission_required" | "checking" | "available" | "unavailable" | "denied";
5
+ export interface MdbaseConnectionInfo {
6
+ collectionId: string;
7
+ displayName: string;
8
+ operations: CollectionOperation[];
9
+ scope: GrantScope;
10
+ fileCapability?: FileCapability;
11
+ authority: {
12
+ kind: "hosted";
13
+ durability: "provider";
14
+ } | {
15
+ kind: "connector";
16
+ durability: "computer";
17
+ };
18
+ route: MdbaseConnectionRoute;
19
+ directAccess: DirectAccessStatus;
20
+ }
21
+ export interface MdbaseAuthorizationCapabilities {
22
+ authorized: boolean;
23
+ sufficient: boolean;
24
+ collectionId?: string;
25
+ grantedOperations: CollectionOperation[];
26
+ missingOperations: CollectionOperation[];
27
+ }
28
+ export interface MdbaseSyncTransport<Frontmatter extends JsonObject = JsonObject> {
29
+ openSession(options?: ConnectRequestOptions): Promise<SyncSession>;
30
+ snapshot(snapshotId: string, page?: string, options?: ConnectRequestOptions): Promise<SyncSnapshotPage<Frontmatter>>;
31
+ changes(after: number, limit?: number, options?: ConnectRequestOptions): Promise<SyncChangesPage<Frontmatter>>;
32
+ mutate(mutation: SyncMutation, options?: ConnectRequestOptions): Promise<SyncMutationReceipt<Frontmatter>>;
33
+ }
34
+ export interface MdbaseSyncConnection<Frontmatter extends JsonObject = JsonObject> {
35
+ collectionId: string;
36
+ replicaId: string;
37
+ transport: MdbaseSyncTransport<Frontmatter>;
38
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,175 @@
1
+ import type { CollectionOperation, CollectionTypeDocument, FileCapability, GrantScope, JsonObject } from "@mdbase-dev/connect-protocol";
2
+ import { type MdbaseApplicationCapabilityId as ApplicationCapabilityId } from "./application-contract.js";
3
+ import { type ConnectionTransportInternals } from "./connection-transport.js";
4
+ import type { DirectAccessStatus, MdbaseAuthorizationCapabilities, MdbaseConnectionInfo, MdbaseConnectionRoute, MdbaseSyncConnection } from "./connection-types.js";
5
+ import type { GrantKeyStore } from "./crypto.js";
6
+ import { MdbaseFileClient } from "./files.js";
7
+ import { type Application } from "./internal-types.js";
8
+ import type { MdbaseNativeNotificationRegistration, MdbaseNativeNotificationRegistrationOptions, MdbaseNotificationRegistration, MdbaseNotificationRegistrationOptions } from "./notifications.js";
9
+ import type { ChangesInput, CollectionChangesPage, CollectionDescription, CollectionSetupApplyResult, CollectionSetupAssessment, ApplyCollectionSetupInput, ApplyTypePackInput, AssessCollectionSetupInput, AssessTypePackInput, CreateInput, CreateTypeInput, CreateViewSourceInput, DeleteInput, DeletePreflightResult, DeleteProgressOptions, DeleteResult, DeleteViewSourceInput, DeleteViewSourceResult, ExecuteViewInput, MdbaseDesiredTimer, MdbaseTimer, MdbaseTimerList, MdbaseTimerReconciliation, ConnectRequestOptions, PendingMutation, QueryAllOptions, QueryInput, QueryPage, QueryPagesOptions, QueryResult, ReadInput, ReadTypeInput, ReadViewSourceInput, RenameInput, RenamePreflightResult, RenameProgressOptions, RenameResult, RecordDocument, SavedViewExecution, SavedViewPage, SavedViewPagesOptions, SavedViewList, SavedViewSourceDocument, TypePackApplyResult, TypePackAssessment, UpdateInput, UpdateTypeInput, UpdateViewSourceInput, MdbaseWatchSubscription, WatchInput } from "./operation-types.js";
10
+ import { type AuthorizationProblemCode, type CollectionChangesProblemCode, type CollectionDescriptionProblemCode, type CollectionMutationProblemCode, type CollectionQueryProblemCode, type CollectionReadProblemCode, type CollectionTypeProblemCode, type ConnectOutcome, type DirectAccessProblemCode, type NotificationProblemCode, type RegistrationProblemCode } from "./outcomes.js";
11
+ import type { MdbaseDeviceAuthorization } from "./authorization-types.js";
12
+ import { type ResolvedConnectTimeouts } from "./request-budget.js";
13
+ export type MdbaseAuthorizationTarget = {
14
+ kind: "choose";
15
+ } | {
16
+ kind: "collection";
17
+ collectionId: string;
18
+ };
19
+ export interface MdbaseAuthorizeOptions extends ConnectRequestOptions {
20
+ /** Exact independent operations, for legacy v1 declarations only. Cannot be mixed with capabilities. */
21
+ operations?: CollectionOperation[];
22
+ /** Capability groups to request. Required groups are always included; optional groups default to all. */
23
+ capabilities?: ApplicationCapabilityId[];
24
+ /** Keep a web application loaded while Connect owns the approval ceremony. */
25
+ presentation?: "redirect" | "popup";
26
+ /** Choose any compatible collection, or require one exact collection. */
27
+ target?: MdbaseAuthorizationTarget;
28
+ /** App-local location to restore after the authorization callback. */
29
+ returnTo?: string;
30
+ /** Receives the short code even when the SDK also opens the approval page. */
31
+ onDeviceCode?: (authorization: MdbaseDeviceAuthorization) => void;
32
+ /** Replace the default popup for a downloaded application's approval page. */
33
+ openVerification?: (authorization: MdbaseDeviceAuthorization) => void | Promise<void>;
34
+ }
35
+ export interface MdbaseConnectionAuthorizeOptions extends ConnectRequestOptions {
36
+ /** Exact independent operations, for legacy v1 declarations only. */
37
+ operations?: CollectionOperation[];
38
+ /** Capability groups to request. Required groups are always included; optional groups default to all. */
39
+ capabilities?: ApplicationCapabilityId[];
40
+ presentation?: "redirect" | "popup";
41
+ returnTo?: string;
42
+ onDeviceCode?: (authorization: MdbaseDeviceAuthorization) => void;
43
+ openVerification?: (authorization: MdbaseDeviceAuthorization) => void | Promise<void>;
44
+ }
45
+ export interface MdbaseConnectEnvironment {
46
+ distribution: "web" | "portable";
47
+ applicationOrigin: string;
48
+ credentialStorage: "persistent" | "memory" | "custom";
49
+ }
50
+ export interface MdbaseAuthorizationResult<Frontmatter extends JsonObject = JsonObject> {
51
+ connection: MdbaseConnection<Frontmatter>;
52
+ returnTo?: string;
53
+ }
54
+ export type MdbaseAuthorizationOutcome<Frontmatter extends JsonObject = JsonObject> = {
55
+ kind: "redirecting";
56
+ } | ({
57
+ kind: "connected";
58
+ } & MdbaseAuthorizationResult<Frontmatter>);
59
+ export interface MdbaseConnectionInternals<Frontmatter extends JsonObject> extends ConnectionTransportInternals {
60
+ readonly serverUrl: string;
61
+ readonly storage: Storage;
62
+ readonly keyStore: GrantKeyStore;
63
+ readonly directAccessMode: "auto" | "disabled";
64
+ readonly loopbackUrl: string;
65
+ readonly timeouts: ResolvedConnectTimeouts;
66
+ register(options?: ConnectRequestOptions): Promise<Application>;
67
+ authorize(options?: MdbaseAuthorizeOptions): Promise<MdbaseAuthorizationOutcome<Frontmatter>>;
68
+ notificationKey(collectionId: string, transport?: "web_push" | "fcm"): string;
69
+ }
70
+ export declare class MdbaseConnection<Frontmatter extends JsonObject = JsonObject> {
71
+ private readonly internals;
72
+ readonly collectionId: string;
73
+ private readonly collectionClient;
74
+ private readonly notifications;
75
+ private readonly transport;
76
+ readonly files: MdbaseFileClient;
77
+ private readonly connectionListeners;
78
+ constructor(internals: MdbaseConnectionInternals<Frontmatter>, collectionId: string);
79
+ get displayName(): string;
80
+ get operations(): CollectionOperation[];
81
+ get scope(): GrantScope | null;
82
+ get fileCapability(): FileCapability | null;
83
+ get directAccess(): DirectAccessStatus;
84
+ get route(): MdbaseConnectionRoute;
85
+ register(options?: ConnectRequestOptions): Promise<ConnectOutcome<Application, RegistrationProblemCode>>;
86
+ info(): MdbaseConnectionInfo | null;
87
+ authorizationCapabilities(requiredOperations?: CollectionOperation[]): MdbaseAuthorizationCapabilities;
88
+ hasOperations(requiredOperations: CollectionOperation[]): boolean;
89
+ authorize(options?: MdbaseConnectionAuthorizeOptions): Promise<ConnectOutcome<MdbaseAuthorizationOutcome<Frontmatter>, AuthorizationProblemCode>>;
90
+ requestCapabilities(capabilities: ApplicationCapabilityId[], options?: MdbaseConnectionAuthorizeOptions): Promise<ConnectOutcome<MdbaseAuthorizationOutcome<Frontmatter> | {
91
+ kind: "unchanged";
92
+ connection: MdbaseConnection<Frontmatter>;
93
+ }, AuthorizationProblemCode>>;
94
+ requestOperations(requiredOperations: CollectionOperation[], options?: Omit<MdbaseConnectionAuthorizeOptions, "operations">): Promise<ConnectOutcome<MdbaseAuthorizationOutcome<Frontmatter> | {
95
+ kind: "unchanged";
96
+ connection: MdbaseConnection<Frontmatter>;
97
+ }, AuthorizationProblemCode>>;
98
+ onConnectionChange(listener: (connection: MdbaseConnectionInfo | null) => void): () => void;
99
+ notifyStorageChanged(): void;
100
+ checkDirectAccess(options?: ConnectRequestOptions): Promise<ConnectOutcome<DirectAccessStatus, DirectAccessProblemCode>>;
101
+ /** Call from a user gesture to request browser permission for direct local access. */
102
+ requestDirectAccess(options?: ConnectRequestOptions): Promise<ConnectOutcome<DirectAccessStatus, DirectAccessProblemCode>>;
103
+ disableDirectAccess(): void;
104
+ /**
105
+ * Return one offline-replication transport regardless of whether the
106
+ * authority is remote, directly connected, or relay connected.
107
+ * Authority credentials and routing stay private inside the SDK.
108
+ */
109
+ sync(): MdbaseSyncConnection<Frontmatter> | null;
110
+ /**
111
+ * Register this browser installation for manifest-declared Web Push.
112
+ *
113
+ * Criteria are evaluated by the collection authority. Push payloads contain
114
+ * only an opaque cursor and static presentation copy.
115
+ */
116
+ registerNotifications(options: MdbaseNotificationRegistrationOptions): Promise<ConnectOutcome<MdbaseNotificationRegistration, NotificationProblemCode>>;
117
+ registerNativeNotifications(options: MdbaseNativeNotificationRegistrationOptions): Promise<ConnectOutcome<MdbaseNativeNotificationRegistration, NotificationProblemCode>>;
118
+ unregisterNativeNotifications(options?: ConnectRequestOptions): Promise<ConnectOutcome<void, NotificationProblemCode>>;
119
+ unregisterNotifications(serviceWorker?: ServiceWorkerRegistration, options?: ConnectRequestOptions): Promise<ConnectOutcome<void, NotificationProblemCode>>;
120
+ forget(): void;
121
+ describe(options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionDescription, CollectionDescriptionProblemCode>>;
122
+ changes(input?: ChangesInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionChangesPage, CollectionChangesProblemCode>>;
123
+ read(input: ReadInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<RecordDocument<Frontmatter>, CollectionReadProblemCode>>;
124
+ query(input?: QueryInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<QueryResult<Frontmatter>, CollectionQueryProblemCode>>;
125
+ queryPages(input?: QueryInput, options?: QueryPagesOptions<Frontmatter>): AsyncGenerator<ConnectOutcome<QueryPage<Frontmatter>, CollectionQueryProblemCode>>;
126
+ queryAll(input?: QueryInput, options?: QueryAllOptions<Frontmatter>): Promise<ConnectOutcome<QueryResult<Frontmatter>, CollectionQueryProblemCode>>;
127
+ listViews(options?: ConnectRequestOptions): Promise<ConnectOutcome<SavedViewList, CollectionReadProblemCode>>;
128
+ executeView(input: ExecuteViewInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<SavedViewExecution<Frontmatter>, CollectionReadProblemCode>>;
129
+ executeViewPages(input: ExecuteViewInput, options?: SavedViewPagesOptions<Frontmatter>): AsyncGenerator<ConnectOutcome<SavedViewPage<Frontmatter>, CollectionReadProblemCode>>;
130
+ readViewSource(input: ReadViewSourceInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<SavedViewSourceDocument, CollectionReadProblemCode>>;
131
+ createViewSource(input: CreateViewSourceInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<SavedViewSourceDocument, CollectionMutationProblemCode>>;
132
+ updateViewSource(input: UpdateViewSourceInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<SavedViewSourceDocument, CollectionMutationProblemCode>>;
133
+ deleteViewSource(input: DeleteViewSourceInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<DeleteViewSourceResult, CollectionMutationProblemCode>>;
134
+ create(input: CreateInput<Frontmatter>, options?: ConnectRequestOptions): Promise<ConnectOutcome<RecordDocument<Frontmatter>, CollectionMutationProblemCode>>;
135
+ update(input: UpdateInput<Frontmatter>, options?: ConnectRequestOptions): Promise<ConnectOutcome<RecordDocument<Frontmatter>, CollectionMutationProblemCode>>;
136
+ delete(input: DeleteInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<DeleteResult, CollectionMutationProblemCode>>;
137
+ preflightDelete(input: DeleteInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<DeletePreflightResult, CollectionMutationProblemCode>>;
138
+ rename(input: RenameInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<RenameResult, CollectionMutationProblemCode>>;
139
+ preflightRename(input: RenameInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<RenamePreflightResult, CollectionMutationProblemCode>>;
140
+ renameWithProgress(input: RenameInput, options?: RenameProgressOptions): Promise<ConnectOutcome<RenameResult, CollectionMutationProblemCode>>;
141
+ deleteWithProgress(input: DeleteInput, options?: DeleteProgressOptions): Promise<ConnectOutcome<DeleteResult, CollectionMutationProblemCode>>;
142
+ pendingMutations<Result = unknown>(): readonly PendingMutation<Result>[];
143
+ pendingMutation<Result = unknown>(requestId: string): PendingMutation<Result> | null;
144
+ private recoverPendingMutation;
145
+ validate(input?: JsonObject, options?: ConnectRequestOptions): Promise<ConnectOutcome<JsonObject, CollectionReadProblemCode>>;
146
+ readType(input: ReadTypeInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionTypeDocument, CollectionTypeProblemCode>>;
147
+ createType(input: CreateTypeInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionTypeDocument, CollectionTypeProblemCode>>;
148
+ updateType(input: UpdateTypeInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionTypeDocument, CollectionTypeProblemCode>>;
149
+ assessTypePack(input: AssessTypePackInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<TypePackAssessment, CollectionTypeProblemCode>>;
150
+ applyTypePack(input: ApplyTypePackInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<TypePackApplyResult, CollectionTypeProblemCode>>;
151
+ assessCollectionSetup(input: AssessCollectionSetupInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionSetupAssessment, CollectionTypeProblemCode>>;
152
+ applyCollectionSetup(input: ApplyCollectionSetupInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<CollectionSetupApplyResult, CollectionTypeProblemCode>>;
153
+ listTimers(namespace: string, options?: ConnectRequestOptions): Promise<ConnectOutcome<MdbaseTimerList, CollectionReadProblemCode>>;
154
+ putTimer(input: {
155
+ namespace: string;
156
+ criterionId: string;
157
+ timer: MdbaseDesiredTimer;
158
+ }, options?: ConnectRequestOptions): Promise<ConnectOutcome<MdbaseTimer, CollectionMutationProblemCode>>;
159
+ cancelTimer(input: {
160
+ namespace: string;
161
+ id: string;
162
+ generation?: number;
163
+ }, options?: ConnectRequestOptions): Promise<ConnectOutcome<{
164
+ namespace: string;
165
+ id: string;
166
+ cancelled: boolean;
167
+ }, CollectionMutationProblemCode>>;
168
+ reconcileTimers(input: {
169
+ namespace: string;
170
+ criterionId: string;
171
+ timers: MdbaseDesiredTimer[];
172
+ }, options?: ConnectRequestOptions): Promise<ConnectOutcome<MdbaseTimerReconciliation, CollectionMutationProblemCode>>;
173
+ watch(input?: WatchInput, options?: ConnectRequestOptions): Promise<ConnectOutcome<MdbaseWatchSubscription, CollectionChangesProblemCode>>;
174
+ private emitConnection;
175
+ }