@bytescale/sdk 1.0.0-alpha.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.
@@ -0,0 +1,2856 @@
1
+ /**
2
+ * "Created" is only used when issuing jobs non-transactionally (which we do if we want the job to be picked up sooner).
3
+ * In this case, a two-phase transaction is performed.
4
+ *
5
+ * T=0) "Created" job tracker created.
6
+ * T=1) SQS job enqueued.
7
+ * T=2) "Pending" is set into job tracker.
8
+ * T=3) Response returned to use
9
+ * T=4) SQS picks up job. If status is "Created" it fails the job attempt. This keeps going until eventually the job perm-fails, or it sees "Pending". It should typically (always?) see "Pending" on the first attempt, if T=2 succeeded.
10
+ * T=5) SQS processes the job as normal.
11
+ *
12
+ * As such, the "Created" state is an internal detail, and we never expose jobs in this state to the user.
13
+ * @export
14
+ */
15
+ export declare const AccountJobStatus: {
16
+ readonly Created: "Created";
17
+ readonly Pending: "Pending";
18
+ readonly Running: "Running";
19
+ readonly Rollback: "Rollback";
20
+ readonly Failed: "Failed";
21
+ readonly Succeeded: "Succeeded";
22
+ readonly Cancelling: "Cancelling";
23
+ readonly Cancelled: "Cancelled";
24
+ };
25
+ export declare type AccountJobStatus = typeof AccountJobStatus[keyof typeof AccountJobStatus];
26
+ /**
27
+ * Job type.
28
+ * @export
29
+ */
30
+ export declare const AccountJobType: {
31
+ readonly ProcessFileJob: "ProcessFileJob";
32
+ readonly DeleteFolderBatchJob: "DeleteFolderBatchJob";
33
+ readonly DeleteFileBatchJob: "DeleteFileBatchJob";
34
+ readonly CopyFolderBatchJob: "CopyFolderBatchJob";
35
+ readonly CopyFileBatchJob: "CopyFileBatchJob";
36
+ };
37
+ export declare type AccountJobType = typeof AccountJobType[keyof typeof AccountJobType];
38
+ /**
39
+ * Response body from an API endpoint that performs work asynchronously (i.e. does not complete the work immediately).
40
+ * @export
41
+ * @interface AsyncResponse
42
+ */
43
+ export interface AsyncResponse {
44
+ /**
45
+ * Link to the documentation that describes how to get a job's status from its job ID.
46
+ * @type {string}
47
+ * @memberof AsyncResponse
48
+ */
49
+ jobDocs: AsyncResponseJobDocsEnum;
50
+ /**
51
+ * Job ID.
52
+ * @type {string}
53
+ * @memberof AsyncResponse
54
+ */
55
+ jobId: string;
56
+ /**
57
+ *
58
+ * @type {AccountJobType}
59
+ * @memberof AsyncResponse
60
+ */
61
+ jobType: AccountJobType;
62
+ /**
63
+ * URL for the job's status.
64
+ *
65
+ * You can `GET` this URL to retrieve the job's status.
66
+ *
67
+ * You must authorize your `GET` request with a ```secret_*``` API key when accessing the URL.
68
+ * @type {string}
69
+ * @memberof AsyncResponse
70
+ */
71
+ jobUrl: string;
72
+ }
73
+ /**
74
+ * @export
75
+ */
76
+ export declare const AsyncResponseJobDocsEnum: {
77
+ readonly HttpsWwwBytescaleComDocsJobApiGetJob: "https://www.bytescale.com/docs/job-api/GetJob";
78
+ };
79
+ export declare type AsyncResponseJobDocsEnum = typeof AsyncResponseJobDocsEnum[keyof typeof AsyncResponseJobDocsEnum];
80
+ /**
81
+ * AWS Region.
82
+ * @export
83
+ */
84
+ export declare const AwsRegion: {
85
+ readonly UsEast2: "us-east-2";
86
+ readonly UsEast1: "us-east-1";
87
+ readonly UsWest1: "us-west-1";
88
+ readonly UsWest2: "us-west-2";
89
+ readonly AfSouth1: "af-south-1";
90
+ readonly ApEast1: "ap-east-1";
91
+ readonly ApSoutheast3: "ap-southeast-3";
92
+ readonly ApSouth1: "ap-south-1";
93
+ readonly ApNortheast3: "ap-northeast-3";
94
+ readonly ApNortheast2: "ap-northeast-2";
95
+ readonly ApSoutheast1: "ap-southeast-1";
96
+ readonly ApSoutheast2: "ap-southeast-2";
97
+ readonly ApNortheast1: "ap-northeast-1";
98
+ readonly CaCentral1: "ca-central-1";
99
+ readonly EuCentral1: "eu-central-1";
100
+ readonly EuWest1: "eu-west-1";
101
+ readonly EuWest2: "eu-west-2";
102
+ readonly EuSouth1: "eu-south-1";
103
+ readonly EuWest3: "eu-west-3";
104
+ readonly EuNorth1: "eu-north-1";
105
+ readonly MeSouth1: "me-south-1";
106
+ readonly SaEast1: "sa-east-1";
107
+ };
108
+ export declare type AwsRegion = typeof AwsRegion[keyof typeof AwsRegion];
109
+ /**
110
+ * Response body for BasicUpload.
111
+ * @export
112
+ * @interface BasicUploadResponse
113
+ */
114
+ export interface BasicUploadResponse {
115
+ /**
116
+ * Your account ID.
117
+ *
118
+ * This is visible on the settings page:
119
+ *
120
+ * https://www.bytescale.com/dashboard/settings
121
+ * @type {string}
122
+ * @memberof BasicUploadResponse
123
+ */
124
+ accountId: string;
125
+ /**
126
+ * Absolute path to a file. Begins with a `/`.
127
+ * @type {string}
128
+ * @memberof BasicUploadResponse
129
+ */
130
+ filePath: string;
131
+ /**
132
+ * URL for a raw file hosted on the Bytescale CDN.
133
+ * @type {string}
134
+ * @memberof BasicUploadResponse
135
+ */
136
+ fileUrl: string;
137
+ }
138
+ /**
139
+ * Request body for BeginMultipartUpload.
140
+ * @export
141
+ * @interface BeginMultipartUploadRequest
142
+ */
143
+ export interface BeginMultipartUploadRequest {
144
+ /**
145
+ * The file metadata specified in the original upload request as a JSON object.
146
+ * @type {{ [key: string]: any; }}
147
+ * @memberof BeginMultipartUploadRequest
148
+ */
149
+ metadata?: {
150
+ [key: string]: any;
151
+ };
152
+ /**
153
+ * File MIME type.
154
+ * @type {string}
155
+ * @memberof BeginMultipartUploadRequest
156
+ */
157
+ mime?: string;
158
+ /**
159
+ * The file's original name on the user's device.
160
+ * @type {string}
161
+ * @memberof BeginMultipartUploadRequest
162
+ */
163
+ originalFileName?: string;
164
+ /**
165
+ *
166
+ * @type {FilePathDefinition}
167
+ * @memberof BeginMultipartUploadRequest
168
+ */
169
+ path?: FilePathDefinition;
170
+ /**
171
+ *
172
+ * @type {MultipartUploadProtocol}
173
+ * @memberof BeginMultipartUploadRequest
174
+ */
175
+ protocol?: MultipartUploadProtocol;
176
+ /**
177
+ * Size in bytes.
178
+ * @type {number}
179
+ * @memberof BeginMultipartUploadRequest
180
+ */
181
+ size: number;
182
+ /**
183
+ * The file tags to store against the file.
184
+ *
185
+ * When you associate file tags with a file, Bytescale checks which rules match the tags (if any) and applies those rules to the upload request:
186
+ *
187
+ * Rules can include max file size checks, traffic limit checks, rate limit checks, and so forth. These are configured in the Bytescale Dashboard.
188
+ * @type {Array<string>}
189
+ * @memberof BeginMultipartUploadRequest
190
+ */
191
+ tags?: Array<string>;
192
+ }
193
+ /**
194
+ * Response body for BeginMultipartUpload.
195
+ * @export
196
+ * @interface BeginMultipartUploadResponse
197
+ */
198
+ export interface BeginMultipartUploadResponse {
199
+ /**
200
+ *
201
+ * @type {FileDetails}
202
+ * @memberof BeginMultipartUploadResponse
203
+ */
204
+ file: FileDetails;
205
+ /**
206
+ * The ID for the multipart file upload.
207
+ * @type {string}
208
+ * @memberof BeginMultipartUploadResponse
209
+ */
210
+ uploadId: string;
211
+ /**
212
+ *
213
+ * @type {BeginMultipartUploadResponseUploadParts}
214
+ * @memberof BeginMultipartUploadResponse
215
+ */
216
+ uploadParts: BeginMultipartUploadResponseUploadParts;
217
+ }
218
+ /**
219
+ *
220
+ * @export
221
+ * @interface BeginMultipartUploadResponseUploadParts
222
+ */
223
+ export interface BeginMultipartUploadResponseUploadParts {
224
+ /**
225
+ *
226
+ * @type {UploadPart}
227
+ * @memberof BeginMultipartUploadResponseUploadParts
228
+ */
229
+ first: UploadPart;
230
+ /**
231
+ * The number of parts the file will be uploaded with.
232
+ * @type {number}
233
+ * @memberof BeginMultipartUploadResponseUploadParts
234
+ */
235
+ count: number;
236
+ }
237
+ /**
238
+ * Request body for CompleteUploadPart.
239
+ * @export
240
+ * @interface CompleteUploadPartRequest
241
+ */
242
+ export interface CompleteUploadPartRequest {
243
+ /**
244
+ * File ETag.
245
+ * @type {string}
246
+ * @memberof CompleteUploadPartRequest
247
+ */
248
+ etag: string;
249
+ }
250
+ /**
251
+ * Request body for CopyFileBatch.
252
+ * @export
253
+ * @interface CopyFileBatchRequest
254
+ */
255
+ export interface CopyFileBatchRequest {
256
+ /**
257
+ * Files to copy.
258
+ * @type {Array<CopyFileRequest>}
259
+ * @memberof CopyFileBatchRequest
260
+ */
261
+ files: Array<CopyFileRequest>;
262
+ }
263
+ /**
264
+ * Request body for CopyFile.
265
+ * @export
266
+ * @interface CopyFileRequest
267
+ */
268
+ export interface CopyFileRequest {
269
+ /**
270
+ *
271
+ * @type {TagCondition}
272
+ * @memberof CopyFileRequest
273
+ */
274
+ condition?: TagCondition;
275
+ /**
276
+ * Absolute path to a file. Begins with a `/`.
277
+ * @type {string}
278
+ * @memberof CopyFileRequest
279
+ */
280
+ destination: string;
281
+ /**
282
+ * Absolute path to a file. Begins with a `/`.
283
+ * @type {string}
284
+ * @memberof CopyFileRequest
285
+ */
286
+ source: string;
287
+ }
288
+ /**
289
+ * Response body for CopyFile.
290
+ * @export
291
+ * @interface CopyFileResponse
292
+ */
293
+ export interface CopyFileResponse {
294
+ /**
295
+ *
296
+ * @type {FileCopyStatus}
297
+ * @memberof CopyFileResponse
298
+ */
299
+ status: FileCopyStatus;
300
+ }
301
+ /**
302
+ * Request body for CopyFolderBatch.
303
+ * @export
304
+ * @interface CopyFolderBatchRequest
305
+ */
306
+ export interface CopyFolderBatchRequest {
307
+ /**
308
+ * Folders to copy.
309
+ * @type {Array<CopyFolderRequest>}
310
+ * @memberof CopyFolderBatchRequest
311
+ */
312
+ folders: Array<CopyFolderRequest>;
313
+ }
314
+ /**
315
+ * Request body for CopyFolder.
316
+ *
317
+ * You can use ListFolder to preview the operation: set `dryRun=true` with ```recursive```, ```includeFiles```, ```includeOverriddenStorage``` and ```includeVirtualFolders``` set to match the values you're using here. Leave all other flags unset.
318
+ * @export
319
+ * @interface CopyFolderRequest
320
+ */
321
+ export interface CopyFolderRequest {
322
+ /**
323
+ *
324
+ * @type {TagCondition}
325
+ * @memberof CopyFolderRequest
326
+ */
327
+ condition?: TagCondition;
328
+ /**
329
+ * If `true` then copies files.
330
+ *
331
+ * Default: true
332
+ * @type {boolean}
333
+ * @memberof CopyFolderRequest
334
+ */
335
+ copyFiles?: boolean;
336
+ /**
337
+ * If `true` then copies files from folders that have overridden storage settings, else skips them.
338
+ *
339
+ * If the current folder inherits its storage settings, then the current folder's files will be copied, assuming `copyFiles=true`.
340
+ *
341
+ * You can ignore this setting if your account does not use folders with overridden storage settings, such as custom AWS S3 buckets.
342
+ *
343
+ * Conditional: `copyVirtualFolders` and `copyOverriddenStorage` cannot both be `true`.
344
+ *
345
+ * Default: false
346
+ * @type {boolean}
347
+ * @memberof CopyFolderRequest
348
+ */
349
+ copyOverriddenStorage?: boolean;
350
+ /**
351
+ * If `true` then copies virtual folder settings at the current path and below, else only files will be copied.
352
+ *
353
+ * Virtual folders are folders that have been created using the PutFolder operation.
354
+ *
355
+ * Conditional: `copyVirtualFolders` and `copyOverriddenStorage` cannot both be `true`.
356
+ *
357
+ * Default: true
358
+ * @type {boolean}
359
+ * @memberof CopyFolderRequest
360
+ */
361
+ copyVirtualFolders?: boolean;
362
+ /**
363
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
364
+ * @type {string}
365
+ * @memberof CopyFolderRequest
366
+ */
367
+ destination: string;
368
+ /**
369
+ * If `true` then copies files and virtual folders that are descendants of the `source` folder.
370
+ *
371
+ * If `false` then only copies files that are direct children of the `source` folder, and does not copy descendant virtual folders (children or otherwise).
372
+ *
373
+ * Default: true
374
+ * @type {boolean}
375
+ * @memberof CopyFolderRequest
376
+ */
377
+ recursive?: boolean;
378
+ /**
379
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
380
+ * @type {string}
381
+ * @memberof CopyFolderRequest
382
+ */
383
+ source: string;
384
+ }
385
+ /**
386
+ *
387
+ * @export
388
+ * @interface CopyableFileDataFileMetadata
389
+ */
390
+ export interface CopyableFileDataFileMetadata {
391
+ /**
392
+ * If `true` then merges `value` with the original file's existing data, else uses `value` as-is.
393
+ *
394
+ * Default: false
395
+ * @type {boolean}
396
+ * @memberof CopyableFileDataFileMetadata
397
+ */
398
+ merge?: boolean;
399
+ /**
400
+ * If `true` then sets the `value` for all files generated by the transformation, else only sets the `value` for the root output file.
401
+ *
402
+ * Default: true
403
+ * @type {boolean}
404
+ * @memberof CopyableFileDataFileMetadata
405
+ */
406
+ setForAllArtifacts?: boolean;
407
+ /**
408
+ * The file metadata specified in the original upload request as a JSON object.
409
+ * @type {{ [key: string]: any; }}
410
+ * @memberof CopyableFileDataFileMetadata
411
+ */
412
+ value?: {
413
+ [key: string]: any;
414
+ };
415
+ }
416
+ /**
417
+ *
418
+ * @export
419
+ * @interface CopyableFileDataFileTagNameArray
420
+ */
421
+ export interface CopyableFileDataFileTagNameArray {
422
+ /**
423
+ * If `true` then merges `value` with the original file's existing data, else uses `value` as-is.
424
+ *
425
+ * Default: false
426
+ * @type {boolean}
427
+ * @memberof CopyableFileDataFileTagNameArray
428
+ */
429
+ merge?: boolean;
430
+ /**
431
+ * If `true` then sets the `value` for all files generated by the transformation, else only sets the `value` for the root output file.
432
+ *
433
+ * Default: true
434
+ * @type {boolean}
435
+ * @memberof CopyableFileDataFileTagNameArray
436
+ */
437
+ setForAllArtifacts?: boolean;
438
+ /**
439
+ * The value to set or merge into the field.
440
+ *
441
+ * Default: empty object / empty array
442
+ * @type {Array<string>}
443
+ * @memberof CopyableFileDataFileTagNameArray
444
+ */
445
+ value?: Array<string>;
446
+ }
447
+ /**
448
+ * Request body for DeleteFileBatch.
449
+ * @export
450
+ * @interface DeleteFileBatchRequest
451
+ */
452
+ export interface DeleteFileBatchRequest {
453
+ /**
454
+ *
455
+ * @type {Array<string>}
456
+ * @memberof DeleteFileBatchRequest
457
+ */
458
+ files: Array<string>;
459
+ }
460
+ /**
461
+ * Request body for DeleteFolderBatch.
462
+ * @export
463
+ * @interface DeleteFolderBatchRequest
464
+ */
465
+ export interface DeleteFolderBatchRequest {
466
+ /**
467
+ * Folders to delete.
468
+ * @type {Array<DeleteFolderRequest>}
469
+ * @memberof DeleteFolderBatchRequest
470
+ */
471
+ folders: Array<DeleteFolderRequest>;
472
+ }
473
+ /**
474
+ * Request body for DeleteFolder.
475
+ *
476
+ * If the folder has overridden storage settings, then no files will be deleted.
477
+ *
478
+ * You can use ListFolder to preview the operation: set `dryRun=true` with ```recursive```, ```includeFiles``` and ```includeVirtualFolders``` set to match the values you're using here. Leave all other flags unset.
479
+ * @export
480
+ * @interface DeleteFolderRequest
481
+ */
482
+ export interface DeleteFolderRequest {
483
+ /**
484
+ * If `true` then deletes files.
485
+ *
486
+ * Default: true
487
+ * @type {boolean}
488
+ * @memberof DeleteFolderRequest
489
+ */
490
+ deleteFiles?: boolean;
491
+ /**
492
+ * If `true` then deletes folder settings.
493
+ *
494
+ * Default: true
495
+ * @type {boolean}
496
+ * @memberof DeleteFolderRequest
497
+ */
498
+ deleteVirtualFolders?: boolean;
499
+ /**
500
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
501
+ * @type {string}
502
+ * @memberof DeleteFolderRequest
503
+ */
504
+ folderPath: string;
505
+ /**
506
+ * If `true` then deletes files and folder settings that descend `folderPath`.
507
+ *
508
+ * If `false` then only deletes files that are direct children of `folderPath` and only deletes the folder settings of the current folder (if any). Does not delete the folder settings of any child or descendant folders.
509
+ *
510
+ * Default: true
511
+ * @type {boolean}
512
+ * @memberof DeleteFolderRequest
513
+ */
514
+ recursive?: boolean;
515
+ }
516
+ /**
517
+ * Storage layer used for storing files in a DigitalOcean Space, as opposed to Bytescale's built-in storage.
518
+ *
519
+ * This is a read/write storage layer.
520
+ * @export
521
+ * @interface DigitalOceanStorage
522
+ */
523
+ export interface DigitalOceanStorage {
524
+ /**
525
+ *
526
+ * @type {PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket}
527
+ * @memberof DigitalOceanStorage
528
+ */
529
+ bucket: PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket;
530
+ /**
531
+ *
532
+ * @type {DigitalOceanStorageCredentials}
533
+ * @memberof DigitalOceanStorage
534
+ */
535
+ credentials: DigitalOceanStorageCredentials;
536
+ /**
537
+ * The type of this storage layer.
538
+ * @type {string}
539
+ * @memberof DigitalOceanStorage
540
+ */
541
+ type: DigitalOceanStorageTypeEnum;
542
+ /**
543
+ * If `true` then writes S3 objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
544
+ *
545
+ * If `false` then writes S3 objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
546
+ * @type {boolean}
547
+ * @memberof DigitalOceanStorage
548
+ */
549
+ useAbsolutePaths: boolean;
550
+ }
551
+ /**
552
+ * @export
553
+ */
554
+ export declare const DigitalOceanStorageTypeEnum: {
555
+ readonly DigitalOceanSpace: "DigitalOceanSpace";
556
+ };
557
+ export declare type DigitalOceanStorageTypeEnum = typeof DigitalOceanStorageTypeEnum[keyof typeof DigitalOceanStorageTypeEnum];
558
+ /**
559
+ *
560
+ * @export
561
+ * @interface DigitalOceanStorageCredentials
562
+ */
563
+ export interface DigitalOceanStorageCredentials {
564
+ /**
565
+ * AWS Secret Access Key.
566
+ * @type {string}
567
+ * @memberof DigitalOceanStorageCredentials
568
+ */
569
+ spacesSecretKey: string;
570
+ /**
571
+ * AWS Access Key.
572
+ * @type {string}
573
+ * @memberof DigitalOceanStorageCredentials
574
+ */
575
+ spacesAccessKey: string;
576
+ }
577
+ /**
578
+ * An object containing a `fileName` and/or `folderPath`.
579
+ *
580
+ * Both fields are optional: omitted fields will use the API key's default values, which are configured per API key via the Bytescale Dashboard.
581
+ *
582
+ * Supports path variables.
583
+ * @export
584
+ * @interface DynamicFilePath
585
+ */
586
+ export interface DynamicFilePath {
587
+ /**
588
+ * The file name to upload the file with.
589
+ *
590
+ * Must not contain `/`.
591
+ *
592
+ * Supports path variables.
593
+ * @type {string}
594
+ * @memberof DynamicFilePath
595
+ */
596
+ fileName?: string;
597
+ /**
598
+ * The file name to upload the file with.
599
+ *
600
+ * Must not contain `/`.
601
+ *
602
+ * Supports path variables.
603
+ * @type {string}
604
+ * @memberof DynamicFilePath
605
+ */
606
+ fileNameFallback?: string;
607
+ /**
608
+ * If `true` then path variables like `{UTC_DATE}` in the `fileName` will be replaced. You can escape `{` characters with a `\`.
609
+ *
610
+ * If `false` then path variables like `{UTC_DATE}` in the `fileName` will be taken literally.
611
+ *
612
+ * Default: true
613
+ * @type {boolean}
614
+ * @memberof DynamicFilePath
615
+ */
616
+ fileNameVariablesEnabled?: boolean;
617
+ /**
618
+ * Absolute or relative path to a folder in your Bytescale account's storage.
619
+ *
620
+ * Relative paths are relative to the API key's default folder (configured per API key in the Bytescale Dashboard).
621
+ *
622
+ * Should not end with `/`.
623
+ *
624
+ * Does not support path traversals (e.g. `..`).
625
+ *
626
+ * Supports path variables.
627
+ * @type {string}
628
+ * @memberof DynamicFilePath
629
+ */
630
+ folderPath?: string;
631
+ /**
632
+ * If `true` then path variables like `{UTC_DATE}` in the `folderPath` will be replaced. You can escape `{` characters with a `\`.
633
+ *
634
+ * If `false` then path variables like `{UTC_DATE}` in the `folderPath` will be taken literally.
635
+ *
636
+ * Default: true
637
+ * @type {boolean}
638
+ * @memberof DynamicFilePath
639
+ */
640
+ folderPathVariablesEnabled?: boolean;
641
+ }
642
+ /**
643
+ * Response body for all error responses.
644
+ * @export
645
+ * @interface ErrorResponse
646
+ */
647
+ export interface ErrorResponse {
648
+ /**
649
+ *
650
+ * @type {ErrorResponseError}
651
+ * @memberof ErrorResponse
652
+ */
653
+ error: ErrorResponseError;
654
+ }
655
+ /**
656
+ *
657
+ * @export
658
+ * @interface ErrorResponseError
659
+ */
660
+ export interface ErrorResponseError {
661
+ /**
662
+ * Human-readable error message.
663
+ * @type {string}
664
+ * @memberof ErrorResponseError
665
+ */
666
+ message: string;
667
+ /**
668
+ * Additional machine-readable details relating to the error.
669
+ * @type {{ [key: string]: any; }}
670
+ * @memberof ErrorResponseError
671
+ */
672
+ details?: {
673
+ [key: string]: any;
674
+ };
675
+ /**
676
+ * Machine-readable error code.
677
+ * @type {string}
678
+ * @memberof ErrorResponseError
679
+ */
680
+ code: string;
681
+ }
682
+ /**
683
+ * The result of the CopyFile operation.
684
+ * @export
685
+ */
686
+ export declare const FileCopyStatus: {
687
+ readonly Copied: "Copied";
688
+ readonly FileNotFound: "FileNotFound";
689
+ readonly SkippedDueToCondition: "SkippedDueToCondition";
690
+ };
691
+ export declare type FileCopyStatus = typeof FileCopyStatus[keyof typeof FileCopyStatus];
692
+ /**
693
+ * Contains full information about a file, including its file metadata, file tags, original file name, and MIME type.
694
+ * @export
695
+ * @interface FileDetails
696
+ */
697
+ export interface FileDetails {
698
+ /**
699
+ * Your account ID.
700
+ *
701
+ * This is visible on the settings page:
702
+ *
703
+ * https://www.bytescale.com/dashboard/settings
704
+ * @type {string}
705
+ * @memberof FileDetails
706
+ */
707
+ accountId: string;
708
+ /**
709
+ * The file metadata specified in the original upload request as a JSON object.
710
+ * @type {{ [key: string]: any; }}
711
+ * @memberof FileDetails
712
+ */
713
+ metadata: {
714
+ [key: string]: any;
715
+ };
716
+ /**
717
+ * File MIME type.
718
+ * @type {string}
719
+ * @memberof FileDetails
720
+ */
721
+ mime: string;
722
+ /**
723
+ *
724
+ * @type {string}
725
+ * @memberof FileDetails
726
+ */
727
+ originalFileName: string | null;
728
+ /**
729
+ *
730
+ * @type {Array<string>}
731
+ * @memberof FileDetails
732
+ */
733
+ tags: Array<string>;
734
+ /**
735
+ * Absolute path to a file. Begins with a `/`.
736
+ * @type {string}
737
+ * @memberof FileDetails
738
+ */
739
+ filePath: string;
740
+ /**
741
+ * URL for a raw file hosted on the Bytescale CDN.
742
+ * @type {string}
743
+ * @memberof FileDetails
744
+ */
745
+ fileUrl: string;
746
+ /**
747
+ * Epoch milliseconds (since midnight 1 January 1970, UTC).
748
+ * @type {number}
749
+ * @memberof FileDetails
750
+ */
751
+ lastModified: number;
752
+ /**
753
+ * Size in bytes.
754
+ * @type {number}
755
+ * @memberof FileDetails
756
+ */
757
+ size: number;
758
+ }
759
+ /**
760
+ * Permissions relating to the downloading of files at this path.
761
+ * @export
762
+ * @interface FileDownloadGrants
763
+ */
764
+ export interface FileDownloadGrants {
765
+ /**
766
+ * An array of transformation URL slug patterns.
767
+ *
768
+ * This array specifies which transformation slugs can be used when downloading files from this location.
769
+ *
770
+ * - Use `"*"` to allow all file downloads.
771
+ *
772
+ * - Use `"raw"` to allow raw/original file downloads.
773
+ *
774
+ * - Use a `*` suffix to allow transformation prefixes. For example: `"thumbnail-*"` will allow `thumbnail-sm` and `thumbnail-lg`.
775
+ *
776
+ * - Use any other value to allow specific transformations. For example: `"thumbnail"` will allow `thumbnail` downloads only.
777
+ *
778
+ * - Use an empty array to indicate no file downloads are allowed.
779
+ * @type {Array<string>}
780
+ * @memberof FileDownloadGrants
781
+ */
782
+ downloadFile: Array<string>;
783
+ }
784
+ /**
785
+ * The path to upload the file to.
786
+ * @export
787
+ * @interface FilePathDefinition
788
+ */
789
+ export interface FilePathDefinition {
790
+ /**
791
+ * The file name to upload the file with.
792
+ *
793
+ * Must not contain `/`.
794
+ *
795
+ * Supports path variables.
796
+ * @type {string}
797
+ * @memberof FilePathDefinition
798
+ */
799
+ fileName?: string;
800
+ /**
801
+ * The file name to upload the file with.
802
+ *
803
+ * Must not contain `/`.
804
+ *
805
+ * Supports path variables.
806
+ * @type {string}
807
+ * @memberof FilePathDefinition
808
+ */
809
+ fileNameFallback?: string;
810
+ /**
811
+ * If `true` then path variables like `{UTC_DATE}` in the `fileName` will be replaced. You can escape `{` characters with a `\`.
812
+ *
813
+ * If `false` then path variables like `{UTC_DATE}` in the `fileName` will be taken literally.
814
+ *
815
+ * Default: true
816
+ * @type {boolean}
817
+ * @memberof FilePathDefinition
818
+ */
819
+ fileNameVariablesEnabled?: boolean;
820
+ /**
821
+ * Absolute or relative path to a folder in your Bytescale account's storage.
822
+ *
823
+ * Relative paths are relative to the API key's default folder (configured per API key in the Bytescale Dashboard).
824
+ *
825
+ * Should not end with `/`.
826
+ *
827
+ * Does not support path traversals (e.g. `..`).
828
+ *
829
+ * Supports path variables.
830
+ * @type {string}
831
+ * @memberof FilePathDefinition
832
+ */
833
+ folderPath?: string;
834
+ /**
835
+ * If `true` then path variables like `{UTC_DATE}` in the `folderPath` will be replaced. You can escape `{` characters with a `\`.
836
+ *
837
+ * If `false` then path variables like `{UTC_DATE}` in the `folderPath` will be taken literally.
838
+ *
839
+ * Default: true
840
+ * @type {boolean}
841
+ * @memberof FilePathDefinition
842
+ */
843
+ folderPathVariablesEnabled?: boolean;
844
+ }
845
+ /**
846
+ * Summary information about a file (a subset of the FileDetails type).
847
+ * @export
848
+ * @interface FileSummary
849
+ */
850
+ export interface FileSummary {
851
+ /**
852
+ * Absolute path to a file. Begins with a `/`.
853
+ * @type {string}
854
+ * @memberof FileSummary
855
+ */
856
+ filePath: string;
857
+ /**
858
+ * URL for a raw file hosted on the Bytescale CDN.
859
+ * @type {string}
860
+ * @memberof FileSummary
861
+ */
862
+ fileUrl: string;
863
+ /**
864
+ * Epoch milliseconds (since midnight 1 January 1970, UTC).
865
+ * @type {number}
866
+ * @memberof FileSummary
867
+ */
868
+ lastModified: number;
869
+ /**
870
+ * Size in bytes.
871
+ * @type {number}
872
+ * @memberof FileSummary
873
+ */
874
+ size: number;
875
+ /**
876
+ *
877
+ * @type {string}
878
+ * @memberof FileSummary
879
+ */
880
+ type: FileSummaryTypeEnum;
881
+ }
882
+ /**
883
+ * @export
884
+ */
885
+ export declare const FileSummaryTypeEnum: {
886
+ readonly File: "File";
887
+ };
888
+ export declare type FileSummaryTypeEnum = typeof FileSummaryTypeEnum[keyof typeof FileSummaryTypeEnum];
889
+ /**
890
+ *
891
+ * @export
892
+ * @interface FolderDetails
893
+ */
894
+ export interface FolderDetails {
895
+ /**
896
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
897
+ * @type {string}
898
+ * @memberof FolderDetails
899
+ */
900
+ folderPath: string;
901
+ /**
902
+ *
903
+ * @type {FolderSettingsStorageLayerSummary}
904
+ * @memberof FolderDetails
905
+ */
906
+ settings: FolderSettingsStorageLayerSummary;
907
+ /**
908
+ *
909
+ * @type {string}
910
+ * @memberof FolderDetails
911
+ */
912
+ type: FolderDetailsTypeEnum;
913
+ /**
914
+ *
915
+ * @type {boolean}
916
+ * @memberof FolderDetails
917
+ */
918
+ virtual: boolean;
919
+ /**
920
+ *
921
+ * @type {FolderSettingsInherited}
922
+ * @memberof FolderDetails
923
+ */
924
+ settingsInherited: FolderSettingsInherited;
925
+ }
926
+ /**
927
+ * @export
928
+ */
929
+ export declare const FolderDetailsTypeEnum: {
930
+ readonly Folder: "Folder";
931
+ };
932
+ export declare type FolderDetailsTypeEnum = typeof FolderDetailsTypeEnum[keyof typeof FolderDetailsTypeEnum];
933
+ /**
934
+ * The FolderSettings inherited by the current path.
935
+ *
936
+ * If the folder defines its own `settings`, then those will take effect instead of these inherited settings.
937
+ *
938
+ * Each inherited setting contains a `folderPath` field to indicate which folder the setting was inherited from.
939
+ *
940
+ * Note: if the requester has insufficient privileges to read a setting, that setting's value will be `null`.
941
+ * @export
942
+ * @interface FolderSettingsInherited
943
+ */
944
+ export interface FolderSettingsInherited {
945
+ /**
946
+ *
947
+ * @type {WithFolderPathPublicPermissionsArray}
948
+ * @memberof FolderSettingsInherited
949
+ */
950
+ publicPermissions: WithFolderPathPublicPermissionsArray | null;
951
+ /**
952
+ *
953
+ * @type {WithFolderPathStorageLayerSummary}
954
+ * @memberof FolderSettingsInherited
955
+ */
956
+ storageLayer: WithFolderPathStorageLayerSummary | null;
957
+ }
958
+ /**
959
+ *
960
+ * @export
961
+ * @interface FolderSettingsStorageLayerSummary
962
+ */
963
+ export interface FolderSettingsStorageLayerSummary {
964
+ /**
965
+ *
966
+ * @type {string}
967
+ * @memberof FolderSettingsStorageLayerSummary
968
+ */
969
+ description: string | null;
970
+ /**
971
+ *
972
+ * @type {Array<PublicPermissions>}
973
+ * @memberof FolderSettingsStorageLayerSummary
974
+ */
975
+ publicPermissions: Array<PublicPermissions> | null;
976
+ /**
977
+ *
978
+ * @type {FolderSettingsStorageLayerSummaryStorageLayer}
979
+ * @memberof FolderSettingsStorageLayerSummary
980
+ */
981
+ storageLayer: FolderSettingsStorageLayerSummaryStorageLayer | null;
982
+ }
983
+ /**
984
+ *
985
+ * @export
986
+ * @interface FolderSettingsStorageLayerSummaryStorageLayer
987
+ */
988
+ export interface FolderSettingsStorageLayerSummaryStorageLayer {
989
+ /**
990
+ * The type of this storage layer.
991
+ * @type {string}
992
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
993
+ */
994
+ type: FolderSettingsStorageLayerSummaryStorageLayerTypeEnum;
995
+ /**
996
+ * Base URL to proxy requests to. Should contain a trailing `/`.
997
+ *
998
+ * If `baseUrl` is set to `null`, then this folder will behave as an open reverse proxy.
999
+ *
1000
+ * *Example 1:* if the `baseUrl` is `null` and the folder you're configuring the storage layer on is:
1001
+ *
1002
+ * `https://upcdn.io/abc1234/raw/demo`
1003
+ *
1004
+ * Then you can issue requests such as:
1005
+ *
1006
+ * `https://upcdn.io/abc1234/raw/demo/https://images.unsplash.com/example.jpg`
1007
+ *
1008
+ * *Example 2:* if the `baseUrl` is:
1009
+ *
1010
+ * `https://images.unsplash.com/`
1011
+ *
1012
+ * And the folder you're configuring the storage layer on is:
1013
+ *
1014
+ * `https://upcdn.io/abc1234/raw/demo`
1015
+ *
1016
+ * Then you can issue requests such as:
1017
+ *
1018
+ * `https://upcdn.io/abc1234/raw/demo/test/example.jpg`
1019
+ *
1020
+ * Which will be routed to the URL:
1021
+ *
1022
+ * `https://images.unsplash.com/test/example.jpg`
1023
+ * @type {string}
1024
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
1025
+ */
1026
+ baseUrl: string | null;
1027
+ /**
1028
+ *
1029
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
1030
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
1031
+ */
1032
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
1033
+ /**
1034
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1035
+ *
1036
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1037
+ * @type {boolean}
1038
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
1039
+ */
1040
+ useAbsolutePaths: boolean;
1041
+ /**
1042
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
1043
+ *
1044
+ * Note: this setting must also be enabled on the S3 bucket.
1045
+ * @type {boolean}
1046
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
1047
+ */
1048
+ useTransferAcceleration: boolean;
1049
+ /**
1050
+ * Cloudflare Account ID.
1051
+ * @type {string}
1052
+ * @memberof FolderSettingsStorageLayerSummaryStorageLayer
1053
+ */
1054
+ cloudflareAccountId: string;
1055
+ }
1056
+ /**
1057
+ * @export
1058
+ */
1059
+ export declare const FolderSettingsStorageLayerSummaryStorageLayerTypeEnum: {
1060
+ readonly GoogleStorage: "GoogleStorage";
1061
+ };
1062
+ export declare type FolderSettingsStorageLayerSummaryStorageLayerTypeEnum = typeof FolderSettingsStorageLayerSummaryStorageLayerTypeEnum[keyof typeof FolderSettingsStorageLayerSummaryStorageLayerTypeEnum];
1063
+ /**
1064
+ * Summary information about a folder (a subset of the FolderDetails type).
1065
+ * @export
1066
+ * @interface FolderSummary
1067
+ */
1068
+ export interface FolderSummary {
1069
+ /**
1070
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
1071
+ * @type {string}
1072
+ * @memberof FolderSummary
1073
+ */
1074
+ folderPath: string;
1075
+ /**
1076
+ *
1077
+ * @type {FolderSettingsStorageLayerSummary}
1078
+ * @memberof FolderSummary
1079
+ */
1080
+ settings: FolderSettingsStorageLayerSummary;
1081
+ /**
1082
+ *
1083
+ * @type {string}
1084
+ * @memberof FolderSummary
1085
+ */
1086
+ type: FolderSummaryTypeEnum;
1087
+ /**
1088
+ *
1089
+ * @type {boolean}
1090
+ * @memberof FolderSummary
1091
+ */
1092
+ virtual: boolean;
1093
+ }
1094
+ /**
1095
+ * @export
1096
+ */
1097
+ export declare const FolderSummaryTypeEnum: {
1098
+ readonly Folder: "Folder";
1099
+ };
1100
+ export declare type FolderSummaryTypeEnum = typeof FolderSummaryTypeEnum[keyof typeof FolderSummaryTypeEnum];
1101
+ /**
1102
+ * Storage layer used for storing files in Google Storage, as opposed to Bytescale's built-in storage.
1103
+ *
1104
+ * This is a read/write storage layer.
1105
+ * @export
1106
+ * @interface GoogleStorage
1107
+ */
1108
+ export interface GoogleStorage {
1109
+ /**
1110
+ *
1111
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
1112
+ * @memberof GoogleStorage
1113
+ */
1114
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
1115
+ /**
1116
+ *
1117
+ * @type {GoogleStorageCredentials}
1118
+ * @memberof GoogleStorage
1119
+ */
1120
+ credentials: GoogleStorageCredentials;
1121
+ /**
1122
+ * The type of this storage layer.
1123
+ * @type {string}
1124
+ * @memberof GoogleStorage
1125
+ */
1126
+ type: GoogleStorageTypeEnum;
1127
+ /**
1128
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1129
+ *
1130
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1131
+ * @type {boolean}
1132
+ * @memberof GoogleStorage
1133
+ */
1134
+ useAbsolutePaths: boolean;
1135
+ }
1136
+ /**
1137
+ * @export
1138
+ */
1139
+ export declare const GoogleStorageTypeEnum: {
1140
+ readonly GoogleStorage: "GoogleStorage";
1141
+ };
1142
+ export declare type GoogleStorageTypeEnum = typeof GoogleStorageTypeEnum[keyof typeof GoogleStorageTypeEnum];
1143
+ /**
1144
+ *
1145
+ * @export
1146
+ * @interface GoogleStorageCredentials
1147
+ */
1148
+ export interface GoogleStorageCredentials {
1149
+ /**
1150
+ * AWS Secret Access Key.
1151
+ * @type {string}
1152
+ * @memberof GoogleStorageCredentials
1153
+ */
1154
+ googleSecretKey: string;
1155
+ /**
1156
+ * AWS Access Key.
1157
+ * @type {string}
1158
+ * @memberof GoogleStorageCredentials
1159
+ */
1160
+ googleAccessKey: string;
1161
+ }
1162
+ /**
1163
+ * Storage layer used for all files uploaded via the Bytescale API V1 (legacy version).
1164
+ *
1165
+ * This is a read/write storage layer.
1166
+ * @export
1167
+ * @interface InternalStorageV1
1168
+ */
1169
+ export interface InternalStorageV1 {
1170
+ /**
1171
+ * The type of this storage layer.
1172
+ * @type {string}
1173
+ * @memberof InternalStorageV1
1174
+ */
1175
+ type: InternalStorageV1TypeEnum;
1176
+ }
1177
+ /**
1178
+ * @export
1179
+ */
1180
+ export declare const InternalStorageV1TypeEnum: {
1181
+ readonly InternalStorageV1: "InternalStorageV1";
1182
+ };
1183
+ export declare type InternalStorageV1TypeEnum = typeof InternalStorageV1TypeEnum[keyof typeof InternalStorageV1TypeEnum];
1184
+ /**
1185
+ * Default storage layer used for files uploaded via the Bytescale API V2 (latest version).
1186
+ *
1187
+ * This is a read/write storage layer.
1188
+ * @export
1189
+ * @interface InternalStorageV2
1190
+ */
1191
+ export interface InternalStorageV2 {
1192
+ /**
1193
+ * The type of this storage layer.
1194
+ * @type {string}
1195
+ * @memberof InternalStorageV2
1196
+ */
1197
+ type: InternalStorageV2TypeEnum;
1198
+ }
1199
+ /**
1200
+ * @export
1201
+ */
1202
+ export declare const InternalStorageV2TypeEnum: {
1203
+ readonly InternalStorageV2: "InternalStorageV2";
1204
+ };
1205
+ export declare type InternalStorageV2TypeEnum = typeof InternalStorageV2TypeEnum[keyof typeof InternalStorageV2TypeEnum];
1206
+ /**
1207
+ * Summary information about an asynchronous background job (for example, a folder deletion).
1208
+ * @export
1209
+ * @interface JobSummary
1210
+ */
1211
+ export interface JobSummary {
1212
+ /**
1213
+ * Link to the documentation that describes how to get a job's status from its job ID.
1214
+ * @type {string}
1215
+ * @memberof JobSummary
1216
+ */
1217
+ jobDocs: JobSummaryJobDocsEnum;
1218
+ /**
1219
+ * Job ID.
1220
+ * @type {string}
1221
+ * @memberof JobSummary
1222
+ */
1223
+ jobId: string;
1224
+ /**
1225
+ *
1226
+ * @type {AccountJobType}
1227
+ * @memberof JobSummary
1228
+ */
1229
+ jobType: AccountJobType;
1230
+ /**
1231
+ * URL for the job's status.
1232
+ *
1233
+ * You can `GET` this URL to retrieve the job's status.
1234
+ *
1235
+ * You must authorize your `GET` request with a ```secret_*``` API key when accessing the URL.
1236
+ * @type {string}
1237
+ * @memberof JobSummary
1238
+ */
1239
+ jobUrl: string;
1240
+ /**
1241
+ * Your account ID.
1242
+ *
1243
+ * This is visible on the settings page:
1244
+ *
1245
+ * https://www.bytescale.com/dashboard/settings
1246
+ * @type {string}
1247
+ * @memberof JobSummary
1248
+ */
1249
+ accountId: string;
1250
+ /**
1251
+ * Epoch milliseconds (since midnight 1 January 1970, UTC).
1252
+ * @type {number}
1253
+ * @memberof JobSummary
1254
+ */
1255
+ created: number;
1256
+ /**
1257
+ *
1258
+ * @type {JobSummaryError}
1259
+ * @memberof JobSummary
1260
+ */
1261
+ error: JobSummaryError | null;
1262
+ /**
1263
+ * Epoch milliseconds (since midnight 1 January 1970, UTC).
1264
+ * @type {number}
1265
+ * @memberof JobSummary
1266
+ */
1267
+ lastUpdated: number;
1268
+ /**
1269
+ *
1270
+ * @type {AccountJobStatus}
1271
+ * @memberof JobSummary
1272
+ */
1273
+ status: AccountJobStatus;
1274
+ /**
1275
+ * An arbitrary JSON object.
1276
+ * @type {{ [key: string]: any; }}
1277
+ * @memberof JobSummary
1278
+ */
1279
+ summary: {
1280
+ [key: string]: any;
1281
+ };
1282
+ }
1283
+ /**
1284
+ * @export
1285
+ */
1286
+ export declare const JobSummaryJobDocsEnum: {
1287
+ readonly HttpsWwwBytescaleComDocsJobApiGetJob: "https://www.bytescale.com/docs/job-api/GetJob";
1288
+ };
1289
+ export declare type JobSummaryJobDocsEnum = typeof JobSummaryJobDocsEnum[keyof typeof JobSummaryJobDocsEnum];
1290
+ /**
1291
+ *
1292
+ * @export
1293
+ * @interface JobSummaryError
1294
+ */
1295
+ export interface JobSummaryError {
1296
+ /**
1297
+ * Human-readable error message.
1298
+ * @type {string}
1299
+ * @memberof JobSummaryError
1300
+ */
1301
+ message: string;
1302
+ /**
1303
+ * Additional machine-readable details relating to the error.
1304
+ * @type {any}
1305
+ * @memberof JobSummaryError
1306
+ */
1307
+ details?: any | null;
1308
+ /**
1309
+ * Machine-readable error code.
1310
+ * @type {string}
1311
+ * @memberof JobSummaryError
1312
+ */
1313
+ code: string;
1314
+ }
1315
+ /**
1316
+ * Response body for ListFolderDescendants.
1317
+ * @export
1318
+ * @interface ListFolderResponse
1319
+ */
1320
+ export interface ListFolderResponse {
1321
+ /**
1322
+ * Absolute path to a file or folder. Begins with a `/`.
1323
+ * @type {string}
1324
+ * @memberof ListFolderResponse
1325
+ */
1326
+ cursor: string;
1327
+ /**
1328
+ *
1329
+ * @type {FolderSummary}
1330
+ * @memberof ListFolderResponse
1331
+ */
1332
+ folder: FolderSummary;
1333
+ /**
1334
+ * If `true` then paging has completed.
1335
+ * @type {boolean}
1336
+ * @memberof ListFolderResponse
1337
+ */
1338
+ isPaginationComplete: boolean;
1339
+ /**
1340
+ * Summary information about each of the folder's descendants (files and folders).
1341
+ * @type {Array<ObjectSummary>}
1342
+ * @memberof ListFolderResponse
1343
+ */
1344
+ items: Array<ObjectSummary>;
1345
+ }
1346
+ /**
1347
+ * Response body for ListRecentJobs.
1348
+ * @export
1349
+ * @interface ListRecentJobsResponse
1350
+ */
1351
+ export interface ListRecentJobsResponse {
1352
+ /**
1353
+ *
1354
+ * @type {Array<JobSummary>}
1355
+ * @memberof ListRecentJobsResponse
1356
+ */
1357
+ items: Array<JobSummary>;
1358
+ }
1359
+ /**
1360
+ * Multipart file upload protocol version.
1361
+ *
1362
+ * - `1.0`: this protocol version automatically downgrades to single part uploads when files are below a certain size. When this protocol is used for small files, the file exists immediately after the `PUT` request to the `uploadUrl` completes. This protocol requires more client-side code to implement, and has a known issue whereby file TTLs are ignored if the client code fails to call CompleteUploadPart.
1363
+ *
1364
+ * - `1.1`: this protocol version uses multipart uploads for all files. When this protocol is used, files only exist after the last CompleteUploadPart request is made. This protocol simplifies client code, and fixes a known issue in the `2.0` protocol for file TTLs (described above).
1365
+ * @export
1366
+ */
1367
+ export declare const MultipartUploadProtocol: {
1368
+ readonly _0: "1.0";
1369
+ readonly _1: "1.1";
1370
+ };
1371
+ export declare type MultipartUploadProtocol = typeof MultipartUploadProtocol[keyof typeof MultipartUploadProtocol];
1372
+ /**
1373
+ * Summary information about a file or folder.
1374
+ * @export
1375
+ * @interface ObjectSummary
1376
+ */
1377
+ export interface ObjectSummary {
1378
+ /**
1379
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
1380
+ * @type {string}
1381
+ * @memberof ObjectSummary
1382
+ */
1383
+ folderPath: string;
1384
+ /**
1385
+ *
1386
+ * @type {FolderSettingsStorageLayerSummary}
1387
+ * @memberof ObjectSummary
1388
+ */
1389
+ settings: FolderSettingsStorageLayerSummary;
1390
+ /**
1391
+ *
1392
+ * @type {string}
1393
+ * @memberof ObjectSummary
1394
+ */
1395
+ type: ObjectSummaryTypeEnum;
1396
+ /**
1397
+ *
1398
+ * @type {boolean}
1399
+ * @memberof ObjectSummary
1400
+ */
1401
+ virtual: boolean;
1402
+ /**
1403
+ * Absolute path to a file. Begins with a `/`.
1404
+ * @type {string}
1405
+ * @memberof ObjectSummary
1406
+ */
1407
+ filePath: string;
1408
+ /**
1409
+ * URL for a raw file hosted on the Bytescale CDN.
1410
+ * @type {string}
1411
+ * @memberof ObjectSummary
1412
+ */
1413
+ fileUrl: string;
1414
+ /**
1415
+ * Epoch milliseconds (since midnight 1 January 1970, UTC).
1416
+ * @type {number}
1417
+ * @memberof ObjectSummary
1418
+ */
1419
+ lastModified: number;
1420
+ /**
1421
+ * Size in bytes.
1422
+ * @type {number}
1423
+ * @memberof ObjectSummary
1424
+ */
1425
+ size: number;
1426
+ }
1427
+ /**
1428
+ * @export
1429
+ */
1430
+ export declare const ObjectSummaryTypeEnum: {
1431
+ readonly File: "File";
1432
+ };
1433
+ export declare type ObjectSummaryTypeEnum = typeof ObjectSummaryTypeEnum[keyof typeof ObjectSummaryTypeEnum];
1434
+ /**
1435
+ * Specifies the folder settings to use when creating or updating a folder.
1436
+ * @export
1437
+ * @interface PatchFolderSettings
1438
+ */
1439
+ export interface PatchFolderSettings {
1440
+ /**
1441
+ *
1442
+ * @type {UpdatableFieldFolderDescriptionOrNull}
1443
+ * @memberof PatchFolderSettings
1444
+ */
1445
+ description: UpdatableFieldFolderDescriptionOrNull;
1446
+ /**
1447
+ *
1448
+ * @type {UpdatableFieldPublicPermissionsArrayOrNull}
1449
+ * @memberof PatchFolderSettings
1450
+ */
1451
+ publicPermissions: UpdatableFieldPublicPermissionsArrayOrNull;
1452
+ /**
1453
+ *
1454
+ * @type {UpdatableFieldStorageLayerUpdateOrNull}
1455
+ * @memberof PatchFolderSettings
1456
+ */
1457
+ storageLayer: UpdatableFieldStorageLayerUpdateOrNull;
1458
+ }
1459
+ /**
1460
+ * Specifies the level in the file tree, relative to the path, that these permissions apply.
1461
+ *
1462
+ * - `"This"`: Permissions apply to the current path only.
1463
+ *
1464
+ * - `"Children"`: Permissions apply to the children (files and folders) of this path only.
1465
+ *
1466
+ * - `"Grandchildren+"`: Permissions apply to the grandchildren (files and folders) of this path and their descendants only.
1467
+ * @export
1468
+ */
1469
+ export declare const PathPermissionScope: {
1470
+ readonly Children: "Children";
1471
+ readonly Grandchildren: "Grandchildren+";
1472
+ readonly This: "This";
1473
+ };
1474
+ export declare type PathPermissionScope = typeof PathPermissionScope[keyof typeof PathPermissionScope];
1475
+ /**
1476
+ * From T, pick a set of properties whose keys are in the union K
1477
+ * @export
1478
+ * @interface PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentials
1479
+ */
1480
+ export interface PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentials {
1481
+ /**
1482
+ * The type of this storage layer.
1483
+ * @type {string}
1484
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentials
1485
+ */
1486
+ type: PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsTypeEnum;
1487
+ /**
1488
+ *
1489
+ * @type {PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket}
1490
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentials
1491
+ */
1492
+ bucket: PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket;
1493
+ /**
1494
+ * If `true` then writes S3 objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1495
+ *
1496
+ * If `false` then writes S3 objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1497
+ * @type {boolean}
1498
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentials
1499
+ */
1500
+ useAbsolutePaths: boolean;
1501
+ }
1502
+ /**
1503
+ * @export
1504
+ */
1505
+ export declare const PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsTypeEnum: {
1506
+ readonly DigitalOceanSpace: "DigitalOceanSpace";
1507
+ };
1508
+ export declare type PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsTypeEnum = typeof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsTypeEnum[keyof typeof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsTypeEnum];
1509
+ /**
1510
+ *
1511
+ * @export
1512
+ * @interface PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket
1513
+ */
1514
+ export interface PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket {
1515
+ /**
1516
+ * AWS S3 Object Key.
1517
+ * @type {string}
1518
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket
1519
+ */
1520
+ objectKeyPrefix: string;
1521
+ /**
1522
+ * DigitalOcean Region.
1523
+ * @type {string}
1524
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket
1525
+ */
1526
+ bucketRegion: string;
1527
+ /**
1528
+ * AWS S3 Bucket Name.
1529
+ * @type {string}
1530
+ * @memberof PickDigitalOceanStorageExcludeKeyofDigitalOceanStorageCredentialsBucket
1531
+ */
1532
+ bucketName: string;
1533
+ }
1534
+ /**
1535
+ * From T, pick a set of properties whose keys are in the union K
1536
+ * @export
1537
+ * @interface PickGoogleStorageExcludeKeyofGoogleStorageCredentials
1538
+ */
1539
+ export interface PickGoogleStorageExcludeKeyofGoogleStorageCredentials {
1540
+ /**
1541
+ * The type of this storage layer.
1542
+ * @type {string}
1543
+ * @memberof PickGoogleStorageExcludeKeyofGoogleStorageCredentials
1544
+ */
1545
+ type: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsTypeEnum;
1546
+ /**
1547
+ *
1548
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
1549
+ * @memberof PickGoogleStorageExcludeKeyofGoogleStorageCredentials
1550
+ */
1551
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
1552
+ /**
1553
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1554
+ *
1555
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1556
+ * @type {boolean}
1557
+ * @memberof PickGoogleStorageExcludeKeyofGoogleStorageCredentials
1558
+ */
1559
+ useAbsolutePaths: boolean;
1560
+ }
1561
+ /**
1562
+ * @export
1563
+ */
1564
+ export declare const PickGoogleStorageExcludeKeyofGoogleStorageCredentialsTypeEnum: {
1565
+ readonly GoogleStorage: "GoogleStorage";
1566
+ };
1567
+ export declare type PickGoogleStorageExcludeKeyofGoogleStorageCredentialsTypeEnum = typeof PickGoogleStorageExcludeKeyofGoogleStorageCredentialsTypeEnum[keyof typeof PickGoogleStorageExcludeKeyofGoogleStorageCredentialsTypeEnum];
1568
+ /**
1569
+ *
1570
+ * @export
1571
+ * @interface PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket
1572
+ */
1573
+ export interface PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket {
1574
+ /**
1575
+ * AWS S3 Object Key.
1576
+ * @type {string}
1577
+ * @memberof PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket
1578
+ */
1579
+ objectKeyPrefix: string;
1580
+ /**
1581
+ * Google Storage Bucket Name.
1582
+ * @type {string}
1583
+ * @memberof PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket
1584
+ */
1585
+ bucketName: string;
1586
+ }
1587
+ /**
1588
+ * From T, pick a set of properties whose keys are in the union K
1589
+ * @export
1590
+ * @interface PickR2StorageExcludeKeyofR2StorageCredentials
1591
+ */
1592
+ export interface PickR2StorageExcludeKeyofR2StorageCredentials {
1593
+ /**
1594
+ * The type of this storage layer.
1595
+ * @type {string}
1596
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentials
1597
+ */
1598
+ type: PickR2StorageExcludeKeyofR2StorageCredentialsTypeEnum;
1599
+ /**
1600
+ *
1601
+ * @type {PickR2StorageExcludeKeyofR2StorageCredentialsBucket}
1602
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentials
1603
+ */
1604
+ bucket: PickR2StorageExcludeKeyofR2StorageCredentialsBucket;
1605
+ /**
1606
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1607
+ *
1608
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1609
+ * @type {boolean}
1610
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentials
1611
+ */
1612
+ useAbsolutePaths: boolean;
1613
+ /**
1614
+ * Cloudflare Account ID.
1615
+ * @type {string}
1616
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentials
1617
+ */
1618
+ cloudflareAccountId: string;
1619
+ }
1620
+ /**
1621
+ * @export
1622
+ */
1623
+ export declare const PickR2StorageExcludeKeyofR2StorageCredentialsTypeEnum: {
1624
+ readonly R2: "R2";
1625
+ };
1626
+ export declare type PickR2StorageExcludeKeyofR2StorageCredentialsTypeEnum = typeof PickR2StorageExcludeKeyofR2StorageCredentialsTypeEnum[keyof typeof PickR2StorageExcludeKeyofR2StorageCredentialsTypeEnum];
1627
+ /**
1628
+ *
1629
+ * @export
1630
+ * @interface PickR2StorageExcludeKeyofR2StorageCredentialsBucket
1631
+ */
1632
+ export interface PickR2StorageExcludeKeyofR2StorageCredentialsBucket {
1633
+ /**
1634
+ * AWS S3 Object Key.
1635
+ * @type {string}
1636
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentialsBucket
1637
+ */
1638
+ objectKeyPrefix: string;
1639
+ /**
1640
+ * AWS S3 Bucket Name.
1641
+ * @type {string}
1642
+ * @memberof PickR2StorageExcludeKeyofR2StorageCredentialsBucket
1643
+ */
1644
+ bucketName: string;
1645
+ }
1646
+ /**
1647
+ * From T, pick a set of properties whose keys are in the union K
1648
+ * @export
1649
+ * @interface PickS3StorageExcludeKeyofS3StorageCredentials
1650
+ */
1651
+ export interface PickS3StorageExcludeKeyofS3StorageCredentials {
1652
+ /**
1653
+ * The type of this storage layer.
1654
+ * @type {string}
1655
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentials
1656
+ */
1657
+ type: PickS3StorageExcludeKeyofS3StorageCredentialsTypeEnum;
1658
+ /**
1659
+ *
1660
+ * @type {PickS3StorageExcludeKeyofS3StorageCredentialsBucket}
1661
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentials
1662
+ */
1663
+ bucket: PickS3StorageExcludeKeyofS3StorageCredentialsBucket;
1664
+ /**
1665
+ * If `true` then writes S3 objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1666
+ *
1667
+ * If `false` then writes S3 objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1668
+ * @type {boolean}
1669
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentials
1670
+ */
1671
+ useAbsolutePaths: boolean;
1672
+ /**
1673
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
1674
+ *
1675
+ * Note: this setting must also be enabled on the S3 bucket.
1676
+ * @type {boolean}
1677
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentials
1678
+ */
1679
+ useTransferAcceleration: boolean;
1680
+ }
1681
+ /**
1682
+ * @export
1683
+ */
1684
+ export declare const PickS3StorageExcludeKeyofS3StorageCredentialsTypeEnum: {
1685
+ readonly S3: "S3";
1686
+ };
1687
+ export declare type PickS3StorageExcludeKeyofS3StorageCredentialsTypeEnum = typeof PickS3StorageExcludeKeyofS3StorageCredentialsTypeEnum[keyof typeof PickS3StorageExcludeKeyofS3StorageCredentialsTypeEnum];
1688
+ /**
1689
+ *
1690
+ * @export
1691
+ * @interface PickS3StorageExcludeKeyofS3StorageCredentialsBucket
1692
+ */
1693
+ export interface PickS3StorageExcludeKeyofS3StorageCredentialsBucket {
1694
+ /**
1695
+ * AWS S3 Object Key.
1696
+ * @type {string}
1697
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentialsBucket
1698
+ */
1699
+ objectKeyPrefix: string;
1700
+ /**
1701
+ *
1702
+ * @type {AwsRegion}
1703
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentialsBucket
1704
+ */
1705
+ bucketRegion: AwsRegion;
1706
+ /**
1707
+ * AWS S3 Bucket Name.
1708
+ * @type {string}
1709
+ * @memberof PickS3StorageExcludeKeyofS3StorageCredentialsBucket
1710
+ */
1711
+ bucketName: string;
1712
+ }
1713
+ /**
1714
+ * Request body for ProcessFileAndSave.
1715
+ * @export
1716
+ * @interface ProcessFileAndSaveRequest
1717
+ */
1718
+ export interface ProcessFileAndSaveRequest {
1719
+ /**
1720
+ *
1721
+ * @type {FilePathDefinition}
1722
+ * @memberof ProcessFileAndSaveRequest
1723
+ */
1724
+ destination?: FilePathDefinition;
1725
+ /**
1726
+ *
1727
+ * @type {CopyableFileDataFileMetadata}
1728
+ * @memberof ProcessFileAndSaveRequest
1729
+ */
1730
+ metadata?: CopyableFileDataFileMetadata;
1731
+ /**
1732
+ *
1733
+ * @type {CopyableFileDataFileTagNameArray}
1734
+ * @memberof ProcessFileAndSaveRequest
1735
+ */
1736
+ tags?: CopyableFileDataFileTagNameArray;
1737
+ }
1738
+ /**
1739
+ * Response body for ProcessFileAndSave.
1740
+ * @export
1741
+ * @interface ProcessFileAndSaveResponse
1742
+ */
1743
+ export interface ProcessFileAndSaveResponse {
1744
+ /**
1745
+ * Your account ID.
1746
+ *
1747
+ * This is visible on the settings page:
1748
+ *
1749
+ * https://www.bytescale.com/dashboard/settings
1750
+ * @type {string}
1751
+ * @memberof ProcessFileAndSaveResponse
1752
+ */
1753
+ accountId: string;
1754
+ /**
1755
+ * The `filePath` of the transformed file.
1756
+ *
1757
+ * Transformations that produce multiple files — like the Archive Processing API running in `extract` mode — save files under this path. The `basePath` itself references a "summary file" that contains relative links to the other files produced by the transformation.
1758
+ *
1759
+ * Asynchronous transformations — like the Video Processing API — save a "summary file" to the `basePath` immediately. The file contains a summary of the work being performed and its current status. The file is updated periodically until the transformation completes.
1760
+ * @type {string}
1761
+ * @memberof ProcessFileAndSaveResponse
1762
+ */
1763
+ basePath: string;
1764
+ /**
1765
+ * URL for an http(s) resource.
1766
+ * @type {string}
1767
+ * @memberof ProcessFileAndSaveResponse
1768
+ */
1769
+ baseUrl: string;
1770
+ /**
1771
+ * JSON response returned by certain transformation APIs.
1772
+ *
1773
+ * Structure varies between transformation APIs (please consult the documentation of the individual transformation APIs).
1774
+ * @type {{ [key: string]: any; }}
1775
+ * @memberof ProcessFileAndSaveResponse
1776
+ */
1777
+ summary?: {
1778
+ [key: string]: any;
1779
+ };
1780
+ }
1781
+ /**
1782
+ * Permissions applied to anonymous users who attempt to download files from a folder.
1783
+ *
1784
+ * Each folder can declare these permissions via its FolderSettings object.
1785
+ * @export
1786
+ * @interface PublicPermissions
1787
+ */
1788
+ export interface PublicPermissions {
1789
+ /**
1790
+ *
1791
+ * @type {PublicPermissionsGrants}
1792
+ * @memberof PublicPermissions
1793
+ */
1794
+ permissions: PublicPermissionsGrants;
1795
+ /**
1796
+ *
1797
+ * @type {PathPermissionScope}
1798
+ * @memberof PublicPermissions
1799
+ */
1800
+ scope: PathPermissionScope;
1801
+ }
1802
+ /**
1803
+ * Permissions applied to anonymous users who attempt to download files from a folder.
1804
+ *
1805
+ * Each folder can declare these permissions via its FolderSettings object.
1806
+ * @export
1807
+ * @interface PublicPermissionsGrants
1808
+ */
1809
+ export interface PublicPermissionsGrants {
1810
+ /**
1811
+ *
1812
+ * @type {FileDownloadGrants}
1813
+ * @memberof PublicPermissionsGrants
1814
+ */
1815
+ file: FileDownloadGrants;
1816
+ }
1817
+ /**
1818
+ * Request body for PutFolder.
1819
+ * @export
1820
+ * @interface PutFolderRequest
1821
+ */
1822
+ export interface PutFolderRequest {
1823
+ /**
1824
+ * You must specify `true` if the `folderPath` ends with a `/`.
1825
+ *
1826
+ * This prevents the accidental creation of folders that produce file paths with double forward-slashes in them.
1827
+ *
1828
+ * Default: false
1829
+ * @type {boolean}
1830
+ * @memberof PutFolderRequest
1831
+ */
1832
+ allowUnnamedFolder?: boolean;
1833
+ /**
1834
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
1835
+ * @type {string}
1836
+ * @memberof PutFolderRequest
1837
+ */
1838
+ folderPath: string;
1839
+ /**
1840
+ *
1841
+ * @type {PatchFolderSettings}
1842
+ * @memberof PutFolderRequest
1843
+ */
1844
+ folderSettings?: PatchFolderSettings;
1845
+ }
1846
+ /**
1847
+ * Storage layer used for storing files in Cloudflare R2, as opposed to Bytescale's built-in storage.
1848
+ *
1849
+ * This is a read/write storage layer.
1850
+ * @export
1851
+ * @interface R2Storage
1852
+ */
1853
+ export interface R2Storage {
1854
+ /**
1855
+ *
1856
+ * @type {PickR2StorageExcludeKeyofR2StorageCredentialsBucket}
1857
+ * @memberof R2Storage
1858
+ */
1859
+ bucket: PickR2StorageExcludeKeyofR2StorageCredentialsBucket;
1860
+ /**
1861
+ * Cloudflare Account ID.
1862
+ * @type {string}
1863
+ * @memberof R2Storage
1864
+ */
1865
+ cloudflareAccountId: string;
1866
+ /**
1867
+ *
1868
+ * @type {R2StorageCredentials}
1869
+ * @memberof R2Storage
1870
+ */
1871
+ credentials: R2StorageCredentials;
1872
+ /**
1873
+ * The type of this storage layer.
1874
+ * @type {string}
1875
+ * @memberof R2Storage
1876
+ */
1877
+ type: R2StorageTypeEnum;
1878
+ /**
1879
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1880
+ *
1881
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1882
+ * @type {boolean}
1883
+ * @memberof R2Storage
1884
+ */
1885
+ useAbsolutePaths: boolean;
1886
+ }
1887
+ /**
1888
+ * @export
1889
+ */
1890
+ export declare const R2StorageTypeEnum: {
1891
+ readonly R2: "R2";
1892
+ };
1893
+ export declare type R2StorageTypeEnum = typeof R2StorageTypeEnum[keyof typeof R2StorageTypeEnum];
1894
+ /**
1895
+ *
1896
+ * @export
1897
+ * @interface R2StorageCredentials
1898
+ */
1899
+ export interface R2StorageCredentials {
1900
+ /**
1901
+ * AWS Secret Access Key.
1902
+ * @type {string}
1903
+ * @memberof R2StorageCredentials
1904
+ */
1905
+ r2SecretKey: string;
1906
+ /**
1907
+ * AWS Access Key.
1908
+ * @type {string}
1909
+ * @memberof R2StorageCredentials
1910
+ */
1911
+ r2AccessKey: string;
1912
+ }
1913
+ /**
1914
+ * Storage layer used for storing files in custom S3 buckets, as opposed to Bytescale's built-in storage.
1915
+ *
1916
+ * This is a read/write storage layer.
1917
+ * @export
1918
+ * @interface S3Storage
1919
+ */
1920
+ export interface S3Storage {
1921
+ /**
1922
+ *
1923
+ * @type {PickS3StorageExcludeKeyofS3StorageCredentialsBucket}
1924
+ * @memberof S3Storage
1925
+ */
1926
+ bucket: PickS3StorageExcludeKeyofS3StorageCredentialsBucket;
1927
+ /**
1928
+ *
1929
+ * @type {S3StorageCredentials}
1930
+ * @memberof S3Storage
1931
+ */
1932
+ credentials: S3StorageCredentials;
1933
+ /**
1934
+ * The type of this storage layer.
1935
+ * @type {string}
1936
+ * @memberof S3Storage
1937
+ */
1938
+ type: S3StorageTypeEnum;
1939
+ /**
1940
+ * If `true` then writes S3 objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
1941
+ *
1942
+ * If `false` then writes S3 objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
1943
+ * @type {boolean}
1944
+ * @memberof S3Storage
1945
+ */
1946
+ useAbsolutePaths: boolean;
1947
+ /**
1948
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
1949
+ *
1950
+ * Note: this setting must also be enabled on the S3 bucket.
1951
+ * @type {boolean}
1952
+ * @memberof S3Storage
1953
+ */
1954
+ useTransferAcceleration: boolean;
1955
+ }
1956
+ /**
1957
+ * @export
1958
+ */
1959
+ export declare const S3StorageTypeEnum: {
1960
+ readonly S3: "S3";
1961
+ };
1962
+ export declare type S3StorageTypeEnum = typeof S3StorageTypeEnum[keyof typeof S3StorageTypeEnum];
1963
+ /**
1964
+ *
1965
+ * @export
1966
+ * @interface S3StorageCredentials
1967
+ */
1968
+ export interface S3StorageCredentials {
1969
+ /**
1970
+ * AWS Secret Access Key.
1971
+ * @type {string}
1972
+ * @memberof S3StorageCredentials
1973
+ */
1974
+ awsSecretKey: string;
1975
+ /**
1976
+ * AWS Access Key.
1977
+ * @type {string}
1978
+ * @memberof S3StorageCredentials
1979
+ */
1980
+ awsAccessKey: string;
1981
+ }
1982
+ /**
1983
+ * This data type specifies the field must be updated.
1984
+ * @export
1985
+ * @interface SpecifiedFieldValueFolderDescriptionOrNull
1986
+ */
1987
+ export interface SpecifiedFieldValueFolderDescriptionOrNull {
1988
+ /**
1989
+ * This field is always `true`.
1990
+ * @type {boolean}
1991
+ * @memberof SpecifiedFieldValueFolderDescriptionOrNull
1992
+ */
1993
+ set: SpecifiedFieldValueFolderDescriptionOrNullSetEnum;
1994
+ /**
1995
+ * The value to set into the field.
1996
+ * @type {string}
1997
+ * @memberof SpecifiedFieldValueFolderDescriptionOrNull
1998
+ */
1999
+ value: string | null;
2000
+ }
2001
+ /**
2002
+ * @export
2003
+ */
2004
+ export declare const SpecifiedFieldValueFolderDescriptionOrNullSetEnum: {
2005
+ readonly True: true;
2006
+ };
2007
+ export declare type SpecifiedFieldValueFolderDescriptionOrNullSetEnum = typeof SpecifiedFieldValueFolderDescriptionOrNullSetEnum[keyof typeof SpecifiedFieldValueFolderDescriptionOrNullSetEnum];
2008
+ /**
2009
+ * This data type specifies the field must be updated.
2010
+ * @export
2011
+ * @interface SpecifiedFieldValuePublicPermissionsArrayOrNull
2012
+ */
2013
+ export interface SpecifiedFieldValuePublicPermissionsArrayOrNull {
2014
+ /**
2015
+ * This field is always `true`.
2016
+ * @type {boolean}
2017
+ * @memberof SpecifiedFieldValuePublicPermissionsArrayOrNull
2018
+ */
2019
+ set: SpecifiedFieldValuePublicPermissionsArrayOrNullSetEnum;
2020
+ /**
2021
+ * The value to set into the field.
2022
+ * @type {Array<PublicPermissions>}
2023
+ * @memberof SpecifiedFieldValuePublicPermissionsArrayOrNull
2024
+ */
2025
+ value: Array<PublicPermissions> | null;
2026
+ }
2027
+ /**
2028
+ * @export
2029
+ */
2030
+ export declare const SpecifiedFieldValuePublicPermissionsArrayOrNullSetEnum: {
2031
+ readonly True: true;
2032
+ };
2033
+ export declare type SpecifiedFieldValuePublicPermissionsArrayOrNullSetEnum = typeof SpecifiedFieldValuePublicPermissionsArrayOrNullSetEnum[keyof typeof SpecifiedFieldValuePublicPermissionsArrayOrNullSetEnum];
2034
+ /**
2035
+ * This data type specifies the field must be updated.
2036
+ * @export
2037
+ * @interface SpecifiedFieldValueStorageLayerUpdateOrNull
2038
+ */
2039
+ export interface SpecifiedFieldValueStorageLayerUpdateOrNull {
2040
+ /**
2041
+ * This field is always `true`.
2042
+ * @type {boolean}
2043
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNull
2044
+ */
2045
+ set: SpecifiedFieldValueStorageLayerUpdateOrNullSetEnum;
2046
+ /**
2047
+ *
2048
+ * @type {SpecifiedFieldValueStorageLayerUpdateOrNullValue}
2049
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNull
2050
+ */
2051
+ value: SpecifiedFieldValueStorageLayerUpdateOrNullValue | null;
2052
+ }
2053
+ /**
2054
+ * @export
2055
+ */
2056
+ export declare const SpecifiedFieldValueStorageLayerUpdateOrNullSetEnum: {
2057
+ readonly True: true;
2058
+ };
2059
+ export declare type SpecifiedFieldValueStorageLayerUpdateOrNullSetEnum = typeof SpecifiedFieldValueStorageLayerUpdateOrNullSetEnum[keyof typeof SpecifiedFieldValueStorageLayerUpdateOrNullSetEnum];
2060
+ /**
2061
+ * The value to set into the field.
2062
+ * @export
2063
+ * @interface SpecifiedFieldValueStorageLayerUpdateOrNullValue
2064
+ */
2065
+ export interface SpecifiedFieldValueStorageLayerUpdateOrNullValue {
2066
+ /**
2067
+ * The type of this storage layer.
2068
+ * @type {string}
2069
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2070
+ */
2071
+ type: SpecifiedFieldValueStorageLayerUpdateOrNullValueTypeEnum;
2072
+ /**
2073
+ * Base URL to proxy requests to. Should contain a trailing `/`.
2074
+ *
2075
+ * If `baseUrl` is set to `null`, then this folder will behave as an open reverse proxy.
2076
+ *
2077
+ * *Example 1:* if the `baseUrl` is `null` and the folder you're configuring the storage layer on is:
2078
+ *
2079
+ * `https://upcdn.io/abc1234/raw/demo`
2080
+ *
2081
+ * Then you can issue requests such as:
2082
+ *
2083
+ * `https://upcdn.io/abc1234/raw/demo/https://images.unsplash.com/example.jpg`
2084
+ *
2085
+ * *Example 2:* if the `baseUrl` is:
2086
+ *
2087
+ * `https://images.unsplash.com/`
2088
+ *
2089
+ * And the folder you're configuring the storage layer on is:
2090
+ *
2091
+ * `https://upcdn.io/abc1234/raw/demo`
2092
+ *
2093
+ * Then you can issue requests such as:
2094
+ *
2095
+ * `https://upcdn.io/abc1234/raw/demo/test/example.jpg`
2096
+ *
2097
+ * Which will be routed to the URL:
2098
+ *
2099
+ * `https://images.unsplash.com/test/example.jpg`
2100
+ * @type {string}
2101
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2102
+ */
2103
+ baseUrl: string | null;
2104
+ /**
2105
+ *
2106
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
2107
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2108
+ */
2109
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
2110
+ /**
2111
+ *
2112
+ * @type {GoogleStorageCredentials}
2113
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2114
+ */
2115
+ credentials: GoogleStorageCredentials;
2116
+ /**
2117
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
2118
+ *
2119
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
2120
+ * @type {boolean}
2121
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2122
+ */
2123
+ useAbsolutePaths: boolean;
2124
+ /**
2125
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
2126
+ *
2127
+ * Note: this setting must also be enabled on the S3 bucket.
2128
+ * @type {boolean}
2129
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2130
+ */
2131
+ useTransferAcceleration: boolean;
2132
+ /**
2133
+ * Cloudflare Account ID.
2134
+ * @type {string}
2135
+ * @memberof SpecifiedFieldValueStorageLayerUpdateOrNullValue
2136
+ */
2137
+ cloudflareAccountId: string;
2138
+ }
2139
+ /**
2140
+ * @export
2141
+ */
2142
+ export declare const SpecifiedFieldValueStorageLayerUpdateOrNullValueTypeEnum: {
2143
+ readonly GoogleStorage: "GoogleStorage";
2144
+ };
2145
+ export declare type SpecifiedFieldValueStorageLayerUpdateOrNullValueTypeEnum = typeof SpecifiedFieldValueStorageLayerUpdateOrNullValueTypeEnum[keyof typeof SpecifiedFieldValueStorageLayerUpdateOrNullValueTypeEnum];
2146
+ /**
2147
+ * Storage layer summary information, describing an existing folder's storage layer.
2148
+ *
2149
+ * This data type does not contain credentials.
2150
+ * @export
2151
+ * @interface StorageLayerSummary
2152
+ */
2153
+ export interface StorageLayerSummary {
2154
+ /**
2155
+ * The type of this storage layer.
2156
+ * @type {string}
2157
+ * @memberof StorageLayerSummary
2158
+ */
2159
+ type: StorageLayerSummaryTypeEnum;
2160
+ /**
2161
+ * Base URL to proxy requests to. Should contain a trailing `/`.
2162
+ *
2163
+ * If `baseUrl` is set to `null`, then this folder will behave as an open reverse proxy.
2164
+ *
2165
+ * *Example 1:* if the `baseUrl` is `null` and the folder you're configuring the storage layer on is:
2166
+ *
2167
+ * `https://upcdn.io/abc1234/raw/demo`
2168
+ *
2169
+ * Then you can issue requests such as:
2170
+ *
2171
+ * `https://upcdn.io/abc1234/raw/demo/https://images.unsplash.com/example.jpg`
2172
+ *
2173
+ * *Example 2:* if the `baseUrl` is:
2174
+ *
2175
+ * `https://images.unsplash.com/`
2176
+ *
2177
+ * And the folder you're configuring the storage layer on is:
2178
+ *
2179
+ * `https://upcdn.io/abc1234/raw/demo`
2180
+ *
2181
+ * Then you can issue requests such as:
2182
+ *
2183
+ * `https://upcdn.io/abc1234/raw/demo/test/example.jpg`
2184
+ *
2185
+ * Which will be routed to the URL:
2186
+ *
2187
+ * `https://images.unsplash.com/test/example.jpg`
2188
+ * @type {string}
2189
+ * @memberof StorageLayerSummary
2190
+ */
2191
+ baseUrl: string | null;
2192
+ /**
2193
+ *
2194
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
2195
+ * @memberof StorageLayerSummary
2196
+ */
2197
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
2198
+ /**
2199
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
2200
+ *
2201
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
2202
+ * @type {boolean}
2203
+ * @memberof StorageLayerSummary
2204
+ */
2205
+ useAbsolutePaths: boolean;
2206
+ /**
2207
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
2208
+ *
2209
+ * Note: this setting must also be enabled on the S3 bucket.
2210
+ * @type {boolean}
2211
+ * @memberof StorageLayerSummary
2212
+ */
2213
+ useTransferAcceleration: boolean;
2214
+ /**
2215
+ * Cloudflare Account ID.
2216
+ * @type {string}
2217
+ * @memberof StorageLayerSummary
2218
+ */
2219
+ cloudflareAccountId: string;
2220
+ }
2221
+ /**
2222
+ * @export
2223
+ */
2224
+ export declare const StorageLayerSummaryTypeEnum: {
2225
+ readonly GoogleStorage: "GoogleStorage";
2226
+ };
2227
+ export declare type StorageLayerSummaryTypeEnum = typeof StorageLayerSummaryTypeEnum[keyof typeof StorageLayerSummaryTypeEnum];
2228
+ /**
2229
+ * Data type used to update or create a folder's storage layer.
2230
+ *
2231
+ * This data type may contain credentials.
2232
+ * @export
2233
+ * @interface StorageLayerUpdate
2234
+ */
2235
+ export interface StorageLayerUpdate {
2236
+ /**
2237
+ * The type of this storage layer.
2238
+ * @type {string}
2239
+ * @memberof StorageLayerUpdate
2240
+ */
2241
+ type: StorageLayerUpdateTypeEnum;
2242
+ /**
2243
+ * Base URL to proxy requests to. Should contain a trailing `/`.
2244
+ *
2245
+ * If `baseUrl` is set to `null`, then this folder will behave as an open reverse proxy.
2246
+ *
2247
+ * *Example 1:* if the `baseUrl` is `null` and the folder you're configuring the storage layer on is:
2248
+ *
2249
+ * `https://upcdn.io/abc1234/raw/demo`
2250
+ *
2251
+ * Then you can issue requests such as:
2252
+ *
2253
+ * `https://upcdn.io/abc1234/raw/demo/https://images.unsplash.com/example.jpg`
2254
+ *
2255
+ * *Example 2:* if the `baseUrl` is:
2256
+ *
2257
+ * `https://images.unsplash.com/`
2258
+ *
2259
+ * And the folder you're configuring the storage layer on is:
2260
+ *
2261
+ * `https://upcdn.io/abc1234/raw/demo`
2262
+ *
2263
+ * Then you can issue requests such as:
2264
+ *
2265
+ * `https://upcdn.io/abc1234/raw/demo/test/example.jpg`
2266
+ *
2267
+ * Which will be routed to the URL:
2268
+ *
2269
+ * `https://images.unsplash.com/test/example.jpg`
2270
+ * @type {string}
2271
+ * @memberof StorageLayerUpdate
2272
+ */
2273
+ baseUrl: string | null;
2274
+ /**
2275
+ *
2276
+ * @type {PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket}
2277
+ * @memberof StorageLayerUpdate
2278
+ */
2279
+ bucket: PickGoogleStorageExcludeKeyofGoogleStorageCredentialsBucket;
2280
+ /**
2281
+ *
2282
+ * @type {GoogleStorageCredentials}
2283
+ * @memberof StorageLayerUpdate
2284
+ */
2285
+ credentials: GoogleStorageCredentials;
2286
+ /**
2287
+ * If `true` then writes Google Storage objects with full `filePath` as key, prefixed with the `objectKeyPrefix`.
2288
+ *
2289
+ * If `false` then writes Google Storage objects using a relative `filePath` in relation to folder's path, prefixed with the `objectKeyPrefix`.
2290
+ * @type {boolean}
2291
+ * @memberof StorageLayerUpdate
2292
+ */
2293
+ useAbsolutePaths: boolean;
2294
+ /**
2295
+ * Enables S3 transfer acceleration, providing improved file upload speeds for larger files.
2296
+ *
2297
+ * Note: this setting must also be enabled on the S3 bucket.
2298
+ * @type {boolean}
2299
+ * @memberof StorageLayerUpdate
2300
+ */
2301
+ useTransferAcceleration: boolean;
2302
+ /**
2303
+ * Cloudflare Account ID.
2304
+ * @type {string}
2305
+ * @memberof StorageLayerUpdate
2306
+ */
2307
+ cloudflareAccountId: string;
2308
+ }
2309
+ /**
2310
+ * @export
2311
+ */
2312
+ export declare const StorageLayerUpdateTypeEnum: {
2313
+ readonly GoogleStorage: "GoogleStorage";
2314
+ };
2315
+ export declare type StorageLayerUpdateTypeEnum = typeof StorageLayerUpdateTypeEnum[keyof typeof StorageLayerUpdateTypeEnum];
2316
+ /**
2317
+ * Expresses a condition that matches files by their tags.
2318
+ * @export
2319
+ * @interface TagCondition
2320
+ */
2321
+ export interface TagCondition {
2322
+ /**
2323
+ *
2324
+ * @type {TagCondition}
2325
+ * @memberof TagCondition
2326
+ */
2327
+ left: TagCondition;
2328
+ /**
2329
+ *
2330
+ * @type {TagCondition}
2331
+ * @memberof TagCondition
2332
+ */
2333
+ right: TagCondition;
2334
+ /**
2335
+ *
2336
+ * @type {string}
2337
+ * @memberof TagCondition
2338
+ */
2339
+ type: TagConditionTypeEnum;
2340
+ /**
2341
+ * File tag scope, e.g. for a transformation definition, a CDN download access token, or an API key's tag whitelist.
2342
+ * @type {string}
2343
+ * @memberof TagCondition
2344
+ */
2345
+ equals: string;
2346
+ /**
2347
+ *
2348
+ * @type {TagCondition}
2349
+ * @memberof TagCondition
2350
+ */
2351
+ condition: TagCondition;
2352
+ /**
2353
+ *
2354
+ * @type {Array<string>}
2355
+ * @memberof TagCondition
2356
+ */
2357
+ any: Array<string>;
2358
+ /**
2359
+ *
2360
+ * @type {Array<string>}
2361
+ * @memberof TagCondition
2362
+ */
2363
+ all: Array<string>;
2364
+ }
2365
+ /**
2366
+ * @export
2367
+ */
2368
+ export declare const TagConditionTypeEnum: {
2369
+ readonly All: "All";
2370
+ };
2371
+ export declare type TagConditionTypeEnum = typeof TagConditionTypeEnum[keyof typeof TagConditionTypeEnum];
2372
+ /**
2373
+ *
2374
+ * @export
2375
+ * @interface TagConditionAll
2376
+ */
2377
+ export interface TagConditionAll {
2378
+ /**
2379
+ *
2380
+ * @type {Array<string>}
2381
+ * @memberof TagConditionAll
2382
+ */
2383
+ all: Array<string>;
2384
+ /**
2385
+ *
2386
+ * @type {string}
2387
+ * @memberof TagConditionAll
2388
+ */
2389
+ type: TagConditionAllTypeEnum;
2390
+ }
2391
+ /**
2392
+ * @export
2393
+ */
2394
+ export declare const TagConditionAllTypeEnum: {
2395
+ readonly All: "All";
2396
+ };
2397
+ export declare type TagConditionAllTypeEnum = typeof TagConditionAllTypeEnum[keyof typeof TagConditionAllTypeEnum];
2398
+ /**
2399
+ *
2400
+ * @export
2401
+ * @interface TagConditionAnd
2402
+ */
2403
+ export interface TagConditionAnd {
2404
+ /**
2405
+ *
2406
+ * @type {TagCondition}
2407
+ * @memberof TagConditionAnd
2408
+ */
2409
+ left: TagCondition;
2410
+ /**
2411
+ *
2412
+ * @type {TagCondition}
2413
+ * @memberof TagConditionAnd
2414
+ */
2415
+ right: TagCondition;
2416
+ /**
2417
+ *
2418
+ * @type {string}
2419
+ * @memberof TagConditionAnd
2420
+ */
2421
+ type: TagConditionAndTypeEnum;
2422
+ }
2423
+ /**
2424
+ * @export
2425
+ */
2426
+ export declare const TagConditionAndTypeEnum: {
2427
+ readonly And: "And";
2428
+ };
2429
+ export declare type TagConditionAndTypeEnum = typeof TagConditionAndTypeEnum[keyof typeof TagConditionAndTypeEnum];
2430
+ /**
2431
+ *
2432
+ * @export
2433
+ * @interface TagConditionAny
2434
+ */
2435
+ export interface TagConditionAny {
2436
+ /**
2437
+ *
2438
+ * @type {Array<string>}
2439
+ * @memberof TagConditionAny
2440
+ */
2441
+ any: Array<string>;
2442
+ /**
2443
+ *
2444
+ * @type {string}
2445
+ * @memberof TagConditionAny
2446
+ */
2447
+ type: TagConditionAnyTypeEnum;
2448
+ }
2449
+ /**
2450
+ * @export
2451
+ */
2452
+ export declare const TagConditionAnyTypeEnum: {
2453
+ readonly Any: "Any";
2454
+ };
2455
+ export declare type TagConditionAnyTypeEnum = typeof TagConditionAnyTypeEnum[keyof typeof TagConditionAnyTypeEnum];
2456
+ /**
2457
+ *
2458
+ * @export
2459
+ * @interface TagConditionEquals
2460
+ */
2461
+ export interface TagConditionEquals {
2462
+ /**
2463
+ * File tag scope, e.g. for a transformation definition, a CDN download access token, or an API key's tag whitelist.
2464
+ * @type {string}
2465
+ * @memberof TagConditionEquals
2466
+ */
2467
+ equals: string;
2468
+ /**
2469
+ *
2470
+ * @type {string}
2471
+ * @memberof TagConditionEquals
2472
+ */
2473
+ type: TagConditionEqualsTypeEnum;
2474
+ }
2475
+ /**
2476
+ * @export
2477
+ */
2478
+ export declare const TagConditionEqualsTypeEnum: {
2479
+ readonly Equals: "Equals";
2480
+ };
2481
+ export declare type TagConditionEqualsTypeEnum = typeof TagConditionEqualsTypeEnum[keyof typeof TagConditionEqualsTypeEnum];
2482
+ /**
2483
+ *
2484
+ * @export
2485
+ * @interface TagConditionNot
2486
+ */
2487
+ export interface TagConditionNot {
2488
+ /**
2489
+ *
2490
+ * @type {TagCondition}
2491
+ * @memberof TagConditionNot
2492
+ */
2493
+ condition: TagCondition;
2494
+ /**
2495
+ *
2496
+ * @type {string}
2497
+ * @memberof TagConditionNot
2498
+ */
2499
+ type: TagConditionNotTypeEnum;
2500
+ }
2501
+ /**
2502
+ * @export
2503
+ */
2504
+ export declare const TagConditionNotTypeEnum: {
2505
+ readonly Not: "Not";
2506
+ };
2507
+ export declare type TagConditionNotTypeEnum = typeof TagConditionNotTypeEnum[keyof typeof TagConditionNotTypeEnum];
2508
+ /**
2509
+ *
2510
+ * @export
2511
+ * @interface TagConditionOr
2512
+ */
2513
+ export interface TagConditionOr {
2514
+ /**
2515
+ *
2516
+ * @type {TagCondition}
2517
+ * @memberof TagConditionOr
2518
+ */
2519
+ left: TagCondition;
2520
+ /**
2521
+ *
2522
+ * @type {TagCondition}
2523
+ * @memberof TagConditionOr
2524
+ */
2525
+ right: TagCondition;
2526
+ /**
2527
+ *
2528
+ * @type {string}
2529
+ * @memberof TagConditionOr
2530
+ */
2531
+ type: TagConditionOrTypeEnum;
2532
+ }
2533
+ /**
2534
+ * @export
2535
+ */
2536
+ export declare const TagConditionOrTypeEnum: {
2537
+ readonly Or: "Or";
2538
+ };
2539
+ export declare type TagConditionOrTypeEnum = typeof TagConditionOrTypeEnum[keyof typeof TagConditionOrTypeEnum];
2540
+ /**
2541
+ * This data type specifies no update is to be performed.
2542
+ * @export
2543
+ * @interface UnspecifiedFieldValue
2544
+ */
2545
+ export interface UnspecifiedFieldValue {
2546
+ /**
2547
+ * This field is always `false`.
2548
+ * @type {boolean}
2549
+ * @memberof UnspecifiedFieldValue
2550
+ */
2551
+ set: UnspecifiedFieldValueSetEnum;
2552
+ }
2553
+ /**
2554
+ * @export
2555
+ */
2556
+ export declare const UnspecifiedFieldValueSetEnum: {
2557
+ readonly False: false;
2558
+ };
2559
+ export declare type UnspecifiedFieldValueSetEnum = typeof UnspecifiedFieldValueSetEnum[keyof typeof UnspecifiedFieldValueSetEnum];
2560
+ /**
2561
+ *
2562
+ * @export
2563
+ * @interface UpdatableFieldFolderDescriptionOrNull
2564
+ */
2565
+ export interface UpdatableFieldFolderDescriptionOrNull {
2566
+ /**
2567
+ * This field is always `true`.
2568
+ * @type {boolean}
2569
+ * @memberof UpdatableFieldFolderDescriptionOrNull
2570
+ */
2571
+ set: UpdatableFieldFolderDescriptionOrNullSetEnum;
2572
+ /**
2573
+ * The value to set into the field.
2574
+ * @type {string}
2575
+ * @memberof UpdatableFieldFolderDescriptionOrNull
2576
+ */
2577
+ value: string | null;
2578
+ }
2579
+ /**
2580
+ * @export
2581
+ */
2582
+ export declare const UpdatableFieldFolderDescriptionOrNullSetEnum: {
2583
+ readonly True: true;
2584
+ };
2585
+ export declare type UpdatableFieldFolderDescriptionOrNullSetEnum = typeof UpdatableFieldFolderDescriptionOrNullSetEnum[keyof typeof UpdatableFieldFolderDescriptionOrNullSetEnum];
2586
+ /**
2587
+ *
2588
+ * @export
2589
+ * @interface UpdatableFieldPublicPermissionsArrayOrNull
2590
+ */
2591
+ export interface UpdatableFieldPublicPermissionsArrayOrNull {
2592
+ /**
2593
+ * This field is always `true`.
2594
+ * @type {boolean}
2595
+ * @memberof UpdatableFieldPublicPermissionsArrayOrNull
2596
+ */
2597
+ set: UpdatableFieldPublicPermissionsArrayOrNullSetEnum;
2598
+ /**
2599
+ * The value to set into the field.
2600
+ * @type {Array<PublicPermissions>}
2601
+ * @memberof UpdatableFieldPublicPermissionsArrayOrNull
2602
+ */
2603
+ value: Array<PublicPermissions> | null;
2604
+ }
2605
+ /**
2606
+ * @export
2607
+ */
2608
+ export declare const UpdatableFieldPublicPermissionsArrayOrNullSetEnum: {
2609
+ readonly True: true;
2610
+ };
2611
+ export declare type UpdatableFieldPublicPermissionsArrayOrNullSetEnum = typeof UpdatableFieldPublicPermissionsArrayOrNullSetEnum[keyof typeof UpdatableFieldPublicPermissionsArrayOrNullSetEnum];
2612
+ /**
2613
+ *
2614
+ * @export
2615
+ * @interface UpdatableFieldStorageLayerUpdateOrNull
2616
+ */
2617
+ export interface UpdatableFieldStorageLayerUpdateOrNull {
2618
+ /**
2619
+ * This field is always `true`.
2620
+ * @type {boolean}
2621
+ * @memberof UpdatableFieldStorageLayerUpdateOrNull
2622
+ */
2623
+ set: UpdatableFieldStorageLayerUpdateOrNullSetEnum;
2624
+ /**
2625
+ *
2626
+ * @type {SpecifiedFieldValueStorageLayerUpdateOrNullValue}
2627
+ * @memberof UpdatableFieldStorageLayerUpdateOrNull
2628
+ */
2629
+ value: SpecifiedFieldValueStorageLayerUpdateOrNullValue | null;
2630
+ }
2631
+ /**
2632
+ * @export
2633
+ */
2634
+ export declare const UpdatableFieldStorageLayerUpdateOrNullSetEnum: {
2635
+ readonly True: true;
2636
+ };
2637
+ export declare type UpdatableFieldStorageLayerUpdateOrNullSetEnum = typeof UpdatableFieldStorageLayerUpdateOrNullSetEnum[keyof typeof UpdatableFieldStorageLayerUpdateOrNullSetEnum];
2638
+ /**
2639
+ * Request body for UploadFromUrl.
2640
+ * @export
2641
+ * @interface UploadFromUrlRequest
2642
+ */
2643
+ export interface UploadFromUrlRequest {
2644
+ /**
2645
+ * The file metadata specified in the original upload request as a JSON object.
2646
+ * @type {{ [key: string]: any; }}
2647
+ * @memberof UploadFromUrlRequest
2648
+ */
2649
+ metadata?: {
2650
+ [key: string]: any;
2651
+ };
2652
+ /**
2653
+ * File MIME type.
2654
+ * @type {string}
2655
+ * @memberof UploadFromUrlRequest
2656
+ */
2657
+ mime?: string;
2658
+ /**
2659
+ * The file's original name on the user's device.
2660
+ * @type {string}
2661
+ * @memberof UploadFromUrlRequest
2662
+ */
2663
+ originalFileName?: string;
2664
+ /**
2665
+ *
2666
+ * @type {FilePathDefinition}
2667
+ * @memberof UploadFromUrlRequest
2668
+ */
2669
+ path?: FilePathDefinition;
2670
+ /**
2671
+ * The file tags to store against the file.
2672
+ *
2673
+ * When you associate file tags with a file, Bytescale checks which rules match the tags (if any) and applies those rules to the upload request:
2674
+ *
2675
+ * Rules can include max file size checks, traffic limit checks, rate limit checks, and so forth. These are configured in the Bytescale Dashboard.
2676
+ * @type {Array<string>}
2677
+ * @memberof UploadFromUrlRequest
2678
+ */
2679
+ tags?: Array<string>;
2680
+ /**
2681
+ * Source URL to upload.
2682
+ * @type {string}
2683
+ * @memberof UploadFromUrlRequest
2684
+ */
2685
+ url: string;
2686
+ }
2687
+ /**
2688
+ * Represents a part of a file to be uploaded as part of a multipart file upload.
2689
+ *
2690
+ * Specifies the 'range' of the file that needs uploading, together with an 'uploadUrl' of where to PUT those bytes to.
2691
+ *
2692
+ * The PUT request to the `uploadUrl` will return an etag response header, which must be provided in a subsequent CompleteUploadPart request.
2693
+ *
2694
+ * See: basic file uploads, multipart file uploads.
2695
+ * @export
2696
+ * @interface UploadPart
2697
+ */
2698
+ export interface UploadPart {
2699
+ /**
2700
+ *
2701
+ * @type {UploadPartRange}
2702
+ * @memberof UploadPart
2703
+ */
2704
+ range: UploadPartRange;
2705
+ /**
2706
+ * The ID for the multipart file upload.
2707
+ * @type {string}
2708
+ * @memberof UploadPart
2709
+ */
2710
+ uploadId: string;
2711
+ /**
2712
+ * Index of an uploadable file part.
2713
+ *
2714
+ * Can be used as the `uploadPartIndex` parameter in the GetUploadPart and CompleteUploadPart operations.
2715
+ * @type {number}
2716
+ * @memberof UploadPart
2717
+ */
2718
+ uploadPartIndex: number;
2719
+ /**
2720
+ * Pre-signed upload URL for this part.
2721
+ *
2722
+ * You are required to issue a `PUT` to this URL, with the file's bytes as the request body (limited to the range indicated by this upload part).
2723
+ *
2724
+ * The `PUT` request will return an `etag` response header, which must be provided in a subsequent CompleteUploadPart request.
2725
+ * @type {string}
2726
+ * @memberof UploadPart
2727
+ */
2728
+ uploadUrl: string;
2729
+ }
2730
+ /**
2731
+ * Identifies the UploadPart indexes that still need uploading for an active multipart file upload.
2732
+ * @export
2733
+ * @interface UploadPartList
2734
+ */
2735
+ export interface UploadPartList {
2736
+ /**
2737
+ * Indexes of the remaining parts to upload.
2738
+ *
2739
+ * These indexes can be used as the `uploadPartIndex` parameter in the GetUploadPart and CompleteUploadPart endpoints.
2740
+ * @type {Array<number>}
2741
+ * @memberof UploadPartList
2742
+ */
2743
+ remainingUploadParts: Array<number>;
2744
+ }
2745
+ /**
2746
+ * Specifies the range in the file the UploadPart represents.
2747
+ * @export
2748
+ * @interface UploadPartRange
2749
+ */
2750
+ export interface UploadPartRange {
2751
+ /**
2752
+ * Position in the file the last byte of this part corresponds to. Value is -1 when the part is empty (i.e. for
2753
+ * uploading empty files).
2754
+ * @type {number}
2755
+ * @memberof UploadPartRange
2756
+ */
2757
+ inclusiveEnd: number;
2758
+ /**
2759
+ * Position in the file the first byte of this part corresponds to.
2760
+ * @type {number}
2761
+ * @memberof UploadPartRange
2762
+ */
2763
+ inclusiveStart: number;
2764
+ }
2765
+ /**
2766
+ * Storage layer used for serving files from external HTTP origins.
2767
+ *
2768
+ * This is a read-only storage layer.
2769
+ * @export
2770
+ * @interface WebStorage
2771
+ */
2772
+ export interface WebStorage {
2773
+ /**
2774
+ * Base URL to proxy requests to. Should contain a trailing `/`.
2775
+ *
2776
+ * If `baseUrl` is set to `null`, then this folder will behave as an open reverse proxy.
2777
+ *
2778
+ * *Example 1:* if the `baseUrl` is `null` and the folder you're configuring the storage layer on is:
2779
+ *
2780
+ * `https://upcdn.io/abc1234/raw/demo`
2781
+ *
2782
+ * Then you can issue requests such as:
2783
+ *
2784
+ * `https://upcdn.io/abc1234/raw/demo/https://images.unsplash.com/example.jpg`
2785
+ *
2786
+ * *Example 2:* if the `baseUrl` is:
2787
+ *
2788
+ * `https://images.unsplash.com/`
2789
+ *
2790
+ * And the folder you're configuring the storage layer on is:
2791
+ *
2792
+ * `https://upcdn.io/abc1234/raw/demo`
2793
+ *
2794
+ * Then you can issue requests such as:
2795
+ *
2796
+ * `https://upcdn.io/abc1234/raw/demo/test/example.jpg`
2797
+ *
2798
+ * Which will be routed to the URL:
2799
+ *
2800
+ * `https://images.unsplash.com/test/example.jpg`
2801
+ * @type {string}
2802
+ * @memberof WebStorage
2803
+ */
2804
+ baseUrl: string | null;
2805
+ /**
2806
+ * The type of this storage layer.
2807
+ * @type {string}
2808
+ * @memberof WebStorage
2809
+ */
2810
+ type: WebStorageTypeEnum;
2811
+ }
2812
+ /**
2813
+ * @export
2814
+ */
2815
+ export declare const WebStorageTypeEnum: {
2816
+ readonly Web: "Web";
2817
+ };
2818
+ export declare type WebStorageTypeEnum = typeof WebStorageTypeEnum[keyof typeof WebStorageTypeEnum];
2819
+ /**
2820
+ *
2821
+ * @export
2822
+ * @interface WithFolderPathPublicPermissionsArray
2823
+ */
2824
+ export interface WithFolderPathPublicPermissionsArray {
2825
+ /**
2826
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
2827
+ * @type {string}
2828
+ * @memberof WithFolderPathPublicPermissionsArray
2829
+ */
2830
+ folderPath: string;
2831
+ /**
2832
+ *
2833
+ * @type {Array<PublicPermissions>}
2834
+ * @memberof WithFolderPathPublicPermissionsArray
2835
+ */
2836
+ value: Array<PublicPermissions>;
2837
+ }
2838
+ /**
2839
+ *
2840
+ * @export
2841
+ * @interface WithFolderPathStorageLayerSummary
2842
+ */
2843
+ export interface WithFolderPathStorageLayerSummary {
2844
+ /**
2845
+ * Absolute path to a folder. Begins with a `/`. Should not end with a `/`.
2846
+ * @type {string}
2847
+ * @memberof WithFolderPathStorageLayerSummary
2848
+ */
2849
+ folderPath: string;
2850
+ /**
2851
+ *
2852
+ * @type {StorageLayerSummary}
2853
+ * @memberof WithFolderPathStorageLayerSummary
2854
+ */
2855
+ value: StorageLayerSummary;
2856
+ }