webs-sdk 0.4.3 → 0.4.4

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/types/index.d.ts CHANGED
@@ -1,351 +1,377 @@
1
- declare module "webs-sdk" {
2
- type JSONValue = string | number | boolean | null | JSONObject | JSONArray;
3
- interface JSONObject { [key: string]: JSONValue; }
4
- interface JSONArray extends Array<JSONValue> {}
5
-
6
- interface ApiEndpoints {
7
- contents: string;
8
- CONFIG: string;
9
- USER_CREATE_ID: string;
10
- NOTIFICATION_SET_TOKEN: string;
11
- SUB_NEW: string;
12
- SUB_STATUS: string;
13
- EVENTS_PUSH: string;
14
- [key: string]: string;
15
- }
16
-
17
- interface ImageCompression {
18
- COMPRESSION: number;
19
- WIDTH: number;
20
- ACTIVE: boolean;
21
- }
22
-
23
- interface Config {
24
- apiBaseUrl: string;
25
- apiVersion: string;
26
- endpoints: ApiEndpoints;
27
- timeout: number;
28
- retryAttempts: number;
29
- defaultHeaders: Record<string, string>;
30
- storage: {
31
- tokenKey: string;
32
- userKey: string;
33
- settingsKey: string;
34
- };
35
- i18n: {
36
- defaultLanguage: string;
37
- supportedLanguages: string[];
38
- fallbackLanguage: string;
39
- };
40
- // Nuevas propiedades del apps_sdk
41
- DEBUG_MODE: boolean;
42
- TRACKING_ANSWERED: boolean;
43
- TRACKING_ACTIVE: boolean;
44
- FORCED_UPDATE: boolean;
45
- CONFIG_EXTRA: any;
46
- QUICK_ACTIONS: any;
47
- EVENTS: { [key: string]: any };
48
- EVENTS_MIXPANEL: { [key: string]: any };
49
- PAYWALL_DATA: any;
50
- SPECIAL_EVENTS: string[];
51
- IMAGE_COMPRESSION: ImageCompression;
52
- EVENT_TYPES: {
53
- OTHER: string;
54
- ACTION: string;
55
- SCREEN: string;
56
- };
57
- MIXPANEL: {
58
- TOKEN: string;
59
- };
60
- }
61
-
62
- interface Networking {
63
- request(url: string, data?: any): Promise<any>;
64
- executeInit(): Promise<any>;
65
- getUserID(): Promise<string | null>;
66
- setToken(token: string): Promise<any>;
67
- checkConnection(): Promise<boolean>;
68
- decryptData(data: any): Promise<any>;
69
- setEndpoints(domains: any): void;
70
- setImageCompression(compression: any): void;
71
- getEndpoints(): Promise<any>;
72
- createSubscription(data: any): Promise<any>;
73
- checkSubscription(): Promise<boolean>;
74
- setForcedUpdate(data: any): boolean;
75
- setConfigExtra(data: any): void;
76
- getConfigExtra(): any;
77
- setQuickActions(quickActions: any): void;
78
- getQuickActions(): any;
79
- setEvents(events: any): void;
80
- setEventsMixPanel(events: any): void;
81
- setPayWallData(data: any): void;
82
- getPayWallData(): any;
83
- sendEvent(eventType: string, eventKeyword: string, eventData?: any, forceSend?: boolean): Promise<any>;
84
- addPendingEvent(event: any): void;
85
- clearPendingEvents(): void;
86
- sendPendingEvents(): Promise<void>;
87
- }
88
-
89
- interface AuthManager {
90
- auto_login(cfg_sessionid: string, website_id: string): Promise<any>;
91
- unsubscribeUser(user_id: string): Promise<any>;
92
- }
93
-
94
- interface I18nManager {
95
- // Clase vacía por ahora
96
- }
97
-
98
- interface Storage {
99
- get(key: string): string | null;
100
- set(key: string, value: string): void;
101
- remove(key: string): void;
102
- clear(): void;
103
- has(key: string): boolean;
104
- // Métodos compatibles con apps_sdk
105
- storeData(key: string, value: any): Promise<void>;
106
- getData(key: string): Promise<any>;
107
- removeData(key: string): Promise<void>;
108
- printAllKeys(): Promise<void>;
109
- removeAllKeys(): Promise<void>;
110
- handleDownloadImage(base64: string, fileName: string): Promise<void>;
111
- handleDownloadImageToCreations(base64Image: string, fileName: string, data: any): Promise<any>;
112
- getCreations(): Promise<any[]>;
113
- deleteCreation(dirName: string): Promise<void>;
114
- deleteAllCreations(): Promise<void>;
115
- setTrackingPermissionGranted(value: boolean): Promise<void>;
116
- setTrackingPermissionFromStorage(): Promise<void>;
117
- handleShareFile(fileName: string): Promise<boolean>;
118
- compressImage(imageUri: string, maxSizeMB?: number): Promise<string | null>;
119
- }
120
-
121
- interface Utils {
122
- formatDate(date: Date, format?: string): string;
123
- generateId(): string;
124
- debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
125
- throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
126
- deepClone<T>(obj: T): T;
127
- isValidEmail(email: string): boolean;
128
- isValidUrl(url: string): boolean;
129
- truncateText(text: string, maxLength: number, suffix?: string): string;
130
- capitalizeFirst(text: string): string;
131
- camelToKebab(str: string): string;
132
- kebabToCamel(str: string): string;
133
- sleep(ms: number): Promise<void>;
134
- getRandomInt(min: number, max: number): number;
135
- arrayChunk<T>(array: T[], size: number): T[][];
136
- arrayUnique<T>(array: T[]): T[];
137
- objectPick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
138
- objectOmit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
139
- // Métodos del apps_sdk adaptados para web
140
- isBase64(str: string): boolean;
141
- isBase64Image(str: string): boolean;
142
- capitalize(text: string): string;
143
- isSpecialEvent(eventKeyword: string): boolean;
144
- downloadFile(data: string, filename: string, type?: string): void;
145
- copyToClipboard(text: string): Promise<void>;
146
- getDeviceInfo(): any;
147
- isMobile(): boolean;
148
- isTablet(): boolean;
149
- isDesktop(): boolean;
150
- getBrowserInfo(): any;
151
- formatBytes(bytes: number, decimals?: number): string;
152
- parseQueryString(queryString: string): Record<string, string>;
153
- buildQueryString(params: Record<string, any>): string;
154
- }
155
-
156
- interface Andromeda {
157
- getWebsiteMetadatabyHostname(hostname: string): Promise<MetadataResult | void>;
158
- }
159
-
160
- interface ContentManager {
161
- getContentByPreset(preset: string, params: Record<string, any>): Promise<any>;
162
- }
163
-
164
- interface SessionData {
165
- user_id: string | null;
166
- isFirstOpen: boolean;
167
- app: {
168
- shortVersion: string;
169
- package: string;
170
- languageCode: string;
171
- regionCode: string;
172
- buildVersionNumber: string;
173
- };
174
- device: {
175
- name: string;
176
- systemName: string;
177
- systemVersion: string;
178
- model: string;
179
- };
180
- sandbox: {
181
- domains: string;
182
- };
183
- adjust: {
184
- attribution_id: string;
185
- idfa: string;
186
- googleAdid: string;
187
- attribution: any;
188
- };
189
- dev: boolean;
190
- lang: string;
191
- package: string;
192
- }
193
-
194
- interface Session {
195
- init(): Promise<void>;
196
- setConfigEndpoint(endpoint: string): void;
197
- initSession(): Promise<void>;
198
- storeSessionStructure(): Promise<void>;
199
- checkFirstOpen(): Promise<void>;
200
- generateSessionID(): string;
201
- checkUserID(): Promise<string | null>;
202
- getSessionData(): SessionData;
203
- getSessionID(): string | null;
204
- getIsFirstOpen(): boolean;
205
- getIsSubscribed(): boolean;
206
- getIsDevUser(): boolean;
207
- setIsSubscribed(isSubscribed: boolean): Promise<void>;
208
- setSubscriptionData(subscriptionData: any): void;
209
- setSubscriptionID(subscriptionID: string): void;
210
- setIsDevUser(isDevUser: boolean): void;
211
- setUserID(userID: string | null): void;
212
- getUserID(): string | null;
213
- setAdjustIDFA(idfa: string): void;
214
- getAdjustIDFA(): Promise<string>;
215
- setAdjustGoogleAdid(googleAdid: string): void;
216
- getAdjustGoogleAdid(): string;
217
- setAdjustAttributionID(attribution_id: string): void;
218
- getAdjustAttributionID(): string;
219
- setAdjustAttribution(attribution: any): void;
220
- sendFirstOpen(): Promise<void>;
221
- checkSubscription(): Promise<void>;
222
- checkSubscription24h(): Promise<void>;
223
- isForcedUpdate(): boolean;
224
- getDeviceLanguage(): string;
225
- getDeviceLanguageAndRegion(): string;
226
- }
227
-
228
- interface MixPanel {
229
- initialize(token?: string | null, trackAutomaticEvents?: boolean, useNative?: boolean, devMode?: boolean): Promise<void>;
230
- getDistinctID(): Promise<string | null>;
231
- trackEvent(eventName: string, properties?: any, forceSend?: boolean): Promise<void>;
232
- trackEventIfExist(eventKeyword: string, eventData?: any): Promise<void>;
233
- superProperties(properties: any): Promise<void>;
234
- superPropertiesAppend(properties: any): Promise<void>;
235
- identifyUser(userID: string): Promise<void>;
236
- resetUserID(): Promise<void>;
237
- setUserProperties(properties: any): Promise<void>;
238
- isMixpanelInitialized(): boolean;
239
- disableTracking(): void;
240
- enableTracking(): void;
241
- }
242
-
243
- interface AudioVoice {
244
- name: string;
245
- lang: string;
246
- localService: boolean;
247
- default: boolean;
248
- voiceURI: string;
249
- }
250
-
251
- interface SpeechOptions {
252
- text: string;
253
- voice?: string;
254
- rate?: number;
255
- pitch?: number;
256
- volume?: number;
257
- lang?: string;
258
- }
259
-
260
- interface AudioConfig {
261
- defaultRate: number;
262
- defaultPitch: number;
263
- defaultVolume: number;
264
- preferredLanguages: string[];
265
- fallbackLanguage: string;
266
- }
267
-
268
- interface Audio {
269
- getAvailableVoices(): AudioVoice[];
270
- getBestVoiceForLanguage(language?: string): any;
271
- speak(options: SpeechOptions): Promise<void>;
272
- speakText(text: string, language?: string): Promise<void>;
273
- pause(): void;
274
- resume(): void;
275
- stop(): void;
276
- isSpeaking(): boolean;
277
- isPaused(): boolean;
278
- isSupported(): boolean;
279
- setAudioConfig(config: Partial<AudioConfig>): void;
280
- getAudioConfig(): AudioConfig;
281
- getAudioInfo(): any;
282
- speakSequence(texts: string[], options?: Partial<SpeechOptions>): Promise<void>;
283
- speakWithEffect(text: string, effect: 'slow' | 'fast' | 'robot' | 'whisper'): Promise<void>;
284
- }
285
-
286
- interface CorporateUserData {
287
- id: string;
288
- email: string;
289
- name: string;
290
- role: string;
291
- local_validation?: boolean;
292
- }
293
-
294
- interface CorporateValidationResponse {
295
- authenticated: boolean;
296
- user?: CorporateUserData;
297
- token?: string;
298
- expires_at?: number;
299
- error?: string;
300
- code?: string;
301
- }
302
-
303
- interface CorporateLogoutResponse {
304
- success: boolean;
305
- message?: string;
306
- redirect_url?: string;
307
- }
308
-
309
- interface CorporateAuthConfig {
310
- authDomain: string;
311
- authValidateUrl: string;
312
- authLogoutUrl: string;
313
- authLoginUrl: string;
314
- appDomain: string;
315
- authCookieDuration: number;
316
- authRevalidationInterval: number;
317
- jwtSecret: string;
318
- authJwtIssuer: string;
319
- }
320
-
321
- interface CorporateAuthManager {
322
- configure(customConfig: Partial<CorporateAuthConfig>): void;
323
- validateUser(autoRedirect?: boolean): Promise<CorporateUserData | null>;
324
- checkAuthStatus(): Promise<{ authenticated: boolean; user?: CorporateUserData }>;
325
- login(returnTo?: string): void;
326
- logout(redirectTo?: string): Promise<void>;
327
- isAdmin(userData?: CorporateUserData): Promise<boolean>;
328
- getCurrentUser(): Promise<CorporateUserData | null>;
329
- hasActiveSession(): Promise<boolean>;
330
- handleAuthCallback(): Promise<boolean>;
331
- forceRevalidation(): Promise<CorporateUserData | null>;
332
- }
333
-
334
- interface WebsSDK {
335
- Networking: Networking;
336
- AuthManager: AuthManager;
337
- I18nManager: I18nManager;
338
- Storage: Storage;
339
- Utils: Utils;
340
- Andromeda: Andromeda;
341
- ContentManager: ContentManager;
342
- Session: Session;
343
- MixPanel: MixPanel;
344
- Audio: Audio;
345
- CorporateAuthManager: CorporateAuthManager;
346
- Config: Config;
347
- }
348
-
349
- const WebsSDK: WebsSDK;
350
- export default WebsSDK;
351
- }
1
+ declare module "webs-sdk" {
2
+ type JSONValue = string | number | boolean | null | JSONObject | JSONArray;
3
+ interface JSONObject { [key: string]: JSONValue; }
4
+ interface JSONArray extends Array<JSONValue> {}
5
+
6
+ interface ApiEndpoints {
7
+ contents: string;
8
+ CONFIG: string;
9
+ USER_CREATE_ID: string;
10
+ NOTIFICATION_SET_TOKEN: string;
11
+ SUB_NEW: string;
12
+ SUB_STATUS: string;
13
+ EVENTS_PUSH: string;
14
+ [key: string]: string;
15
+ }
16
+
17
+ interface ImageCompression {
18
+ COMPRESSION: number;
19
+ WIDTH: number;
20
+ ACTIVE: boolean;
21
+ }
22
+
23
+ interface Config {
24
+ apiBaseUrl: string;
25
+ apiVersion: string;
26
+ endpoints: ApiEndpoints;
27
+ timeout: number;
28
+ retryAttempts: number;
29
+ defaultHeaders: Record<string, string>;
30
+ storage: {
31
+ tokenKey: string;
32
+ userKey: string;
33
+ settingsKey: string;
34
+ };
35
+ i18n: {
36
+ defaultLanguage: string;
37
+ supportedLanguages: string[];
38
+ fallbackLanguage: string;
39
+ };
40
+ // Nuevas propiedades del apps_sdk
41
+ DEBUG_MODE: boolean;
42
+ TRACKING_ANSWERED: boolean;
43
+ TRACKING_ACTIVE: boolean;
44
+ FORCED_UPDATE: boolean;
45
+ CONFIG_EXTRA: any;
46
+ QUICK_ACTIONS: any;
47
+ EVENTS: { [key: string]: any };
48
+ EVENTS_MIXPANEL: { [key: string]: any };
49
+ PAYWALL_DATA: any;
50
+ SPECIAL_EVENTS: string[];
51
+ IMAGE_COMPRESSION: ImageCompression;
52
+ EVENT_TYPES: {
53
+ OTHER: string;
54
+ ACTION: string;
55
+ SCREEN: string;
56
+ };
57
+ MIXPANEL: {
58
+ TOKEN: string;
59
+ };
60
+ }
61
+
62
+ interface Networking {
63
+ request(url: string, data?: any): Promise<any>;
64
+ executeInit(): Promise<any>;
65
+ getUserID(): Promise<string | null>;
66
+ setToken(token: string): Promise<any>;
67
+ checkConnection(): Promise<boolean>;
68
+ decryptData(data: any): Promise<any>;
69
+ setEndpoints(domains: any): void;
70
+ setImageCompression(compression: any): void;
71
+ getEndpoints(): Promise<any>;
72
+ createSubscription(data: any): Promise<any>;
73
+ checkSubscription(): Promise<boolean>;
74
+ setForcedUpdate(data: any): boolean;
75
+ setConfigExtra(data: any): void;
76
+ getConfigExtra(): any;
77
+ setQuickActions(quickActions: any): void;
78
+ getQuickActions(): any;
79
+ setEvents(events: any): void;
80
+ setEventsMixPanel(events: any): void;
81
+ setPayWallData(data: any): void;
82
+ getPayWallData(): any;
83
+ sendEvent(eventType: string, eventKeyword: string, eventData?: any, forceSend?: boolean): Promise<any>;
84
+ addPendingEvent(event: any): void;
85
+ clearPendingEvents(): void;
86
+ sendPendingEvents(): Promise<void>;
87
+ }
88
+
89
+ interface AuthManager {
90
+ auto_login(cfg_sessionid: string, website_id: string): Promise<any>;
91
+ }
92
+
93
+ interface I18nManager {
94
+ // Clase vacía por ahora
95
+ }
96
+
97
+ interface Storage {
98
+ get(key: string): string | null;
99
+ set(key: string, value: string): void;
100
+ remove(key: string): void;
101
+ clear(): void;
102
+ has(key: string): boolean;
103
+ // Métodos compatibles con apps_sdk
104
+ storeData(key: string, value: any): Promise<void>;
105
+ getData(key: string): Promise<any>;
106
+ removeData(key: string): Promise<void>;
107
+ printAllKeys(): Promise<void>;
108
+ removeAllKeys(): Promise<void>;
109
+ handleDownloadImage(base64: string, fileName: string): Promise<void>;
110
+ handleDownloadImageToCreations(base64Image: string, fileName: string, data: any): Promise<any>;
111
+ getCreations(): Promise<any[]>;
112
+ deleteCreation(dirName: string): Promise<void>;
113
+ deleteAllCreations(): Promise<void>;
114
+ setTrackingPermissionGranted(value: boolean): Promise<void>;
115
+ setTrackingPermissionFromStorage(): Promise<void>;
116
+ handleShareFile(fileName: string): Promise<boolean>;
117
+ compressImage(imageUri: string, maxSizeMB?: number): Promise<string | null>;
118
+ }
119
+
120
+ interface Utils {
121
+ formatDate(date: Date, format?: string): string;
122
+ generateId(): string;
123
+ debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
124
+ throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
125
+ deepClone<T>(obj: T): T;
126
+ isValidEmail(email: string): boolean;
127
+ isValidUrl(url: string): boolean;
128
+ truncateText(text: string, maxLength: number, suffix?: string): string;
129
+ capitalizeFirst(text: string): string;
130
+ camelToKebab(str: string): string;
131
+ kebabToCamel(str: string): string;
132
+ sleep(ms: number): Promise<void>;
133
+ getRandomInt(min: number, max: number): number;
134
+ arrayChunk<T>(array: T[], size: number): T[][];
135
+ arrayUnique<T>(array: T[]): T[];
136
+ objectPick<T, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
137
+ objectOmit<T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
138
+ // Métodos del apps_sdk adaptados para web
139
+ isBase64(str: string): boolean;
140
+ isBase64Image(str: string): boolean;
141
+ capitalize(text: string): string;
142
+ isSpecialEvent(eventKeyword: string): boolean;
143
+ downloadFile(data: string, filename: string, type?: string): void;
144
+ copyToClipboard(text: string): Promise<void>;
145
+ getDeviceInfo(): any;
146
+ isMobile(): boolean;
147
+ isTablet(): boolean;
148
+ isDesktop(): boolean;
149
+ getBrowserInfo(): any;
150
+ formatBytes(bytes: number, decimals?: number): string;
151
+ parseQueryString(queryString: string): Record<string, string>;
152
+ buildQueryString(params: Record<string, any>): string;
153
+ }
154
+
155
+ interface Andromeda {
156
+ getWebsiteMetadatabyHostname(hostname: string): Promise<MetadataResult | void>;
157
+ }
158
+
159
+ interface ContentManager {
160
+ getContentByPreset(preset: string, params: Record<string, any>): Promise<any>;
161
+ }
162
+
163
+ interface SessionData {
164
+ user_id: string | null;
165
+ isFirstOpen: boolean;
166
+ app: {
167
+ shortVersion: string;
168
+ package: string;
169
+ languageCode: string;
170
+ regionCode: string;
171
+ buildVersionNumber: string;
172
+ };
173
+ device: {
174
+ name: string;
175
+ systemName: string;
176
+ systemVersion: string;
177
+ model: string;
178
+ };
179
+ sandbox: {
180
+ domains: string;
181
+ };
182
+ adjust: {
183
+ attribution_id: string;
184
+ idfa: string;
185
+ googleAdid: string;
186
+ attribution: any;
187
+ };
188
+ dev: boolean;
189
+ lang: string;
190
+ package: string;
191
+ }
192
+
193
+ interface Session {
194
+ init(): Promise<void>;
195
+ setConfigEndpoint(endpoint: string): void;
196
+ initSession(): Promise<void>;
197
+ storeSessionStructure(): Promise<void>;
198
+ checkFirstOpen(): Promise<void>;
199
+ generateSessionID(): string;
200
+ checkUserID(): Promise<string | null>;
201
+ getSessionData(): SessionData;
202
+ getSessionID(): string | null;
203
+ getIsFirstOpen(): boolean;
204
+ getIsSubscribed(): boolean;
205
+ getIsDevUser(): boolean;
206
+ setIsSubscribed(isSubscribed: boolean): Promise<void>;
207
+ setSubscriptionData(subscriptionData: any): void;
208
+ setSubscriptionID(subscriptionID: string): void;
209
+ setIsDevUser(isDevUser: boolean): void;
210
+ setUserID(userID: string | null): void;
211
+ getUserID(): string | null;
212
+ setAdjustIDFA(idfa: string): void;
213
+ getAdjustIDFA(): Promise<string>;
214
+ setAdjustGoogleAdid(googleAdid: string): void;
215
+ getAdjustGoogleAdid(): string;
216
+ setAdjustAttributionID(attribution_id: string): void;
217
+ getAdjustAttributionID(): string;
218
+ setAdjustAttribution(attribution: any): void;
219
+ sendFirstOpen(): Promise<void>;
220
+ checkSubscription(): Promise<void>;
221
+ checkSubscription24h(): Promise<void>;
222
+ isForcedUpdate(): boolean;
223
+ getDeviceLanguage(): string;
224
+ getDeviceLanguageAndRegion(): string;
225
+ }
226
+
227
+ interface MixPanel {
228
+ initialize(token?: string | null, trackAutomaticEvents?: boolean, useNative?: boolean, devMode?: boolean): Promise<void>;
229
+ getDistinctID(): Promise<string | null>;
230
+ trackEvent(eventName: string, properties?: any, forceSend?: boolean): Promise<void>;
231
+ trackEventIfExist(eventKeyword: string, eventData?: any): Promise<void>;
232
+ superProperties(properties: any): Promise<void>;
233
+ superPropertiesAppend(properties: any): Promise<void>;
234
+ identifyUser(userID: string): Promise<void>;
235
+ resetUserID(): Promise<void>;
236
+ setUserProperties(properties: any): Promise<void>;
237
+ isMixpanelInitialized(): boolean;
238
+ disableTracking(): void;
239
+ enableTracking(): void;
240
+ }
241
+
242
+ interface AudioVoice {
243
+ name: string;
244
+ lang: string;
245
+ localService: boolean;
246
+ default: boolean;
247
+ voiceURI: string;
248
+ }
249
+
250
+ interface SpeechOptions {
251
+ text: string;
252
+ voice?: string;
253
+ rate?: number;
254
+ pitch?: number;
255
+ volume?: number;
256
+ lang?: string;
257
+ }
258
+
259
+ interface AudioConfig {
260
+ defaultRate: number;
261
+ defaultPitch: number;
262
+ defaultVolume: number;
263
+ preferredLanguages: string[];
264
+ fallbackLanguage: string;
265
+ }
266
+
267
+ interface Audio {
268
+ getAvailableVoices(): AudioVoice[];
269
+ getBestVoiceForLanguage(language?: string): any;
270
+ speak(options: SpeechOptions): Promise<void>;
271
+ speakText(text: string, language?: string): Promise<void>;
272
+ pause(): void;
273
+ resume(): void;
274
+ stop(): void;
275
+ isSpeaking(): boolean;
276
+ isPaused(): boolean;
277
+ isSupported(): boolean;
278
+ setAudioConfig(config: Partial<AudioConfig>): void;
279
+ getAudioConfig(): AudioConfig;
280
+ getAudioInfo(): any;
281
+ speakSequence(texts: string[], options?: Partial<SpeechOptions>): Promise<void>;
282
+ speakWithEffect(text: string, effect: 'slow' | 'fast' | 'robot' | 'whisper'): Promise<void>;
283
+ }
284
+
285
+ interface CorporateUserData {
286
+ id: string;
287
+ email: string;
288
+ name: string;
289
+ role: string;
290
+ local_validation?: boolean;
291
+ }
292
+
293
+ interface CorporateValidationResponse {
294
+ authenticated: boolean;
295
+ user?: CorporateUserData;
296
+ token?: string;
297
+ expires_at?: number;
298
+ error?: string;
299
+ code?: string;
300
+ }
301
+
302
+ interface CorporateLogoutResponse {
303
+ success: boolean;
304
+ message?: string;
305
+ redirect_url?: string;
306
+ }
307
+
308
+ interface CorporateAuthConfig {
309
+ authDomain: string;
310
+ authValidateUrl: string;
311
+ authLogoutUrl: string;
312
+ authLoginUrl: string;
313
+ appDomain: string;
314
+ authCookieDuration: number;
315
+ authRevalidationInterval: number;
316
+ jwtSecret: string;
317
+ authJwtIssuer: string;
318
+ }
319
+
320
+ interface CorporateServerSideAuthResult {
321
+ authenticated: boolean;
322
+ user?: CorporateUserData;
323
+ redirectResponse?: any;
324
+ }
325
+
326
+ interface CorporateAuthManager {
327
+ configure(customConfig: Partial<CorporateAuthConfig>): void;
328
+ validateUser(autoRedirect?: boolean): Promise<CorporateUserData | null>;
329
+ checkAuthStatus(): Promise<{ authenticated: boolean; user?: CorporateUserData }>;
330
+ login(returnTo?: string): void;
331
+ logout(redirectTo?: string): Promise<void>;
332
+ isAdmin(userData?: CorporateUserData): Promise<boolean>;
333
+ getCurrentUser(): Promise<CorporateUserData | null>;
334
+ hasActiveSession(): Promise<boolean>;
335
+ handleAuthCallback(): Promise<boolean>;
336
+ forceRevalidation(): Promise<CorporateUserData | null>;
337
+ checkCorporateLogin(): Promise<CorporateUserData | null>;
338
+ validateCorporateAuthServerSide(request: any): Promise<CorporateServerSideAuthResult>;
339
+ }
340
+
341
+ type LegalDocumentType = 'tc' | 'privacy' | 'cookies';
342
+
343
+ interface LegalTextResponse {
344
+ success: boolean;
345
+ data: any;
346
+ webId: string;
347
+ type: string;
348
+ language: string;
349
+ }
350
+
351
+ interface LegalManager {
352
+ getLegalText(
353
+ webId: string,
354
+ type: LegalDocumentType,
355
+ language?: string
356
+ ): Promise<LegalTextResponse>;
357
+ }
358
+
359
+ interface WebsSDK {
360
+ Networking: Networking;
361
+ AuthManager: AuthManager;
362
+ I18nManager: I18nManager;
363
+ Storage: Storage;
364
+ Utils: Utils;
365
+ Andromeda: Andromeda;
366
+ ContentManager: ContentManager;
367
+ Session: Session;
368
+ MixPanel: MixPanel;
369
+ Audio: Audio;
370
+ CorporateAuthManager: CorporateAuthManager;
371
+ Legal: LegalManager;
372
+ Config: Config;
373
+ }
374
+
375
+ const WebsSDK: WebsSDK;
376
+ export default WebsSDK;
377
+ }