@oxyhq/services 5.13.15 → 5.13.16

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 (138) hide show
  1. package/README.md +10 -0
  2. package/lib/commonjs/core/OxyServices.base.js +271 -0
  3. package/lib/commonjs/core/OxyServices.base.js.map +1 -0
  4. package/lib/commonjs/core/OxyServices.errors.js +26 -0
  5. package/lib/commonjs/core/OxyServices.errors.js.map +1 -0
  6. package/lib/commonjs/core/OxyServices.js +58 -2168
  7. package/lib/commonjs/core/OxyServices.js.map +1 -1
  8. package/lib/commonjs/core/mixins/OxyServices.analytics.js +60 -0
  9. package/lib/commonjs/core/mixins/OxyServices.analytics.js.map +1 -0
  10. package/lib/commonjs/core/mixins/OxyServices.assets.js +406 -0
  11. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -0
  12. package/lib/commonjs/core/mixins/OxyServices.auth.js +303 -0
  13. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -0
  14. package/lib/commonjs/core/mixins/OxyServices.developer.js +115 -0
  15. package/lib/commonjs/core/mixins/OxyServices.developer.js.map +1 -0
  16. package/lib/commonjs/core/mixins/OxyServices.devices.js +119 -0
  17. package/lib/commonjs/core/mixins/OxyServices.devices.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.karma.js +117 -0
  19. package/lib/commonjs/core/mixins/OxyServices.karma.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.language.js +124 -0
  21. package/lib/commonjs/core/mixins/OxyServices.language.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.location.js +55 -0
  23. package/lib/commonjs/core/mixins/OxyServices.location.js.map +1 -0
  24. package/lib/commonjs/core/mixins/OxyServices.payment.js +66 -0
  25. package/lib/commonjs/core/mixins/OxyServices.payment.js.map +1 -0
  26. package/lib/commonjs/core/mixins/OxyServices.privacy.js +174 -0
  27. package/lib/commonjs/core/mixins/OxyServices.privacy.js.map +1 -0
  28. package/lib/commonjs/core/mixins/OxyServices.totp.js +53 -0
  29. package/lib/commonjs/core/mixins/OxyServices.totp.js.map +1 -0
  30. package/lib/commonjs/core/mixins/OxyServices.user.js +389 -0
  31. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -0
  32. package/lib/commonjs/core/mixins/OxyServices.utility.js +161 -0
  33. package/lib/commonjs/core/mixins/OxyServices.utility.js.map +1 -0
  34. package/lib/commonjs/core/mixins/index.js +39 -0
  35. package/lib/commonjs/core/mixins/index.js.map +1 -0
  36. package/lib/commonjs/core/mixins/mixinHelpers.js +62 -0
  37. package/lib/commonjs/core/mixins/mixinHelpers.js.map +1 -0
  38. package/lib/commonjs/ui/context/OxyContext.js +27 -2
  39. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  40. package/lib/module/core/OxyServices.base.js +265 -0
  41. package/lib/module/core/OxyServices.base.js.map +1 -0
  42. package/lib/module/core/OxyServices.errors.js +20 -0
  43. package/lib/module/core/OxyServices.errors.js.map +1 -0
  44. package/lib/module/core/OxyServices.js +43 -2164
  45. package/lib/module/core/OxyServices.js.map +1 -1
  46. package/lib/module/core/mixins/OxyServices.analytics.js +56 -0
  47. package/lib/module/core/mixins/OxyServices.analytics.js.map +1 -0
  48. package/lib/module/core/mixins/OxyServices.assets.js +402 -0
  49. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -0
  50. package/lib/module/core/mixins/OxyServices.auth.js +299 -0
  51. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -0
  52. package/lib/module/core/mixins/OxyServices.developer.js +111 -0
  53. package/lib/module/core/mixins/OxyServices.developer.js.map +1 -0
  54. package/lib/module/core/mixins/OxyServices.devices.js +115 -0
  55. package/lib/module/core/mixins/OxyServices.devices.js.map +1 -0
  56. package/lib/module/core/mixins/OxyServices.karma.js +113 -0
  57. package/lib/module/core/mixins/OxyServices.karma.js.map +1 -0
  58. package/lib/module/core/mixins/OxyServices.language.js +120 -0
  59. package/lib/module/core/mixins/OxyServices.language.js.map +1 -0
  60. package/lib/module/core/mixins/OxyServices.location.js +51 -0
  61. package/lib/module/core/mixins/OxyServices.location.js.map +1 -0
  62. package/lib/module/core/mixins/OxyServices.payment.js +62 -0
  63. package/lib/module/core/mixins/OxyServices.payment.js.map +1 -0
  64. package/lib/module/core/mixins/OxyServices.privacy.js +170 -0
  65. package/lib/module/core/mixins/OxyServices.privacy.js.map +1 -0
  66. package/lib/module/core/mixins/OxyServices.totp.js +49 -0
  67. package/lib/module/core/mixins/OxyServices.totp.js.map +1 -0
  68. package/lib/module/core/mixins/OxyServices.user.js +385 -0
  69. package/lib/module/core/mixins/OxyServices.user.js.map +1 -0
  70. package/lib/module/core/mixins/OxyServices.utility.js +156 -0
  71. package/lib/module/core/mixins/OxyServices.utility.js.map +1 -0
  72. package/lib/module/core/mixins/index.js +36 -0
  73. package/lib/module/core/mixins/index.js.map +1 -0
  74. package/lib/module/core/mixins/mixinHelpers.js +56 -0
  75. package/lib/module/core/mixins/mixinHelpers.js.map +1 -0
  76. package/lib/module/ui/context/OxyContext.js +27 -2
  77. package/lib/module/ui/context/OxyContext.js.map +1 -1
  78. package/lib/typescript/core/OxyServices.base.d.ts +123 -0
  79. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -0
  80. package/lib/typescript/core/OxyServices.d.ts +969 -746
  81. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  82. package/lib/typescript/core/OxyServices.errors.d.ts +12 -0
  83. package/lib/typescript/core/OxyServices.errors.d.ts.map +1 -0
  84. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts +70 -0
  85. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -0
  86. package/lib/typescript/core/mixins/OxyServices.assets.d.ts +159 -0
  87. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -0
  88. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +168 -0
  89. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -0
  90. package/lib/typescript/core/mixins/OxyServices.developer.d.ts +103 -0
  91. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -0
  92. package/lib/typescript/core/mixins/OxyServices.devices.d.ts +93 -0
  93. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -0
  94. package/lib/typescript/core/mixins/OxyServices.karma.d.ts +89 -0
  95. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -0
  96. package/lib/typescript/core/mixins/OxyServices.language.d.ts +85 -0
  97. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -0
  98. package/lib/typescript/core/mixins/OxyServices.location.d.ts +68 -0
  99. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -0
  100. package/lib/typescript/core/mixins/OxyServices.payment.d.ts +74 -0
  101. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -0
  102. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts +126 -0
  103. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -0
  104. package/lib/typescript/core/mixins/OxyServices.totp.d.ts +69 -0
  105. package/lib/typescript/core/mixins/OxyServices.totp.d.ts.map +1 -0
  106. package/lib/typescript/core/mixins/OxyServices.user.d.ts +189 -0
  107. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -0
  108. package/lib/typescript/core/mixins/OxyServices.utility.d.ts +97 -0
  109. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -0
  110. package/lib/typescript/core/mixins/index.d.ts +898 -0
  111. package/lib/typescript/core/mixins/index.d.ts.map +1 -0
  112. package/lib/typescript/core/mixins/mixinHelpers.d.ts +32 -0
  113. package/lib/typescript/core/mixins/mixinHelpers.d.ts.map +1 -0
  114. package/lib/typescript/models/interfaces.d.ts +10 -0
  115. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  116. package/lib/typescript/ui/context/OxyContext.d.ts +2 -0
  117. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  118. package/package.json +1 -1
  119. package/src/core/OxyServices.base.ts +311 -0
  120. package/src/core/OxyServices.errors.ts +26 -0
  121. package/src/core/OxyServices.ts +43 -2199
  122. package/src/core/mixins/OxyServices.analytics.ts +53 -0
  123. package/src/core/mixins/OxyServices.assets.ts +390 -0
  124. package/src/core/mixins/OxyServices.auth.ts +275 -0
  125. package/src/core/mixins/OxyServices.developer.ts +114 -0
  126. package/src/core/mixins/OxyServices.devices.ts +103 -0
  127. package/src/core/mixins/OxyServices.karma.ts +111 -0
  128. package/src/core/mixins/OxyServices.language.ts +127 -0
  129. package/src/core/mixins/OxyServices.location.ts +46 -0
  130. package/src/core/mixins/OxyServices.payment.ts +59 -0
  131. package/src/core/mixins/OxyServices.privacy.ts +182 -0
  132. package/src/core/mixins/OxyServices.totp.ts +36 -0
  133. package/src/core/mixins/OxyServices.user.ts +380 -0
  134. package/src/core/mixins/OxyServices.utility.ts +187 -0
  135. package/src/core/mixins/index.ts +58 -0
  136. package/src/core/mixins/mixinHelpers.ts +69 -0
  137. package/src/models/interfaces.ts +12 -0
  138. package/src/ui/context/OxyContext.tsx +36 -0
@@ -0,0 +1,898 @@
1
+ /**
2
+ * Centralized mixin exports and composition helper
3
+ *
4
+ * This module provides a clean way to compose all mixins
5
+ * and ensures consistent ordering for better maintainability
6
+ */
7
+ import { OxyServicesBase } from '../OxyServices.base';
8
+ /**
9
+ * Composes all OxyServices mixins in the correct order
10
+ *
11
+ * Order matters for mixins - dependencies should be applied first.
12
+ * This function ensures consistent composition across the codebase.
13
+ *
14
+ * @returns The fully composed OxyServices class with all mixins applied
15
+ */
16
+ export declare function composeOxyServices(): {
17
+ new (...args: any[]): {
18
+ fetchLinkMetadata(url: string): Promise<{
19
+ url: string;
20
+ title: string;
21
+ description: string;
22
+ image?: string;
23
+ }>;
24
+ auth(options?: {
25
+ debug?: boolean;
26
+ onError?: ((error: import("..").ApiError) => any) | undefined;
27
+ loadUser?: boolean;
28
+ session?: boolean;
29
+ }): (req: any, res: any, next: any) => any;
30
+ httpClient: import("../HttpClient").HttpClient;
31
+ requestManager: import("../RequestManager").RequestManager;
32
+ cloudURL: string;
33
+ config: import("../OxyServices.base").OxyConfig;
34
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
35
+ getBaseURL(): string;
36
+ getClient(): import("../HttpClient").HttpClient;
37
+ getMetrics(): {
38
+ totalRequests: number;
39
+ successfulRequests: number;
40
+ failedRequests: number;
41
+ cacheHits: number;
42
+ cacheMisses: number;
43
+ averageResponseTime: number;
44
+ };
45
+ clearCache(): void;
46
+ clearCacheEntry(key: string): void;
47
+ getCacheStats(): {
48
+ size: number;
49
+ hits: number;
50
+ misses: number;
51
+ hitRate: number;
52
+ };
53
+ getCloudURL(): string;
54
+ setTokens(accessToken: string, refreshToken?: string): void;
55
+ clearTokens(): void;
56
+ getCurrentUserId(): string | null;
57
+ hasValidToken(): boolean;
58
+ getAccessToken(): string | null;
59
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
60
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
61
+ hasAccessToken(): boolean;
62
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
63
+ maxRetries?: number;
64
+ retryDelay?: number;
65
+ authTimeoutMs?: number;
66
+ }): Promise<T>;
67
+ validate(): Promise<boolean>;
68
+ handleError(error: any): Error;
69
+ healthCheck(): Promise<{
70
+ status: string;
71
+ users?: number;
72
+ timestamp?: string;
73
+ [key: string]: any;
74
+ }>;
75
+ };
76
+ __resetTokensForTests(): void;
77
+ } & {
78
+ new (...args: any[]): {
79
+ registerDevice(deviceData: any): Promise<any>;
80
+ getUserDevices(): Promise<any[]>;
81
+ removeDevice(deviceId: string): Promise<void>;
82
+ getDeviceSessions(sessionId: string): Promise<any[]>;
83
+ logoutAllDeviceSessions(sessionId: string, deviceId?: string, excludeCurrent?: boolean): Promise<any>;
84
+ updateDeviceName(sessionId: string, deviceName: string): Promise<any>;
85
+ httpClient: import("../HttpClient").HttpClient;
86
+ requestManager: import("../RequestManager").RequestManager;
87
+ cloudURL: string;
88
+ config: import("../OxyServices.base").OxyConfig;
89
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
90
+ getBaseURL(): string;
91
+ getClient(): import("../HttpClient").HttpClient;
92
+ getMetrics(): {
93
+ totalRequests: number;
94
+ successfulRequests: number;
95
+ failedRequests: number;
96
+ cacheHits: number;
97
+ cacheMisses: number;
98
+ averageResponseTime: number;
99
+ };
100
+ clearCache(): void;
101
+ clearCacheEntry(key: string): void;
102
+ getCacheStats(): {
103
+ size: number;
104
+ hits: number;
105
+ misses: number;
106
+ hitRate: number;
107
+ };
108
+ getCloudURL(): string;
109
+ setTokens(accessToken: string, refreshToken?: string): void;
110
+ clearTokens(): void;
111
+ getCurrentUserId(): string | null;
112
+ hasValidToken(): boolean;
113
+ getAccessToken(): string | null;
114
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
115
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
116
+ hasAccessToken(): boolean;
117
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
118
+ maxRetries?: number;
119
+ retryDelay?: number;
120
+ authTimeoutMs?: number;
121
+ }): Promise<T>;
122
+ validate(): Promise<boolean>;
123
+ handleError(error: any): Error;
124
+ healthCheck(): Promise<{
125
+ status: string;
126
+ users?: number;
127
+ timestamp?: string;
128
+ [key: string]: any;
129
+ }>;
130
+ };
131
+ __resetTokensForTests(): void;
132
+ } & {
133
+ new (...args: any[]): {
134
+ trackEvent(eventName: string, properties?: Record<string, any>): Promise<void>;
135
+ getAnalytics(startDate?: string, endDate?: string): Promise<any>;
136
+ httpClient: import("../HttpClient").HttpClient;
137
+ requestManager: import("../RequestManager").RequestManager;
138
+ cloudURL: string;
139
+ config: import("../OxyServices.base").OxyConfig;
140
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
141
+ getBaseURL(): string;
142
+ getClient(): import("../HttpClient").HttpClient;
143
+ getMetrics(): {
144
+ totalRequests: number;
145
+ successfulRequests: number;
146
+ failedRequests: number;
147
+ cacheHits: number;
148
+ cacheMisses: number;
149
+ averageResponseTime: number;
150
+ };
151
+ clearCache(): void;
152
+ clearCacheEntry(key: string): void;
153
+ getCacheStats(): {
154
+ size: number;
155
+ hits: number;
156
+ misses: number;
157
+ hitRate: number;
158
+ };
159
+ getCloudURL(): string;
160
+ setTokens(accessToken: string, refreshToken?: string): void;
161
+ clearTokens(): void;
162
+ getCurrentUserId(): string | null;
163
+ hasValidToken(): boolean;
164
+ getAccessToken(): string | null;
165
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
166
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
167
+ hasAccessToken(): boolean;
168
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
169
+ maxRetries?: number;
170
+ retryDelay?: number;
171
+ authTimeoutMs?: number;
172
+ }): Promise<T>;
173
+ validate(): Promise<boolean>;
174
+ handleError(error: any): Error;
175
+ healthCheck(): Promise<{
176
+ status: string;
177
+ users?: number;
178
+ timestamp?: string;
179
+ [key: string]: any;
180
+ }>;
181
+ };
182
+ __resetTokensForTests(): void;
183
+ } & {
184
+ new (...args: any[]): {
185
+ updateLocation(latitude: number, longitude: number): Promise<any>;
186
+ getNearbyUsers(radius?: number): Promise<any[]>;
187
+ httpClient: import("../HttpClient").HttpClient;
188
+ requestManager: import("../RequestManager").RequestManager;
189
+ cloudURL: string;
190
+ config: import("../OxyServices.base").OxyConfig;
191
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
192
+ getBaseURL(): string;
193
+ getClient(): import("../HttpClient").HttpClient;
194
+ getMetrics(): {
195
+ totalRequests: number;
196
+ successfulRequests: number;
197
+ failedRequests: number;
198
+ cacheHits: number;
199
+ cacheMisses: number;
200
+ averageResponseTime: number;
201
+ };
202
+ clearCache(): void;
203
+ clearCacheEntry(key: string): void;
204
+ getCacheStats(): {
205
+ size: number;
206
+ hits: number;
207
+ misses: number;
208
+ hitRate: number;
209
+ };
210
+ getCloudURL(): string;
211
+ setTokens(accessToken: string, refreshToken?: string): void;
212
+ clearTokens(): void;
213
+ getCurrentUserId(): string | null;
214
+ hasValidToken(): boolean;
215
+ getAccessToken(): string | null;
216
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
217
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
218
+ hasAccessToken(): boolean;
219
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
220
+ maxRetries?: number;
221
+ retryDelay?: number;
222
+ authTimeoutMs?: number;
223
+ }): Promise<T>;
224
+ validate(): Promise<boolean>;
225
+ handleError(error: any): Error;
226
+ healthCheck(): Promise<{
227
+ status: string;
228
+ users?: number;
229
+ timestamp?: string;
230
+ [key: string]: any;
231
+ }>;
232
+ };
233
+ __resetTokensForTests(): void;
234
+ } & {
235
+ new (...args: any[]): {
236
+ getDeveloperApps(): Promise<any[]>;
237
+ createDeveloperApp(data: {
238
+ name: string;
239
+ description?: string;
240
+ webhookUrl: string;
241
+ devWebhookUrl?: string;
242
+ scopes?: string[];
243
+ }): Promise<any>;
244
+ getDeveloperApp(appId: string): Promise<any>;
245
+ updateDeveloperApp(appId: string, data: {
246
+ name?: string;
247
+ description?: string;
248
+ webhookUrl?: string;
249
+ devWebhookUrl?: string;
250
+ scopes?: string[];
251
+ }): Promise<any>;
252
+ regenerateDeveloperAppSecret(appId: string): Promise<any>;
253
+ deleteDeveloperApp(appId: string): Promise<any>;
254
+ httpClient: import("../HttpClient").HttpClient;
255
+ requestManager: import("../RequestManager").RequestManager;
256
+ cloudURL: string;
257
+ config: import("../OxyServices.base").OxyConfig;
258
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
259
+ getBaseURL(): string;
260
+ getClient(): import("../HttpClient").HttpClient;
261
+ getMetrics(): {
262
+ totalRequests: number;
263
+ successfulRequests: number;
264
+ failedRequests: number;
265
+ cacheHits: number;
266
+ cacheMisses: number;
267
+ averageResponseTime: number;
268
+ };
269
+ clearCache(): void;
270
+ clearCacheEntry(key: string): void;
271
+ getCacheStats(): {
272
+ size: number;
273
+ hits: number;
274
+ misses: number;
275
+ hitRate: number;
276
+ };
277
+ getCloudURL(): string;
278
+ setTokens(accessToken: string, refreshToken?: string): void;
279
+ clearTokens(): void;
280
+ getCurrentUserId(): string | null;
281
+ hasValidToken(): boolean;
282
+ getAccessToken(): string | null;
283
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
284
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
285
+ hasAccessToken(): boolean;
286
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
287
+ maxRetries?: number;
288
+ retryDelay?: number;
289
+ authTimeoutMs?: number;
290
+ }): Promise<T>;
291
+ validate(): Promise<boolean>;
292
+ handleError(error: any): Error;
293
+ healthCheck(): Promise<{
294
+ status: string;
295
+ users?: number;
296
+ timestamp?: string;
297
+ [key: string]: any;
298
+ }>;
299
+ };
300
+ __resetTokensForTests(): void;
301
+ } & {
302
+ new (...args: any[]): {
303
+ deleteFile(fileId: string): Promise<any>;
304
+ getFileDownloadUrl(fileId: string, variant?: string, expiresIn?: number): string;
305
+ getFileStreamUrl(fileId: string): string;
306
+ listUserFiles(limit?: number, offset?: number): Promise<{
307
+ files: any[];
308
+ total: number;
309
+ hasMore: boolean;
310
+ }>;
311
+ getFileContentAsText(fileId: string, variant?: string): Promise<string>;
312
+ getFileContentAsBlob(fileId: string, variant?: string): Promise<Blob>;
313
+ uploadRawFile(file: File | Blob, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
314
+ calculateSHA256(file: File | Blob): Promise<string>;
315
+ assetInit(sha256: string, size: number, mime: string): Promise<import("..").AssetInitResponse>;
316
+ assetComplete(fileId: string, originalName: string, size: number, mime: string, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>): Promise<any>;
317
+ assetUpload(file: File, visibility?: "private" | "public" | "unlisted", metadata?: Record<string, any>, onProgress?: ((progress: number) => void) | undefined): Promise<any>;
318
+ uploadToPresignedUrl(url: string, file: File, onProgress?: ((progress: number) => void) | undefined): Promise<void>;
319
+ assetLink(fileId: string, app: string, entityType: string, entityId: string, visibility?: "private" | "public" | "unlisted", webhookUrl?: string): Promise<any>;
320
+ assetUnlink(fileId: string, app: string, entityType: string, entityId: string): Promise<any>;
321
+ assetGet(fileId: string): Promise<any>;
322
+ assetGetUrl(fileId: string, variant?: string, expiresIn?: number): Promise<import("..").AssetUrlResponse>;
323
+ assetRestore(fileId: string): Promise<any>;
324
+ assetDelete(fileId: string, force?: boolean): Promise<any>;
325
+ assetGetVariants(fileId: string): Promise<import("..").AssetVariant[]>;
326
+ assetUpdateVisibility(fileId: string, visibility: "private" | "public" | "unlisted"): Promise<any>;
327
+ uploadAvatar(file: File, userId: string, app?: string): Promise<any>;
328
+ uploadProfileBanner(file: File, userId: string, app?: string): Promise<any>;
329
+ httpClient: import("../HttpClient").HttpClient;
330
+ requestManager: import("../RequestManager").RequestManager;
331
+ cloudURL: string;
332
+ config: import("../OxyServices.base").OxyConfig;
333
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
334
+ getBaseURL(): string;
335
+ getClient(): import("../HttpClient").HttpClient;
336
+ getMetrics(): {
337
+ totalRequests: number;
338
+ successfulRequests: number;
339
+ failedRequests: number;
340
+ cacheHits: number;
341
+ cacheMisses: number;
342
+ averageResponseTime: number;
343
+ };
344
+ clearCache(): void;
345
+ clearCacheEntry(key: string): void;
346
+ getCacheStats(): {
347
+ size: number;
348
+ hits: number;
349
+ misses: number;
350
+ hitRate: number;
351
+ };
352
+ getCloudURL(): string;
353
+ setTokens(accessToken: string, refreshToken?: string): void;
354
+ clearTokens(): void;
355
+ getCurrentUserId(): string | null;
356
+ hasValidToken(): boolean;
357
+ getAccessToken(): string | null;
358
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
359
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
360
+ hasAccessToken(): boolean;
361
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
362
+ maxRetries?: number;
363
+ retryDelay?: number;
364
+ authTimeoutMs?: number;
365
+ }): Promise<T>;
366
+ validate(): Promise<boolean>;
367
+ handleError(error: any): Error;
368
+ healthCheck(): Promise<{
369
+ status: string;
370
+ users?: number;
371
+ timestamp?: string;
372
+ [key: string]: any;
373
+ }>;
374
+ };
375
+ __resetTokensForTests(): void;
376
+ } & {
377
+ new (...args: any[]): {
378
+ getUserKarma(userId: string): Promise<any>;
379
+ giveKarma(userId: string, amount: number, reason?: string): Promise<any>;
380
+ getUserKarmaTotal(userId: string): Promise<any>;
381
+ getUserKarmaHistory(userId: string, limit?: number, offset?: number): Promise<any>;
382
+ getKarmaLeaderboard(): Promise<any>;
383
+ getKarmaRules(): Promise<any>;
384
+ httpClient: import("../HttpClient").HttpClient;
385
+ requestManager: import("../RequestManager").RequestManager;
386
+ cloudURL: string;
387
+ config: import("../OxyServices.base").OxyConfig;
388
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
389
+ getBaseURL(): string;
390
+ getClient(): import("../HttpClient").HttpClient;
391
+ getMetrics(): {
392
+ totalRequests: number;
393
+ successfulRequests: number;
394
+ failedRequests: number;
395
+ cacheHits: number;
396
+ cacheMisses: number;
397
+ averageResponseTime: number;
398
+ };
399
+ clearCache(): void;
400
+ clearCacheEntry(key: string): void;
401
+ getCacheStats(): {
402
+ size: number;
403
+ hits: number;
404
+ misses: number;
405
+ hitRate: number;
406
+ };
407
+ getCloudURL(): string;
408
+ setTokens(accessToken: string, refreshToken?: string): void;
409
+ clearTokens(): void;
410
+ getCurrentUserId(): string | null;
411
+ hasValidToken(): boolean;
412
+ getAccessToken(): string | null;
413
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
414
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
415
+ hasAccessToken(): boolean;
416
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
417
+ maxRetries?: number;
418
+ retryDelay?: number;
419
+ authTimeoutMs?: number;
420
+ }): Promise<T>;
421
+ validate(): Promise<boolean>;
422
+ handleError(error: any): Error;
423
+ healthCheck(): Promise<{
424
+ status: string;
425
+ users?: number;
426
+ timestamp?: string;
427
+ [key: string]: any;
428
+ }>;
429
+ };
430
+ __resetTokensForTests(): void;
431
+ } & {
432
+ new (...args: any[]): {
433
+ createPayment(data: any): Promise<any>;
434
+ getPayment(paymentId: string): Promise<any>;
435
+ getUserPayments(): Promise<any[]>;
436
+ httpClient: import("../HttpClient").HttpClient;
437
+ requestManager: import("../RequestManager").RequestManager;
438
+ cloudURL: string;
439
+ config: import("../OxyServices.base").OxyConfig;
440
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
441
+ getBaseURL(): string;
442
+ getClient(): import("../HttpClient").HttpClient;
443
+ getMetrics(): {
444
+ totalRequests: number;
445
+ successfulRequests: number;
446
+ failedRequests: number;
447
+ cacheHits: number;
448
+ cacheMisses: number;
449
+ averageResponseTime: number;
450
+ };
451
+ clearCache(): void;
452
+ clearCacheEntry(key: string): void;
453
+ getCacheStats(): {
454
+ size: number;
455
+ hits: number;
456
+ misses: number;
457
+ hitRate: number;
458
+ };
459
+ getCloudURL(): string;
460
+ setTokens(accessToken: string, refreshToken?: string): void;
461
+ clearTokens(): void;
462
+ getCurrentUserId(): string | null;
463
+ hasValidToken(): boolean;
464
+ getAccessToken(): string | null;
465
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
466
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
467
+ hasAccessToken(): boolean;
468
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
469
+ maxRetries?: number;
470
+ retryDelay?: number;
471
+ authTimeoutMs?: number;
472
+ }): Promise<T>;
473
+ validate(): Promise<boolean>;
474
+ handleError(error: any): Error;
475
+ healthCheck(): Promise<{
476
+ status: string;
477
+ users?: number;
478
+ timestamp?: string;
479
+ [key: string]: any;
480
+ }>;
481
+ };
482
+ __resetTokensForTests(): void;
483
+ } & {
484
+ new (...args: any[]): {
485
+ getStorage(): Promise<{
486
+ getItem: (key: string) => Promise<string | null>;
487
+ setItem: (key: string, value: string) => Promise<void>;
488
+ removeItem: (key: string) => Promise<void>;
489
+ }>;
490
+ getCurrentLanguage(storageKeyPrefix?: string): Promise<string | null>;
491
+ getCurrentLanguageMetadata(storageKeyPrefix?: string): Promise<import("..").LanguageMetadata | null>;
492
+ getCurrentLanguageName(storageKeyPrefix?: string): Promise<string | null>;
493
+ getCurrentNativeLanguageName(storageKeyPrefix?: string): Promise<string | null>;
494
+ httpClient: import("../HttpClient").HttpClient;
495
+ requestManager: import("../RequestManager").RequestManager;
496
+ cloudURL: string;
497
+ config: import("../OxyServices.base").OxyConfig;
498
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
499
+ getBaseURL(): string;
500
+ getClient(): import("../HttpClient").HttpClient;
501
+ getMetrics(): {
502
+ totalRequests: number;
503
+ successfulRequests: number;
504
+ failedRequests: number;
505
+ cacheHits: number;
506
+ cacheMisses: number;
507
+ averageResponseTime: number;
508
+ };
509
+ clearCache(): void;
510
+ clearCacheEntry(key: string): void;
511
+ getCacheStats(): {
512
+ size: number;
513
+ hits: number;
514
+ misses: number;
515
+ hitRate: number;
516
+ };
517
+ getCloudURL(): string;
518
+ setTokens(accessToken: string, refreshToken?: string): void;
519
+ clearTokens(): void;
520
+ getCurrentUserId(): string | null;
521
+ hasValidToken(): boolean;
522
+ getAccessToken(): string | null;
523
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
524
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
525
+ hasAccessToken(): boolean;
526
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
527
+ maxRetries?: number;
528
+ retryDelay?: number;
529
+ authTimeoutMs?: number;
530
+ }): Promise<T>;
531
+ validate(): Promise<boolean>;
532
+ handleError(error: any): Error;
533
+ healthCheck(): Promise<{
534
+ status: string;
535
+ users?: number;
536
+ timestamp?: string;
537
+ [key: string]: any;
538
+ }>;
539
+ };
540
+ __resetTokensForTests(): void;
541
+ } & {
542
+ new (...args: any[]): {
543
+ extractUserId(userIdField: string | {
544
+ _id: string;
545
+ username?: string;
546
+ avatar?: string;
547
+ }): string;
548
+ isUserInList<T extends import("..").BlockedUser | import("..").RestrictedUser>(userId: string, getUserList: () => Promise<T[]>, getIdField: (item: T) => string | {
549
+ _id: string;
550
+ username?: string;
551
+ avatar?: string;
552
+ }): Promise<boolean>;
553
+ getBlockedUsers(): Promise<import("..").BlockedUser[]>;
554
+ blockUser(userId: string): Promise<{
555
+ message: string;
556
+ }>;
557
+ unblockUser(userId: string): Promise<{
558
+ message: string;
559
+ }>;
560
+ isUserBlocked(userId: string): Promise<boolean>;
561
+ getRestrictedUsers(): Promise<import("..").RestrictedUser[]>;
562
+ restrictUser(userId: string): Promise<{
563
+ message: string;
564
+ }>;
565
+ unrestrictUser(userId: string): Promise<{
566
+ message: string;
567
+ }>;
568
+ isUserRestricted(userId: string): Promise<boolean>;
569
+ httpClient: import("../HttpClient").HttpClient;
570
+ requestManager: import("../RequestManager").RequestManager;
571
+ cloudURL: string;
572
+ config: import("../OxyServices.base").OxyConfig;
573
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
574
+ getBaseURL(): string;
575
+ getClient(): import("../HttpClient").HttpClient;
576
+ getMetrics(): {
577
+ totalRequests: number;
578
+ successfulRequests: number;
579
+ failedRequests: number;
580
+ cacheHits: number;
581
+ cacheMisses: number;
582
+ averageResponseTime: number;
583
+ };
584
+ clearCache(): void;
585
+ clearCacheEntry(key: string): void;
586
+ getCacheStats(): {
587
+ size: number;
588
+ hits: number;
589
+ misses: number;
590
+ hitRate: number;
591
+ };
592
+ getCloudURL(): string;
593
+ setTokens(accessToken: string, refreshToken?: string): void;
594
+ clearTokens(): void;
595
+ getCurrentUserId(): string | null;
596
+ hasValidToken(): boolean;
597
+ getAccessToken(): string | null;
598
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
599
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
600
+ hasAccessToken(): boolean;
601
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
602
+ maxRetries?: number;
603
+ retryDelay?: number;
604
+ authTimeoutMs?: number;
605
+ }): Promise<T>;
606
+ validate(): Promise<boolean>;
607
+ handleError(error: any): Error;
608
+ healthCheck(): Promise<{
609
+ status: string;
610
+ users?: number;
611
+ timestamp?: string;
612
+ [key: string]: any;
613
+ }>;
614
+ };
615
+ __resetTokensForTests(): void;
616
+ } & {
617
+ new (...args: any[]): {
618
+ startTotpEnrollment(sessionId: string): Promise<{
619
+ secret: string;
620
+ otpauthUrl: string;
621
+ issuer: string;
622
+ label: string;
623
+ }>;
624
+ verifyTotpEnrollment(sessionId: string, code: string): Promise<{
625
+ enabled: boolean;
626
+ backupCodes?: string[];
627
+ recoveryKey?: string;
628
+ }>;
629
+ disableTotp(sessionId: string, code: string): Promise<{
630
+ disabled: boolean;
631
+ }>;
632
+ httpClient: import("../HttpClient").HttpClient;
633
+ requestManager: import("../RequestManager").RequestManager;
634
+ cloudURL: string;
635
+ config: import("../OxyServices.base").OxyConfig;
636
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
637
+ getBaseURL(): string;
638
+ getClient(): import("../HttpClient").HttpClient;
639
+ getMetrics(): {
640
+ totalRequests: number;
641
+ successfulRequests: number;
642
+ failedRequests: number;
643
+ cacheHits: number;
644
+ cacheMisses: number;
645
+ averageResponseTime: number;
646
+ };
647
+ clearCache(): void;
648
+ clearCacheEntry(key: string): void;
649
+ getCacheStats(): {
650
+ size: number;
651
+ hits: number;
652
+ misses: number;
653
+ hitRate: number;
654
+ };
655
+ getCloudURL(): string;
656
+ setTokens(accessToken: string, refreshToken?: string): void;
657
+ clearTokens(): void;
658
+ getCurrentUserId(): string | null;
659
+ hasValidToken(): boolean;
660
+ getAccessToken(): string | null;
661
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
662
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
663
+ hasAccessToken(): boolean;
664
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
665
+ maxRetries?: number;
666
+ retryDelay?: number;
667
+ authTimeoutMs?: number;
668
+ }): Promise<T>;
669
+ validate(): Promise<boolean>;
670
+ handleError(error: any): Error;
671
+ healthCheck(): Promise<{
672
+ status: string;
673
+ users?: number;
674
+ timestamp?: string;
675
+ [key: string]: any;
676
+ }>;
677
+ };
678
+ __resetTokensForTests(): void;
679
+ } & {
680
+ new (...args: any[]): {
681
+ getProfileByUsername(username: string): Promise<import("..").User>;
682
+ searchProfiles(query: string, pagination?: import("../..").PaginationParams): Promise<import("..").SearchProfilesResponse>;
683
+ getProfileRecommendations(): Promise<{
684
+ [key: string]: any;
685
+ id: string;
686
+ username: string;
687
+ name?: {
688
+ first?: string;
689
+ last?: string;
690
+ full?: string;
691
+ } | undefined;
692
+ description?: string;
693
+ _count?: {
694
+ followers: number;
695
+ following: number;
696
+ } | undefined;
697
+ }[]>;
698
+ getUserById(userId: string): Promise<import("..").User>;
699
+ getCurrentUser(): Promise<import("..").User>;
700
+ updateProfile(updates: Record<string, any>): Promise<import("..").User>;
701
+ getPrivacySettings(userId?: string): Promise<any>;
702
+ updatePrivacySettings(settings: Record<string, any>, userId?: string): Promise<any>;
703
+ requestAccountVerification(reason: string, evidence?: string): Promise<{
704
+ message: string;
705
+ requestId: string;
706
+ }>;
707
+ downloadAccountData(format?: "json" | "csv"): Promise<Blob>;
708
+ deleteAccount(password: string, confirmText: string): Promise<{
709
+ message: string;
710
+ }>;
711
+ updateUser(userId: string, updates: Record<string, any>): Promise<import("..").User>;
712
+ followUser(userId: string): Promise<{
713
+ success: boolean;
714
+ message: string;
715
+ }>;
716
+ unfollowUser(userId: string): Promise<{
717
+ success: boolean;
718
+ message: string;
719
+ }>;
720
+ getFollowStatus(userId: string): Promise<{
721
+ isFollowing: boolean;
722
+ }>;
723
+ getUserFollowers(userId: string, pagination?: import("../..").PaginationParams): Promise<{
724
+ followers: import("..").User[];
725
+ total: number;
726
+ hasMore: boolean;
727
+ }>;
728
+ getUserFollowing(userId: string, pagination?: import("../..").PaginationParams): Promise<{
729
+ following: import("..").User[];
730
+ total: number;
731
+ hasMore: boolean;
732
+ }>;
733
+ getNotifications(): Promise<import("..").Notification[]>;
734
+ getUnreadCount(): Promise<number>;
735
+ createNotification(data: Partial<import("..").Notification>): Promise<import("..").Notification>;
736
+ markNotificationAsRead(notificationId: string): Promise<void>;
737
+ markAllNotificationsAsRead(): Promise<void>;
738
+ deleteNotification(notificationId: string): Promise<void>;
739
+ httpClient: import("../HttpClient").HttpClient;
740
+ requestManager: import("../RequestManager").RequestManager;
741
+ cloudURL: string;
742
+ config: import("../OxyServices.base").OxyConfig;
743
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
744
+ getBaseURL(): string;
745
+ getClient(): import("../HttpClient").HttpClient;
746
+ getMetrics(): {
747
+ totalRequests: number;
748
+ successfulRequests: number;
749
+ failedRequests: number;
750
+ cacheHits: number;
751
+ cacheMisses: number;
752
+ averageResponseTime: number;
753
+ };
754
+ clearCache(): void;
755
+ clearCacheEntry(key: string): void;
756
+ getCacheStats(): {
757
+ size: number;
758
+ hits: number;
759
+ misses: number;
760
+ hitRate: number;
761
+ };
762
+ getCloudURL(): string;
763
+ setTokens(accessToken: string, refreshToken?: string): void;
764
+ clearTokens(): void;
765
+ getCurrentUserId(): string | null;
766
+ hasValidToken(): boolean;
767
+ getAccessToken(): string | null;
768
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
769
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
770
+ hasAccessToken(): boolean;
771
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
772
+ maxRetries?: number;
773
+ retryDelay?: number;
774
+ authTimeoutMs?: number;
775
+ }): Promise<T>;
776
+ validate(): Promise<boolean>;
777
+ handleError(error: any): Error;
778
+ healthCheck(): Promise<{
779
+ status: string;
780
+ users?: number;
781
+ timestamp?: string;
782
+ [key: string]: any;
783
+ }>;
784
+ };
785
+ __resetTokensForTests(): void;
786
+ } & {
787
+ new (...args: any[]): {
788
+ signUp(username: string, email: string, password: string): Promise<{
789
+ message: string;
790
+ token: string;
791
+ user: import("..").User;
792
+ }>;
793
+ requestRecovery(identifier: string): Promise<{
794
+ delivery?: string;
795
+ destination?: string;
796
+ }>;
797
+ verifyRecoveryCode(identifier: string, code: string): Promise<{
798
+ verified: boolean;
799
+ }>;
800
+ resetPassword(identifier: string, code: string, newPassword: string): Promise<{
801
+ success: boolean;
802
+ }>;
803
+ resetPasswordWithTotp(identifier: string, code: string, newPassword: string): Promise<{
804
+ success: boolean;
805
+ }>;
806
+ resetPasswordWithBackupCode(identifier: string, backupCode: string, newPassword: string): Promise<{
807
+ success: boolean;
808
+ }>;
809
+ resetPasswordWithRecoveryKey(identifier: string, recoveryKey: string, newPassword: string): Promise<{
810
+ success: boolean;
811
+ nextRecoveryKey?: string;
812
+ }>;
813
+ signIn(username: string, password: string, deviceName?: string, deviceFingerprint?: any): Promise<import("..").SessionLoginResponse | {
814
+ mfaRequired: true;
815
+ mfaToken: string;
816
+ expiresAt: string;
817
+ }>;
818
+ verifyTotpLogin(mfaToken: string, code: string): Promise<import("..").SessionLoginResponse>;
819
+ getUserBySession(sessionId: string): Promise<import("..").User>;
820
+ getUsersBySessions(sessionIds: string[]): Promise<{
821
+ sessionId: string;
822
+ user: import("..").User | null;
823
+ }[]>;
824
+ getTokenBySession(sessionId: string): Promise<{
825
+ accessToken: string;
826
+ expiresAt: string;
827
+ }>;
828
+ getSessionsBySessionId(sessionId: string): Promise<any[]>;
829
+ logoutSession(sessionId: string, targetSessionId?: string): Promise<void>;
830
+ logoutAllSessions(sessionId: string): Promise<void>;
831
+ validateSession(sessionId: string, options?: {
832
+ deviceFingerprint?: string;
833
+ useHeaderValidation?: boolean;
834
+ }): Promise<{
835
+ valid: boolean;
836
+ expiresAt: string;
837
+ lastActivity: string;
838
+ user: import("..").User;
839
+ sessionId?: string;
840
+ source?: string;
841
+ }>;
842
+ checkUsernameAvailability(username: string): Promise<{
843
+ available: boolean;
844
+ message: string;
845
+ }>;
846
+ checkEmailAvailability(email: string): Promise<{
847
+ available: boolean;
848
+ message: string;
849
+ }>;
850
+ httpClient: import("../HttpClient").HttpClient;
851
+ requestManager: import("../RequestManager").RequestManager;
852
+ cloudURL: string;
853
+ config: import("../OxyServices.base").OxyConfig;
854
+ makeRequest<T>(method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE", url: string, data?: any, options?: import("../RequestManager").RequestOptions): Promise<T>;
855
+ getBaseURL(): string;
856
+ getClient(): import("../HttpClient").HttpClient;
857
+ getMetrics(): {
858
+ totalRequests: number;
859
+ successfulRequests: number;
860
+ failedRequests: number;
861
+ cacheHits: number;
862
+ cacheMisses: number;
863
+ averageResponseTime: number;
864
+ };
865
+ clearCache(): void;
866
+ clearCacheEntry(key: string): void;
867
+ getCacheStats(): {
868
+ size: number;
869
+ hits: number;
870
+ misses: number;
871
+ hitRate: number;
872
+ };
873
+ getCloudURL(): string;
874
+ setTokens(accessToken: string, refreshToken?: string): void;
875
+ clearTokens(): void;
876
+ getCurrentUserId(): string | null;
877
+ hasValidToken(): boolean;
878
+ getAccessToken(): string | null;
879
+ waitForAuth(timeoutMs?: number): Promise<boolean>;
880
+ waitForAuthentication(timeoutMs?: number): Promise<boolean>;
881
+ hasAccessToken(): boolean;
882
+ withAuthRetry<T>(operation: () => Promise<T>, operationName: string, options?: {
883
+ maxRetries?: number;
884
+ retryDelay?: number;
885
+ authTimeoutMs?: number;
886
+ }): Promise<T>;
887
+ validate(): Promise<boolean>;
888
+ handleError(error: any): Error;
889
+ healthCheck(): Promise<{
890
+ status: string;
891
+ users?: number;
892
+ timestamp?: string;
893
+ [key: string]: any;
894
+ }>;
895
+ };
896
+ __resetTokensForTests(): void;
897
+ } & typeof OxyServicesBase;
898
+ //# sourceMappingURL=index.d.ts.map