@calmlens/sdk 0.16.3 → 0.17.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 (112) hide show
  1. package/README.md +398 -163
  2. package/cjs/BrowserUpload-DZ0Vbmxi.js +10 -0
  3. package/cjs/BrowserUpload-uZjVFGfP.d.ts +11 -0
  4. package/cjs/CalmLensAppClient-CV_K26Ce.d.ts +40 -0
  5. package/cjs/CalmLensAppClient-DBGmaDlG.js +89 -0
  6. package/cjs/CalmLensConnection-K1TAD1Z-.js +659 -0
  7. package/cjs/CalmLensServerClient-C-pxiz0C.js +645 -0
  8. package/cjs/CalmLensServerClient-JtP687a3.d.ts +235 -0
  9. package/cjs/CalmLensTypes-9Vt16pc7.d.ts +40400 -0
  10. package/cjs/Classification-94kSYWZw-CMnQKW13.d.ts +5873 -0
  11. package/cjs/CryptoUtils-B_x8lMIx-YBW1-bvL.js +42 -0
  12. package/cjs/FileIcons-Ob003MdS.js +175 -0
  13. package/cjs/Jurisdiction-FusEXb4U-zVs21tDv.js +91 -0
  14. package/cjs/ModerationContext-9lGm-Mna-CcmbRnOy.d.ts +67 -0
  15. package/cjs/ModerationContextLimits-Dj1YAl3G.js +1311 -0
  16. package/cjs/ReactUpload-DxtFMr06.js +54 -0
  17. package/cjs/ReactUpload-nZahpmyg.d.ts +17 -0
  18. package/cjs/TestTriggers-By07LR31-CmK0yTyR.d.ts +271 -0
  19. package/cjs/TestTriggers-DcArt0Nu-CvoaONUB.js +1326 -0
  20. package/cjs/UploadController-BBkN4Ni6.js +618 -0
  21. package/{esm/index-C9Xw1aid.d.ts → cjs/WebhookPayload-2aL31v0J.d.ts} +131 -155
  22. package/cjs/app.d.ts +7 -44
  23. package/cjs/app.js +11 -89
  24. package/cjs/elements.d.ts +88 -0
  25. package/cjs/elements.js +555 -0
  26. package/cjs/file-icons.d.ts +67 -0
  27. package/cjs/file-icons.js +10 -0
  28. package/cjs/index-CI4BzN4W.d.ts +252 -0
  29. package/cjs/index.d.ts +6 -4
  30. package/cjs/index.js +9 -4
  31. package/cjs/react-native.d.ts +56 -0
  32. package/cjs/react-native.js +495 -0
  33. package/cjs/react.d.ts +30 -0
  34. package/cjs/react.js +370 -0
  35. package/cjs/server.d.ts +12 -191
  36. package/cjs/server.js +18 -378
  37. package/cjs/test-inputs.d.ts +2 -2
  38. package/cjs/test-inputs.js +9 -264
  39. package/cjs/testing.d.ts +285 -190
  40. package/cjs/testing.js +2393 -1203
  41. package/cjs/ui-CgZpgpNo.d.ts +526 -0
  42. package/cjs/ui-KceuoVCM.js +583 -0
  43. package/cjs/ui.d.ts +2 -0
  44. package/cjs/ui.js +27 -0
  45. package/cjs/vue.d.ts +490 -0
  46. package/cjs/vue.js +419 -0
  47. package/esm/BrowserUpload-D7-zNmc0.js +5 -0
  48. package/esm/BrowserUpload-uZjVFGfP.d.ts +11 -0
  49. package/esm/CalmLensAppClient-CV_K26Ce.d.ts +40 -0
  50. package/esm/CalmLensAppClient-FVMwrHlH.js +84 -0
  51. package/esm/CalmLensConnection-iyNQHA8L.js +582 -0
  52. package/esm/CalmLensServerClient-JtP687a3.d.ts +235 -0
  53. package/esm/CalmLensServerClient-fQEYKLw4.js +586 -0
  54. package/esm/CalmLensTypes-9Vt16pc7.d.ts +40400 -0
  55. package/esm/Classification-94kSYWZw-CMnQKW13.d.ts +5873 -0
  56. package/esm/CryptoUtils-B_x8lMIx-DhuWGzqn.js +25 -0
  57. package/esm/FileIcons-M6dzjFxd.js +128 -0
  58. package/esm/Jurisdiction-FusEXb4U-1ov6m5yE.js +46 -0
  59. package/esm/ModerationContext-9lGm-Mna-CcmbRnOy.d.ts +67 -0
  60. package/esm/ModerationContextLimits-D1x_WAtP.js +1114 -0
  61. package/esm/ReactUpload-D6yBCkcw.js +37 -0
  62. package/esm/ReactUpload-nZahpmyg.d.ts +17 -0
  63. package/esm/TestTriggers-By07LR31-CmK0yTyR.d.ts +271 -0
  64. package/esm/TestTriggers-DcArt0Nu-s0AQZuWE.js +1266 -0
  65. package/esm/UploadController-txp5NuzH.js +589 -0
  66. package/{cjs/index-C9Xw1aid.d.ts → esm/WebhookPayload-2aL31v0J.d.ts} +131 -155
  67. package/esm/app.d.ts +7 -44
  68. package/esm/app.js +3 -86
  69. package/esm/elements.d.ts +88 -0
  70. package/esm/elements.js +528 -0
  71. package/esm/file-icons.d.ts +67 -0
  72. package/esm/file-icons.js +1 -0
  73. package/esm/index-CI4BzN4W.d.ts +252 -0
  74. package/esm/index.d.ts +6 -4
  75. package/esm/index.js +1 -1
  76. package/esm/react-native.d.ts +56 -0
  77. package/esm/react-native.js +467 -0
  78. package/esm/react.d.ts +30 -0
  79. package/esm/react.js +343 -0
  80. package/esm/server.d.ts +12 -191
  81. package/esm/server.js +3 -369
  82. package/esm/styles.css +147 -0
  83. package/esm/svelte/CalmLensMedia.svelte +134 -0
  84. package/esm/svelte/CalmLensUploader.svelte +175 -0
  85. package/esm/svelte/Icon.svelte +7 -0
  86. package/esm/svelte/index.d.ts +37 -0
  87. package/esm/svelte/index.js +6 -0
  88. package/esm/test-inputs.d.ts +2 -2
  89. package/esm/test-inputs.js +1 -256
  90. package/esm/testing.d.ts +285 -190
  91. package/esm/testing.js +2329 -1122
  92. package/esm/ui-Ca_SpJXf.js +458 -0
  93. package/esm/ui-CgZpgpNo.d.ts +526 -0
  94. package/esm/ui.d.ts +2 -0
  95. package/esm/ui.js +3 -0
  96. package/esm/vue.d.ts +490 -0
  97. package/esm/vue.js +392 -0
  98. package/package.json +110 -11
  99. package/cjs/CalmLensConnection-BNUHp_AQ.js +0 -234
  100. package/cjs/CalmLensUtils-o171ownK.js +0 -699
  101. package/cjs/CalmLensVersion-DwhgxQK5.js +0 -480
  102. package/cjs/CalmLensWebhooks-BKrq30Yp.js +0 -201
  103. package/cjs/Classification-BNhgwGEm-DmA9VEuE.d.ts +0 -4806
  104. package/cjs/TestTriggers-CRKtulyp-vrzEq2wm.d.ts +0 -44
  105. package/cjs/WebhookPayload-CJoIkGBD.d.ts +0 -11753
  106. package/esm/CalmLensConnection-XTqmlwzG.js +0 -193
  107. package/esm/CalmLensUtils-DsF8Aa_x.js +0 -574
  108. package/esm/CalmLensVersion-DcifRKsx.js +0 -415
  109. package/esm/CalmLensWebhooks-BvGyk5d3.js +0 -148
  110. package/esm/Classification-BNhgwGEm-DmA9VEuE.d.ts +0 -4806
  111. package/esm/TestTriggers-CRKtulyp-vrzEq2wm.d.ts +0 -44
  112. package/esm/WebhookPayload-CJoIkGBD.d.ts +0 -11753
package/cjs/vue.d.ts ADDED
@@ -0,0 +1,490 @@
1
+ import { Dt as ViewerClaims, k as CdnTransform, m as AssetModerationStatus, w as CalmLensAppClientOptions } from "./CalmLensTypes-9Vt16pc7.js";
2
+ import "./index-CI4BzN4W.js";
3
+ import { A as CustomUploadResult, B as MediaAsset, C as getDropzoneHint, D as resolveMessages, E as getUploadItemOutcome, G as MediaState, H as MediaOptions, J as resolveMediaProps, K as getMediaState, L as UploadStage, M as UploadController, P as UploadFile, S as formatMessage, T as getUploadItemMessage, U as MediaSettings, V as MediaImageSource, W as MediaSource, _ as UploadItemView, a as createProgressFetch, b as describeUploader, c as IconName, d as UploaderDisplayOptions, g as DEFAULT_MESSAGES, h as CalmLensMessages, i as CALMLENS_STYLES, j as UploadClient, k as CustomUploadContext, l as MediaDisplayOptions, m as getMediaLoadKey, n as CalmLensTheme, o as ICONS, p as getMediaAspectRatio, q as pickMediaSource, r as resolveTheme, s as ICON_ATTRIBUTES, t as CALMLENS_THEME, u as MediaProps, v as UploaderView, w as getMediaUnavailableMessage, x as formatBytes, y as describeUploadItem, z as isFileAccepted } from "./ui-CgZpgpNo.js";
4
+ import { a as UploaderProps, i as UploadSnapshot, n as UploadControllerOptions, r as UploadItem, s as createUploadController, t as CalmLensUpload } from "./BrowserUpload-uZjVFGfP.js";
5
+ import { MaybeRefOrGetter, PropType, ShallowRef } from "vue";
6
+ export interface UseCalmLensUploadResult<F extends UploadFile = File> {
7
+ snapshot: Readonly<ShallowRef<UploadSnapshot<F>>>;
8
+ controller: UploadController<F>;
9
+ addFiles: UploadController<F>["addFiles"];
10
+ retry: UploadController<F>["retry"];
11
+ cancel: UploadController<F>["cancel"];
12
+ remove: UploadController<F>["remove"];
13
+ clear: UploadController<F>["clear"];
14
+ start: UploadController<F>["start"];
15
+ }
16
+ /**
17
+ * Uploads files through an upload preset and keeps `snapshot` up to date as each one uploads and
18
+ * is checked. Use it to build your own upload UI; `CalmLensUploader` is built on it. Uploads
19
+ * still running when the component unmounts are cancelled.
20
+ */
21
+ export declare const useCalmLensUpload: <F extends UploadFile = File>(options: MaybeRefOrGetter<UploadControllerOptions<F>>) => UseCalmLensUploadResult<F>;
22
+ /**
23
+ * A drop zone and file list that uploads through an upload preset, shows each file's progress
24
+ * and moderation decision, and emits `uploaded` for finished uploads.
25
+ */
26
+ export declare const CalmLensUploader: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
+ uploadPresetId: {
28
+ type: PropType<string>;
29
+ default: undefined;
30
+ };
31
+ upload: {
32
+ type: PropType<((file: File, context: CustomUploadContext) => Promise<CustomUploadResult>) | undefined>;
33
+ default: undefined;
34
+ };
35
+ checkStatus: {
36
+ type: PropType<((assetId: string, context: {
37
+ signal: AbortSignal;
38
+ }) => Promise<AssetModerationStatus | undefined>) | undefined>;
39
+ default: undefined;
40
+ };
41
+ createClient: {
42
+ type: PropType<((options: CalmLensAppClientOptions) => UploadClient) | undefined>;
43
+ default: undefined;
44
+ };
45
+ token: {
46
+ type: PropType<string | ((file: File) => string | Promise<string>) | undefined>;
47
+ default: undefined;
48
+ };
49
+ tokenUrl: {
50
+ type: PropType<string>;
51
+ default: undefined;
52
+ };
53
+ accept: {
54
+ type: PropType<string>;
55
+ default: undefined;
56
+ };
57
+ maxFileSize: {
58
+ type: PropType<number>;
59
+ default: undefined;
60
+ };
61
+ autoUpload: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ multiple: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ maxFiles: {
70
+ type: PropType<number>;
71
+ default: undefined;
72
+ };
73
+ concurrency: {
74
+ type: PropType<number>;
75
+ default: undefined;
76
+ };
77
+ decisionTimeoutMs: {
78
+ type: PropType<number>;
79
+ default: undefined;
80
+ };
81
+ baseUrl: {
82
+ type: PropType<string>;
83
+ default: undefined;
84
+ };
85
+ disabled: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
89
+ capture: {
90
+ type: PropType<"environment" | "user">;
91
+ default: undefined;
92
+ };
93
+ messages: {
94
+ type: PropType<Partial<CalmLensMessages>>;
95
+ default: undefined;
96
+ };
97
+ controller: {
98
+ type: PropType<UploadController<File>>;
99
+ default: undefined;
100
+ };
101
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
102
+ [key: string]: any;
103
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
104
+ uploaded: (_upload: CalmLensUpload) => true;
105
+ rejected: (_item: UploadItem) => true;
106
+ failed: (_item: UploadItem) => true;
107
+ removed: (_item: UploadItem) => true;
108
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
109
+ uploadPresetId: {
110
+ type: PropType<string>;
111
+ default: undefined;
112
+ };
113
+ upload: {
114
+ type: PropType<((file: File, context: CustomUploadContext) => Promise<CustomUploadResult>) | undefined>;
115
+ default: undefined;
116
+ };
117
+ checkStatus: {
118
+ type: PropType<((assetId: string, context: {
119
+ signal: AbortSignal;
120
+ }) => Promise<AssetModerationStatus | undefined>) | undefined>;
121
+ default: undefined;
122
+ };
123
+ createClient: {
124
+ type: PropType<((options: CalmLensAppClientOptions) => UploadClient) | undefined>;
125
+ default: undefined;
126
+ };
127
+ token: {
128
+ type: PropType<string | ((file: File) => string | Promise<string>) | undefined>;
129
+ default: undefined;
130
+ };
131
+ tokenUrl: {
132
+ type: PropType<string>;
133
+ default: undefined;
134
+ };
135
+ accept: {
136
+ type: PropType<string>;
137
+ default: undefined;
138
+ };
139
+ maxFileSize: {
140
+ type: PropType<number>;
141
+ default: undefined;
142
+ };
143
+ autoUpload: {
144
+ type: BooleanConstructor;
145
+ default: boolean;
146
+ };
147
+ multiple: {
148
+ type: BooleanConstructor;
149
+ default: boolean;
150
+ };
151
+ maxFiles: {
152
+ type: PropType<number>;
153
+ default: undefined;
154
+ };
155
+ concurrency: {
156
+ type: PropType<number>;
157
+ default: undefined;
158
+ };
159
+ decisionTimeoutMs: {
160
+ type: PropType<number>;
161
+ default: undefined;
162
+ };
163
+ baseUrl: {
164
+ type: PropType<string>;
165
+ default: undefined;
166
+ };
167
+ disabled: {
168
+ type: BooleanConstructor;
169
+ default: boolean;
170
+ };
171
+ capture: {
172
+ type: PropType<"environment" | "user">;
173
+ default: undefined;
174
+ };
175
+ messages: {
176
+ type: PropType<Partial<CalmLensMessages>>;
177
+ default: undefined;
178
+ };
179
+ controller: {
180
+ type: PropType<UploadController<File>>;
181
+ default: undefined;
182
+ };
183
+ }>> & Readonly<{
184
+ onFailed?: ((_item: UploadItem) => any) | undefined;
185
+ onRejected?: ((_item: UploadItem) => any) | undefined;
186
+ onRemoved?: ((_item: UploadItem) => any) | undefined;
187
+ onUploaded?: ((_upload: CalmLensUpload) => any) | undefined;
188
+ }>, {
189
+ uploadPresetId: string;
190
+ upload: ((file: File, context: CustomUploadContext) => Promise<CustomUploadResult>) | undefined;
191
+ checkStatus: ((assetId: string, context: {
192
+ signal: AbortSignal;
193
+ }) => Promise<AssetModerationStatus | undefined>) | undefined;
194
+ createClient: ((options: CalmLensAppClientOptions) => UploadClient) | undefined;
195
+ token: string | ((file: File) => string | Promise<string>) | undefined;
196
+ tokenUrl: string;
197
+ accept: string;
198
+ maxFileSize: number;
199
+ autoUpload: boolean;
200
+ multiple: boolean;
201
+ maxFiles: number;
202
+ concurrency: number;
203
+ decisionTimeoutMs: number;
204
+ baseUrl: string;
205
+ disabled: boolean;
206
+ capture: "environment" | "user";
207
+ messages: Partial<CalmLensMessages>;
208
+ controller: UploadController<File>;
209
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
210
+ /**
211
+ * Shows an asset from the CalmLens CDN with responsive widths and a blurred placeholder while
212
+ * it loads. Age-restricted assets stay behind the placeholder and a reveal button until
213
+ * `ageConfirmed` is set; blocked and purged assets show an unavailable notice.
214
+ */
215
+ export declare const CalmLensMedia: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
216
+ /** An asset from the API, which supplies the project, ID, status, type and preview. */
217
+ asset: {
218
+ type: PropType<MediaAsset>;
219
+ default: undefined;
220
+ };
221
+ /** Required without `asset`. */
222
+ projectId: {
223
+ type: PropType<string>;
224
+ default: undefined;
225
+ };
226
+ /** Required without `asset`. */
227
+ assetId: {
228
+ type: PropType<string>;
229
+ default: undefined;
230
+ };
231
+ status: {
232
+ type: PropType<AssetModerationStatus>;
233
+ default: undefined;
234
+ };
235
+ contentRemoved: {
236
+ type: PropType<boolean>;
237
+ default: undefined;
238
+ };
239
+ type: {
240
+ type: PropType<"audio" | "image" | "video">;
241
+ default: undefined;
242
+ };
243
+ resource: {
244
+ type: PropType<"original" | "rendered">;
245
+ default: undefined;
246
+ };
247
+ lens: {
248
+ type: PropType<string>;
249
+ default: undefined;
250
+ };
251
+ transform: {
252
+ type: PropType<CdnTransform>;
253
+ default: undefined;
254
+ };
255
+ widths: {
256
+ type: PropType<number[]>;
257
+ default: undefined;
258
+ };
259
+ url: {
260
+ type: PropType<string>;
261
+ default: undefined;
262
+ };
263
+ placeholder: {
264
+ type: BooleanConstructor;
265
+ default: boolean;
266
+ };
267
+ placeholderHash: {
268
+ type: PropType<string>;
269
+ default: undefined;
270
+ };
271
+ placeholderUrl: {
272
+ type: PropType<string>;
273
+ default: undefined;
274
+ };
275
+ averageColor: {
276
+ type: PropType<string>;
277
+ default: undefined;
278
+ };
279
+ cdnBaseUrl: {
280
+ type: PropType<string>;
281
+ default: undefined;
282
+ };
283
+ viewerClaims: {
284
+ type: PropType<ViewerClaims>;
285
+ default: undefined;
286
+ };
287
+ alt: {
288
+ type: StringConstructor;
289
+ default: string;
290
+ };
291
+ aspectRatio: {
292
+ type: PropType<number>;
293
+ default: undefined;
294
+ };
295
+ width: {
296
+ type: PropType<number>;
297
+ default: undefined;
298
+ };
299
+ height: {
300
+ type: PropType<number>;
301
+ default: undefined;
302
+ };
303
+ sizes: {
304
+ type: PropType<string>;
305
+ default: undefined;
306
+ };
307
+ fit: {
308
+ type: PropType<"contain" | "cover">;
309
+ default: undefined;
310
+ };
311
+ position: {
312
+ type: PropType<string>;
313
+ default: undefined;
314
+ };
315
+ lazy: {
316
+ type: BooleanConstructor;
317
+ default: boolean;
318
+ };
319
+ fetchPriority: {
320
+ type: PropType<"auto" | "high" | "low">;
321
+ default: undefined;
322
+ };
323
+ controls: {
324
+ type: BooleanConstructor;
325
+ default: boolean;
326
+ };
327
+ messages: {
328
+ type: PropType<Partial<CalmLensMessages>>;
329
+ default: undefined;
330
+ };
331
+ /** Bound by `@reveal`; declared as a prop so the button shows only when something listens. */
332
+ onReveal: {
333
+ type: PropType<() => void>;
334
+ default: undefined;
335
+ };
336
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
337
+ [key: string]: any;
338
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
339
+ /** An asset from the API, which supplies the project, ID, status, type and preview. */
340
+ asset: {
341
+ type: PropType<MediaAsset>;
342
+ default: undefined;
343
+ };
344
+ /** Required without `asset`. */
345
+ projectId: {
346
+ type: PropType<string>;
347
+ default: undefined;
348
+ };
349
+ /** Required without `asset`. */
350
+ assetId: {
351
+ type: PropType<string>;
352
+ default: undefined;
353
+ };
354
+ status: {
355
+ type: PropType<AssetModerationStatus>;
356
+ default: undefined;
357
+ };
358
+ contentRemoved: {
359
+ type: PropType<boolean>;
360
+ default: undefined;
361
+ };
362
+ type: {
363
+ type: PropType<"audio" | "image" | "video">;
364
+ default: undefined;
365
+ };
366
+ resource: {
367
+ type: PropType<"original" | "rendered">;
368
+ default: undefined;
369
+ };
370
+ lens: {
371
+ type: PropType<string>;
372
+ default: undefined;
373
+ };
374
+ transform: {
375
+ type: PropType<CdnTransform>;
376
+ default: undefined;
377
+ };
378
+ widths: {
379
+ type: PropType<number[]>;
380
+ default: undefined;
381
+ };
382
+ url: {
383
+ type: PropType<string>;
384
+ default: undefined;
385
+ };
386
+ placeholder: {
387
+ type: BooleanConstructor;
388
+ default: boolean;
389
+ };
390
+ placeholderHash: {
391
+ type: PropType<string>;
392
+ default: undefined;
393
+ };
394
+ placeholderUrl: {
395
+ type: PropType<string>;
396
+ default: undefined;
397
+ };
398
+ averageColor: {
399
+ type: PropType<string>;
400
+ default: undefined;
401
+ };
402
+ cdnBaseUrl: {
403
+ type: PropType<string>;
404
+ default: undefined;
405
+ };
406
+ viewerClaims: {
407
+ type: PropType<ViewerClaims>;
408
+ default: undefined;
409
+ };
410
+ alt: {
411
+ type: StringConstructor;
412
+ default: string;
413
+ };
414
+ aspectRatio: {
415
+ type: PropType<number>;
416
+ default: undefined;
417
+ };
418
+ width: {
419
+ type: PropType<number>;
420
+ default: undefined;
421
+ };
422
+ height: {
423
+ type: PropType<number>;
424
+ default: undefined;
425
+ };
426
+ sizes: {
427
+ type: PropType<string>;
428
+ default: undefined;
429
+ };
430
+ fit: {
431
+ type: PropType<"contain" | "cover">;
432
+ default: undefined;
433
+ };
434
+ position: {
435
+ type: PropType<string>;
436
+ default: undefined;
437
+ };
438
+ lazy: {
439
+ type: BooleanConstructor;
440
+ default: boolean;
441
+ };
442
+ fetchPriority: {
443
+ type: PropType<"auto" | "high" | "low">;
444
+ default: undefined;
445
+ };
446
+ controls: {
447
+ type: BooleanConstructor;
448
+ default: boolean;
449
+ };
450
+ messages: {
451
+ type: PropType<Partial<CalmLensMessages>>;
452
+ default: undefined;
453
+ };
454
+ /** Bound by `@reveal`; declared as a prop so the button shows only when something listens. */
455
+ onReveal: {
456
+ type: PropType<() => void>;
457
+ default: undefined;
458
+ };
459
+ }>> & Readonly<{}>, {
460
+ asset: MediaAsset;
461
+ projectId: string;
462
+ assetId: string;
463
+ status: AssetModerationStatus;
464
+ contentRemoved: boolean;
465
+ type: "audio" | "image" | "video";
466
+ resource: "original" | "rendered";
467
+ lens: string;
468
+ transform: CdnTransform;
469
+ widths: number[];
470
+ url: string;
471
+ placeholder: boolean;
472
+ placeholderHash: string;
473
+ placeholderUrl: string;
474
+ averageColor: string;
475
+ cdnBaseUrl: string;
476
+ viewerClaims: ViewerClaims;
477
+ alt: string;
478
+ aspectRatio: number;
479
+ width: number;
480
+ height: number;
481
+ sizes: string;
482
+ fit: "contain" | "cover";
483
+ position: string;
484
+ lazy: boolean;
485
+ fetchPriority: "auto" | "high" | "low";
486
+ controls: boolean;
487
+ messages: Partial<CalmLensMessages>;
488
+ onReveal: () => void;
489
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
490
+ export { CALMLENS_STYLES, CALMLENS_THEME, type CalmLensMessages, type CalmLensTheme, type CalmLensUpload, type CustomUploadContext, type CustomUploadResult, DEFAULT_MESSAGES, ICONS, ICON_ATTRIBUTES, type IconName, type MediaAsset, type MediaDisplayOptions, type MediaImageSource, type MediaOptions, type MediaProps, type MediaSettings, type MediaSource, type MediaState, type UploadClient, UploadController, type UploadControllerOptions, type UploadFile, type UploadItem, type UploadItemView, type UploadSnapshot, type UploadStage, type UploaderDisplayOptions, type UploaderProps, type UploaderView, createProgressFetch, createUploadController, describeUploadItem, describeUploader, formatBytes, formatMessage, getDropzoneHint, getMediaAspectRatio, getMediaLoadKey, getMediaState, getMediaUnavailableMessage, getUploadItemMessage, getUploadItemOutcome, isFileAccepted, pickMediaSource, resolveMediaProps, resolveMessages, resolveTheme };