terminus-cloud-settings-sync-plus 0.0.0-stage → 1.0.1

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +7 -0
  3. package/README.en.md +41 -0
  4. package/README.md +40 -2
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.LICENSE.txt +7439 -0
  7. package/dist/src/components/change-logs/change-logs.component.d.ts +244 -0
  8. package/dist/src/components/checkbox.component.d.ts +13 -0
  9. package/dist/src/components/cloud-sync-settings.component.d.ts +431 -0
  10. package/dist/src/components/feeback-form/feeback.component.d.ts +242 -0
  11. package/dist/src/components/master-password/master-password.component.d.ts +244 -0
  12. package/dist/src/components/sub-components/about/about.component.d.ts +20 -0
  13. package/dist/src/components/sub-components/amazon/amazon-settings.component.d.ts +459 -0
  14. package/dist/src/components/sub-components/built-in/builtin-settings.component.d.ts +444 -0
  15. package/dist/src/components/sub-components/check-for-updates/check-for-updates.component.d.ts +267 -0
  16. package/dist/src/components/sub-components/dropbox/dropbox-encryption-secret-modal.component.d.ts +252 -0
  17. package/dist/src/components/sub-components/dropbox/dropbox-settings.component.d.ts +488 -0
  18. package/dist/src/components/sub-components/ftp/ftp-settings.component.d.ts +460 -0
  19. package/dist/src/components/sub-components/gist/gist-settings.component.d.ts +461 -0
  20. package/dist/src/components/sub-components/webdav/webdav-settings.component.d.ts +454 -0
  21. package/dist/src/components/toggle.component.d.ts +4 -0
  22. package/dist/src/data/lang.d.ts +245 -0
  23. package/dist/src/data/s3-data.d.ts +15 -0
  24. package/dist/src/data/setting-items.d.ts +198 -0
  25. package/dist/src/index.d.ts +47 -0
  26. package/dist/src/interface/index.d.ts +65 -0
  27. package/dist/src/providers/cloud-sync-actions.d.ts +15 -0
  28. package/dist/src/providers/cloud-sync-command.provider.d.ts +16 -0
  29. package/dist/src/providers/cloud-sync-toolbar.provider.d.ts +7 -0
  30. package/dist/src/services/dev-constants.d.ts +4 -0
  31. package/dist/src/services/tabby-sync-upgrade.d.ts +10 -0
  32. package/dist/src/services/toast.d.ts +61 -0
  33. package/dist/src/settings.d.ts +7 -0
  34. package/dist/src/utils/CloudSyncSettingsHelper.d.ts +8 -0
  35. package/dist/src/utils/Logger.d.ts +29 -0
  36. package/dist/src/utils/cloud-components/AmazonS3.d.ts +38 -0
  37. package/dist/src/utils/cloud-components/Dropbox.d.ts +50 -0
  38. package/dist/src/utils/cloud-components/FTP.d.ts +46 -0
  39. package/dist/src/utils/cloud-components/WebDav.d.ts +34 -0
  40. package/dist/src/utils/cloud-components/gist.d.ts +86 -0
  41. package/dist/src/utils/cloud-components/gists/gists.d.ts +15 -0
  42. package/dist/src/utils/cloud-components/gists/gitee.d.ts +16 -0
  43. package/dist/src/utils/cloud-components/gists/github.d.ts +16 -0
  44. package/dist/src/utils/cloud-components/gists/gitlab.d.ts +44 -0
  45. package/dist/src/utils/cloud-components/sync-utils.d.ts +90 -0
  46. package/dist/src/utils/config-hash.d.ts +21 -0
  47. package/dist/src/utils/dev-mock-data.d.ts +6 -0
  48. package/dist/src/utils/settings-crypto.d.ts +53 -0
  49. package/dist/src/utils/settings-helper.d.ts +177 -0
  50. package/dist/src/utils/settings-secret.d.ts +16 -0
  51. package/dist/src/utils/sync-lock.d.ts +44 -0
  52. package/dist/src/utils/sync-payload.d.ts +38 -0
  53. package/dist/src/utils/sync-state.d.ts +55 -0
  54. package/package.json +111 -6
@@ -0,0 +1,244 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { PlatformService } from 'terminus-core';
3
+ export declare class ChangeLogsComponent implements OnInit {
4
+ private platform;
5
+ translate: {
6
+ lang: {
7
+ common: {
8
+ menu_title: string;
9
+ verifyConfigString: string;
10
+ config_inject_header: string;
11
+ errors: {
12
+ invalidServerConfig: string;
13
+ };
14
+ };
15
+ form: {
16
+ error: {
17
+ required_all: string;
18
+ };
19
+ };
20
+ tabs: {
21
+ general: string;
22
+ security: string;
23
+ feedback: string;
24
+ change_logs: string;
25
+ check_for_update: string;
26
+ };
27
+ alerts: {
28
+ debug_build: string;
29
+ update_available: string;
30
+ };
31
+ settings: {
32
+ title: string;
33
+ sub_title: string;
34
+ service_label: string;
35
+ service_hint: string;
36
+ sync_enabled_label: string;
37
+ sync_enabled_hint: string;
38
+ show_loader_label: string;
39
+ show_loader_hint: string;
40
+ interval_label: string;
41
+ interval_hint: string;
42
+ encryption_title: string;
43
+ encryption_hint: string;
44
+ encryption_secret_label: string;
45
+ encryption_secret_hint: string;
46
+ encryption_secret_placeholder: string;
47
+ encryption_confirm_label: string;
48
+ encryption_confirm_hint: string;
49
+ encryption_confirm_placeholder: string;
50
+ encryption_show_secret: string;
51
+ encryption_hide_secret: string;
52
+ encryption_show_confirmation: string;
53
+ encryption_hide_confirmation: string;
54
+ encryption_set: string;
55
+ encryption_configured: string;
56
+ encryption_configured_hint: string;
57
+ encryption_legacy_title: string;
58
+ encryption_legacy_warning: string;
59
+ encryption_recovery_warning: string;
60
+ encryption_mismatch: string;
61
+ encryption_saved: string;
62
+ encryption_failed: string;
63
+ encryption_already_configured: string;
64
+ amazon: {
65
+ connected: string;
66
+ save_settings_failed: string;
67
+ save_settings_success: string;
68
+ };
69
+ error_connection_timeout: string;
70
+ };
71
+ sync: {
72
+ loading_config: string;
73
+ sync_confirmation: string;
74
+ setting_valid: string;
75
+ error_setting_save_file: string;
76
+ error_connection: string;
77
+ error_invalid_setting: string;
78
+ error_invalid_setting_2: string;
79
+ error_save_setting: string;
80
+ need_to_save_config: string;
81
+ sync_success: string;
82
+ sync_error: string;
83
+ sync_server_failed: string;
84
+ sync_enabled: string;
85
+ sync_disabled: string;
86
+ loader_enabled: string;
87
+ loader_disabled: string;
88
+ confirm_remove_setting: string;
89
+ remove_setting_success: string;
90
+ remove_setting_error: string;
91
+ remove_secret_error: string;
92
+ setting_changes_saved: string;
93
+ confirm_push_local: string;
94
+ };
95
+ log: {
96
+ invalid_cloud_settings: string;
97
+ read_cloud_settings: string;
98
+ error_upload_settings: string;
99
+ error_test_connection: string;
100
+ };
101
+ s3: {
102
+ title: string;
103
+ title_blackblaze: string;
104
+ app_id_placeholder: string;
105
+ app_secret_placeholder: string;
106
+ blackblaze_key_placeholder: string;
107
+ blackblaze_app_key_placeholder: string;
108
+ bucket_placeholder: string;
109
+ region_placeholder: string;
110
+ blackblaze_region_placeholder: string;
111
+ endpoint_placeholder: string;
112
+ location_placeholder: string;
113
+ blackblaze_region_help: string;
114
+ };
115
+ ftp: {
116
+ title: string;
117
+ host_placeholder: string;
118
+ location_placeholder: string;
119
+ username_placeholder: string;
120
+ password_placeholder: string;
121
+ port_placeholder: string;
122
+ };
123
+ webdav: {
124
+ title: string;
125
+ host_placeholder: string;
126
+ username_placeholder: string;
127
+ password_placeholder: string;
128
+ port_placeholder: string;
129
+ location_placeholder: string;
130
+ };
131
+ gist: {
132
+ title: string;
133
+ name: string;
134
+ id: string;
135
+ token: string;
136
+ invalid_provider: string;
137
+ enter_id: string;
138
+ error_create_gist: string;
139
+ help_github: string;
140
+ help_gitee: string;
141
+ };
142
+ dropbox: {
143
+ title: string;
144
+ title_connecting: string;
145
+ callback_waiting: string;
146
+ callback_listener_unavailable: string;
147
+ callback_title: string;
148
+ callback_hint: string;
149
+ callback_invalid: string;
150
+ callback_timeout: string;
151
+ use_manual_callback: string;
152
+ obtain_token: string;
153
+ obtaining_token: string;
154
+ paste_from_clipboard: string;
155
+ connected: string;
156
+ last_sync_error: string;
157
+ disconnect_account: string;
158
+ confirm_disconnect: string;
159
+ encryption_secret_title: string;
160
+ encryption_secret_required: string;
161
+ encryption_secret_label: string;
162
+ encryption_secret_placeholder: string;
163
+ encryption_secret_invalid: string;
164
+ encryption_secret_saved: string;
165
+ encryption_unlock: string;
166
+ encryption_unlocking: string;
167
+ missing_app_credentials: string;
168
+ missing_callback_url: string;
169
+ connect_success: string;
170
+ clipboard_success: string;
171
+ clipboard_error: string;
172
+ };
173
+ builtin: {
174
+ login_title: string;
175
+ reset_title: string;
176
+ email_placeholder: string;
177
+ password_placeholder: string;
178
+ reset_notice: string;
179
+ };
180
+ vault: {
181
+ title: string;
182
+ description: string;
183
+ };
184
+ feedback: {
185
+ title: string;
186
+ description: string;
187
+ description_2: string;
188
+ open_issue_hint: string;
189
+ };
190
+ changelogs: {
191
+ title: string;
192
+ description: string;
193
+ column_version: string;
194
+ column_date: string;
195
+ column_description: string;
196
+ };
197
+ updates: {
198
+ title: string;
199
+ current_version: string;
200
+ check_hint: string;
201
+ latest_version: string;
202
+ whats_new: string;
203
+ up_to_date: string;
204
+ check_failed: string;
205
+ upgrade_success: string;
206
+ rollback_title: string;
207
+ rollback_warning_backup: string;
208
+ rollback_warning_risk: string;
209
+ confirm_rollback: string;
210
+ column_version: string;
211
+ column_action: string;
212
+ };
213
+ buttons: {
214
+ sync_from_cloud: string;
215
+ sync_from_local: string;
216
+ check_update: string;
217
+ yes: string;
218
+ cancel: string;
219
+ no: string;
220
+ ok: string;
221
+ view: string;
222
+ connect: string;
223
+ disconnect: string;
224
+ open_github_issue: string;
225
+ rollback: string;
226
+ update_to: string;
227
+ visit_plugin_page: string;
228
+ login: string;
229
+ reset_password: string;
230
+ send_reset_link: string;
231
+ test_connection: string;
232
+ processing: string;
233
+ save_settings: string;
234
+ upload_settings: string;
235
+ cloud_syncing_progress: string;
236
+ remove_saved_setting: string;
237
+ };
238
+ };
239
+ trans: (key: string, replacements?: Record<string, string | number>) => string;
240
+ };
241
+ constructor(platform: PlatformService);
242
+ ngOnInit(): void;
243
+ openPluginPage(): void;
244
+ }
@@ -0,0 +1,13 @@
1
+ import { ControlValueAccessor } from '@angular/forms';
2
+ /** @hidden */
3
+ export declare class CheckboxComponent implements ControlValueAccessor {
4
+ model: boolean;
5
+ disabled: boolean;
6
+ text: string;
7
+ private changed;
8
+ click(): void;
9
+ writeValue(obj: any): void;
10
+ registerOnChange(fn: any): void;
11
+ registerOnTouched(fn: any): void;
12
+ setDisabledState(isDisabled: boolean): void;
13
+ }
@@ -0,0 +1,431 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { ConfigService, PlatformService, BaseComponent } from 'terminus-core';
3
+ /** @hidden */
4
+ export declare class CloudSyncSettingsComponent extends BaseComponent implements OnInit {
5
+ config: ConfigService;
6
+ private platform;
7
+ lastVersion: string;
8
+ translate: {
9
+ lang: {
10
+ common: {
11
+ menu_title: string;
12
+ verifyConfigString: string;
13
+ config_inject_header: string;
14
+ errors: {
15
+ invalidServerConfig: string;
16
+ };
17
+ };
18
+ form: {
19
+ error: {
20
+ required_all: string;
21
+ };
22
+ };
23
+ tabs: {
24
+ general: string;
25
+ security: string;
26
+ feedback: string;
27
+ change_logs: string;
28
+ check_for_update: string;
29
+ };
30
+ alerts: {
31
+ debug_build: string;
32
+ update_available: string;
33
+ };
34
+ settings: {
35
+ title: string;
36
+ sub_title: string;
37
+ service_label: string;
38
+ service_hint: string;
39
+ sync_enabled_label: string;
40
+ sync_enabled_hint: string;
41
+ show_loader_label: string;
42
+ show_loader_hint: string;
43
+ interval_label: string;
44
+ interval_hint: string;
45
+ encryption_title: string;
46
+ encryption_hint: string;
47
+ encryption_secret_label: string;
48
+ encryption_secret_hint: string;
49
+ encryption_secret_placeholder: string;
50
+ encryption_confirm_label: string;
51
+ encryption_confirm_hint: string;
52
+ encryption_confirm_placeholder: string;
53
+ encryption_show_secret: string;
54
+ encryption_hide_secret: string;
55
+ encryption_show_confirmation: string;
56
+ encryption_hide_confirmation: string;
57
+ encryption_set: string;
58
+ encryption_configured: string;
59
+ encryption_configured_hint: string;
60
+ encryption_legacy_title: string;
61
+ encryption_legacy_warning: string;
62
+ encryption_recovery_warning: string;
63
+ encryption_mismatch: string;
64
+ encryption_saved: string;
65
+ encryption_failed: string;
66
+ encryption_already_configured: string;
67
+ amazon: {
68
+ connected: string;
69
+ save_settings_failed: string;
70
+ save_settings_success: string;
71
+ };
72
+ error_connection_timeout: string;
73
+ };
74
+ sync: {
75
+ loading_config: string;
76
+ sync_confirmation: string;
77
+ setting_valid: string;
78
+ error_setting_save_file: string;
79
+ error_connection: string;
80
+ error_invalid_setting: string;
81
+ error_invalid_setting_2: string;
82
+ error_save_setting: string;
83
+ need_to_save_config: string;
84
+ sync_success: string;
85
+ sync_error: string;
86
+ sync_server_failed: string;
87
+ sync_enabled: string;
88
+ sync_disabled: string;
89
+ loader_enabled: string;
90
+ loader_disabled: string;
91
+ confirm_remove_setting: string;
92
+ remove_setting_success: string;
93
+ remove_setting_error: string;
94
+ remove_secret_error: string;
95
+ setting_changes_saved: string;
96
+ confirm_push_local: string;
97
+ };
98
+ log: {
99
+ invalid_cloud_settings: string;
100
+ read_cloud_settings: string;
101
+ error_upload_settings: string;
102
+ error_test_connection: string;
103
+ };
104
+ s3: {
105
+ title: string;
106
+ title_blackblaze: string;
107
+ app_id_placeholder: string;
108
+ app_secret_placeholder: string;
109
+ blackblaze_key_placeholder: string;
110
+ blackblaze_app_key_placeholder: string;
111
+ bucket_placeholder: string;
112
+ region_placeholder: string;
113
+ blackblaze_region_placeholder: string;
114
+ endpoint_placeholder: string;
115
+ location_placeholder: string;
116
+ blackblaze_region_help: string;
117
+ };
118
+ ftp: {
119
+ title: string;
120
+ host_placeholder: string;
121
+ location_placeholder: string;
122
+ username_placeholder: string;
123
+ password_placeholder: string;
124
+ port_placeholder: string;
125
+ };
126
+ webdav: {
127
+ title: string;
128
+ host_placeholder: string;
129
+ username_placeholder: string;
130
+ password_placeholder: string;
131
+ port_placeholder: string;
132
+ location_placeholder: string;
133
+ };
134
+ gist: {
135
+ title: string;
136
+ name: string;
137
+ id: string;
138
+ token: string;
139
+ invalid_provider: string;
140
+ enter_id: string;
141
+ error_create_gist: string;
142
+ help_github: string;
143
+ help_gitee: string;
144
+ };
145
+ dropbox: {
146
+ title: string;
147
+ title_connecting: string;
148
+ callback_waiting: string;
149
+ callback_listener_unavailable: string;
150
+ callback_title: string;
151
+ callback_hint: string;
152
+ callback_invalid: string;
153
+ callback_timeout: string;
154
+ use_manual_callback: string;
155
+ obtain_token: string;
156
+ obtaining_token: string;
157
+ paste_from_clipboard: string;
158
+ connected: string;
159
+ last_sync_error: string;
160
+ disconnect_account: string;
161
+ confirm_disconnect: string;
162
+ encryption_secret_title: string;
163
+ encryption_secret_required: string;
164
+ encryption_secret_label: string;
165
+ encryption_secret_placeholder: string;
166
+ encryption_secret_invalid: string;
167
+ encryption_secret_saved: string;
168
+ encryption_unlock: string;
169
+ encryption_unlocking: string;
170
+ missing_app_credentials: string;
171
+ missing_callback_url: string;
172
+ connect_success: string;
173
+ clipboard_success: string;
174
+ clipboard_error: string;
175
+ };
176
+ builtin: {
177
+ login_title: string;
178
+ reset_title: string;
179
+ email_placeholder: string;
180
+ password_placeholder: string;
181
+ reset_notice: string;
182
+ };
183
+ vault: {
184
+ title: string;
185
+ description: string;
186
+ };
187
+ feedback: {
188
+ title: string;
189
+ description: string;
190
+ description_2: string;
191
+ open_issue_hint: string;
192
+ };
193
+ changelogs: {
194
+ title: string;
195
+ description: string;
196
+ column_version: string;
197
+ column_date: string;
198
+ column_description: string;
199
+ };
200
+ updates: {
201
+ title: string;
202
+ current_version: string;
203
+ check_hint: string;
204
+ latest_version: string;
205
+ whats_new: string;
206
+ up_to_date: string;
207
+ check_failed: string;
208
+ upgrade_success: string;
209
+ rollback_title: string;
210
+ rollback_warning_backup: string;
211
+ rollback_warning_risk: string;
212
+ confirm_rollback: string;
213
+ column_version: string;
214
+ column_action: string;
215
+ };
216
+ buttons: {
217
+ sync_from_cloud: string;
218
+ sync_from_local: string;
219
+ check_update: string;
220
+ yes: string;
221
+ cancel: string;
222
+ no: string;
223
+ ok: string;
224
+ view: string;
225
+ connect: string;
226
+ disconnect: string;
227
+ open_github_issue: string;
228
+ rollback: string;
229
+ update_to: string;
230
+ visit_plugin_page: string;
231
+ login: string;
232
+ reset_password: string;
233
+ send_reset_link: string;
234
+ test_connection: string;
235
+ processing: string;
236
+ save_settings: string;
237
+ upload_settings: string;
238
+ cloud_syncing_progress: string;
239
+ remove_saved_setting: string;
240
+ };
241
+ };
242
+ trans: (key: string, replacements?: Record<string, string | number>) => string;
243
+ };
244
+ isUpdateAvailable: boolean;
245
+ updateAvailableMessage: string;
246
+ isDebug: boolean;
247
+ serviceProviderValues: {
248
+ BUILT_IN: string;
249
+ S3: string;
250
+ WASABI: string;
251
+ DIGITAL_OCEAN: string;
252
+ BLACKBLAZE: string;
253
+ S3_COMPATIBLE: string;
254
+ WEBDAV: string;
255
+ FTP: string;
256
+ GIST: string;
257
+ DROPBOX: string;
258
+ };
259
+ serviceProviders: {
260
+ name: string;
261
+ value: string;
262
+ }[];
263
+ selectedProvider: string;
264
+ syncEnabled: boolean;
265
+ isShowSyncLoader: boolean;
266
+ intervalSync: number;
267
+ storedSettingsData: any;
268
+ form: {
269
+ [x: string]: {
270
+ email: string;
271
+ password: string;
272
+ reset_password_email: string;
273
+ appId?: undefined;
274
+ appSecret?: undefined;
275
+ location?: undefined;
276
+ bucket?: undefined;
277
+ region?: undefined;
278
+ endpointUrl?: undefined;
279
+ host?: undefined;
280
+ username?: undefined;
281
+ port?: undefined;
282
+ protocol?: undefined;
283
+ type?: undefined;
284
+ name?: undefined;
285
+ accessToken?: undefined;
286
+ id?: undefined;
287
+ apiKey?: undefined;
288
+ } | {
289
+ appId: string;
290
+ appSecret: string;
291
+ location: string;
292
+ bucket: string;
293
+ region: string;
294
+ email?: undefined;
295
+ password?: undefined;
296
+ reset_password_email?: undefined;
297
+ endpointUrl?: undefined;
298
+ host?: undefined;
299
+ username?: undefined;
300
+ port?: undefined;
301
+ protocol?: undefined;
302
+ type?: undefined;
303
+ name?: undefined;
304
+ accessToken?: undefined;
305
+ id?: undefined;
306
+ apiKey?: undefined;
307
+ } | {
308
+ endpointUrl: string;
309
+ appId: string;
310
+ appSecret: string;
311
+ location: string;
312
+ bucket: string;
313
+ region: string;
314
+ email?: undefined;
315
+ password?: undefined;
316
+ reset_password_email?: undefined;
317
+ host?: undefined;
318
+ username?: undefined;
319
+ port?: undefined;
320
+ protocol?: undefined;
321
+ type?: undefined;
322
+ name?: undefined;
323
+ accessToken?: undefined;
324
+ id?: undefined;
325
+ apiKey?: undefined;
326
+ } | {
327
+ host: string;
328
+ username: string;
329
+ password: string;
330
+ location: string;
331
+ port: string;
332
+ email?: undefined;
333
+ reset_password_email?: undefined;
334
+ appId?: undefined;
335
+ appSecret?: undefined;
336
+ bucket?: undefined;
337
+ region?: undefined;
338
+ endpointUrl?: undefined;
339
+ protocol?: undefined;
340
+ type?: undefined;
341
+ name?: undefined;
342
+ accessToken?: undefined;
343
+ id?: undefined;
344
+ apiKey?: undefined;
345
+ } | {
346
+ protocol: string;
347
+ host: string;
348
+ username: string;
349
+ password: string;
350
+ location: string;
351
+ port: number;
352
+ email?: undefined;
353
+ reset_password_email?: undefined;
354
+ appId?: undefined;
355
+ appSecret?: undefined;
356
+ bucket?: undefined;
357
+ region?: undefined;
358
+ endpointUrl?: undefined;
359
+ type?: undefined;
360
+ name?: undefined;
361
+ accessToken?: undefined;
362
+ id?: undefined;
363
+ apiKey?: undefined;
364
+ } | {
365
+ type: string;
366
+ name: string;
367
+ accessToken: string;
368
+ id: string;
369
+ email?: undefined;
370
+ password?: undefined;
371
+ reset_password_email?: undefined;
372
+ appId?: undefined;
373
+ appSecret?: undefined;
374
+ location?: undefined;
375
+ bucket?: undefined;
376
+ region?: undefined;
377
+ endpointUrl?: undefined;
378
+ host?: undefined;
379
+ username?: undefined;
380
+ port?: undefined;
381
+ protocol?: undefined;
382
+ apiKey?: undefined;
383
+ } | {
384
+ apiKey: string;
385
+ email?: undefined;
386
+ password?: undefined;
387
+ reset_password_email?: undefined;
388
+ appId?: undefined;
389
+ appSecret?: undefined;
390
+ location?: undefined;
391
+ bucket?: undefined;
392
+ region?: undefined;
393
+ endpointUrl?: undefined;
394
+ host?: undefined;
395
+ username?: undefined;
396
+ port?: undefined;
397
+ protocol?: undefined;
398
+ type?: undefined;
399
+ name?: undefined;
400
+ accessToken?: undefined;
401
+ id?: undefined;
402
+ };
403
+ };
404
+ hasCustomEncryptionSecret: boolean;
405
+ encryptionSecretLoaded: boolean;
406
+ encryptionSecret: string;
407
+ encryptionSecretConfirmation: string;
408
+ showEncryptionSecret: boolean;
409
+ showEncryptionSecretConfirmation: boolean;
410
+ recoverySnapshots: string[];
411
+ true: any;
412
+ constructor(config: ConfigService, platform: PlatformService);
413
+ ngOnInit(): Promise<void>;
414
+ /** Logs provider selection and safe Dropbox build diagnostics without exposing credentials. */
415
+ onProviderChanged(provider: string): void;
416
+ /**
417
+ * Queries the npm registry for the latest published version and flags an update
418
+ * as available when the installed version is older (semver comparison).
419
+ */
420
+ checkForNewVersion(): Promise<void>;
421
+ restoreRecoverySnapshot(snapshotPath: string): Promise<void>;
422
+ toggleEncryptionSecretVisibility(): void;
423
+ toggleEncryptionSecretConfirmationVisibility(): void;
424
+ setCustomEncryptionSecret(): Promise<void>;
425
+ /** Persists the enabled/disabled state of the sync plugin. */
426
+ toggleEnableSync(): Promise<void>;
427
+ /** Persists whether the sync loader indicator should be shown. */
428
+ toggleEnableShowLoader(): Promise<void>;
429
+ /** Saves the sync interval and requests an app restart when it changed successfully. */
430
+ onIntervalSyncChanged(): void;
431
+ }