@musallam/ffs-photoshop-client 2.1.0 → 2.1.2

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,3669 @@
1
+ import ky, { Options } from "ky";
2
+
3
+ //#region packages/photoshop/src/flat/core/auth.gen.d.ts
4
+ type AuthToken = string | undefined;
5
+ interface Auth {
6
+ /**
7
+ * Which part of the request do we use to send the auth?
8
+ *
9
+ * @default 'header'
10
+ */
11
+ in?: 'header' | 'query' | 'cookie';
12
+ /**
13
+ * Header or query parameter name.
14
+ *
15
+ * @default 'Authorization'
16
+ */
17
+ name?: string;
18
+ scheme?: 'basic' | 'bearer';
19
+ type: 'apiKey' | 'http';
20
+ }
21
+ //#endregion
22
+ //#region packages/photoshop/src/flat/core/pathSerializer.gen.d.ts
23
+ interface SerializerOptions<T> {
24
+ /**
25
+ * @default true
26
+ */
27
+ explode: boolean;
28
+ style: T;
29
+ }
30
+ type ArrayStyle = 'form' | 'spaceDelimited' | 'pipeDelimited';
31
+ type ObjectStyle = 'form' | 'deepObject';
32
+ //#endregion
33
+ //#region packages/photoshop/src/flat/core/bodySerializer.gen.d.ts
34
+ type QuerySerializer = (query: Record<string, unknown>) => string;
35
+ type BodySerializer = (body: unknown) => unknown;
36
+ type QuerySerializerOptionsObject = {
37
+ allowReserved?: boolean;
38
+ array?: Partial<SerializerOptions<ArrayStyle>>;
39
+ object?: Partial<SerializerOptions<ObjectStyle>>;
40
+ };
41
+ type QuerySerializerOptions = QuerySerializerOptionsObject & {
42
+ /**
43
+ * Per-parameter serialization overrides. When provided, these settings
44
+ * override the global array/object settings for specific parameter names.
45
+ */
46
+ parameters?: Record<string, QuerySerializerOptionsObject>;
47
+ };
48
+ //#endregion
49
+ //#region packages/photoshop/src/flat/core/types.gen.d.ts
50
+ type HttpMethod = 'connect' | 'delete' | 'get' | 'head' | 'options' | 'patch' | 'post' | 'put' | 'trace';
51
+ type Client$1<RequestFn = never, Config = unknown, MethodFn = never, BuildUrlFn = never, SseFn = never> = {
52
+ /**
53
+ * Returns the final request URL.
54
+ */
55
+ buildUrl: BuildUrlFn;
56
+ getConfig: () => Config;
57
+ request: RequestFn;
58
+ setConfig: (config: Config) => Config;
59
+ } & { [K in HttpMethod]: MethodFn } & ([SseFn] extends [never] ? {
60
+ sse?: never;
61
+ } : {
62
+ sse: { [K in HttpMethod]: SseFn };
63
+ });
64
+ interface Config$1 {
65
+ /**
66
+ * Auth token or a function returning auth token. The resolved value will be
67
+ * added to the request payload as defined by its `security` array.
68
+ */
69
+ auth?: ((auth: Auth) => Promise<AuthToken> | AuthToken) | AuthToken;
70
+ /**
71
+ * A function for serializing request body parameter. By default,
72
+ * {@link JSON.stringify()} will be used.
73
+ */
74
+ bodySerializer?: BodySerializer | null;
75
+ /**
76
+ * An object containing any HTTP headers that you want to pre-populate your
77
+ * `Headers` object with.
78
+ *
79
+ * {@link https://developer.mozilla.org/docs/Web/API/Headers/Headers#init See more}
80
+ */
81
+ headers?: RequestInit['headers'] | Record<string, string | number | boolean | (string | number | boolean)[] | null | undefined | unknown>;
82
+ /**
83
+ * The request method.
84
+ *
85
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#method See more}
86
+ */
87
+ method?: Uppercase<HttpMethod>;
88
+ /**
89
+ * A function for serializing request query parameters. By default, arrays
90
+ * will be exploded in form style, objects will be exploded in deepObject
91
+ * style, and reserved characters are percent-encoded.
92
+ *
93
+ * This method will have no effect if the native `paramsSerializer()` Axios
94
+ * API function is used.
95
+ *
96
+ * {@link https://swagger.io/docs/specification/serialization/#query View examples}
97
+ */
98
+ querySerializer?: QuerySerializer | QuerySerializerOptions;
99
+ /**
100
+ * A function validating request data. This is useful if you want to ensure
101
+ * the request conforms to the desired shape, so it can be safely sent to
102
+ * the server.
103
+ */
104
+ requestValidator?: (data: unknown) => Promise<unknown>;
105
+ /**
106
+ * A function transforming response data before it's returned. This is useful
107
+ * for post-processing data, e.g., converting ISO strings into Date objects.
108
+ */
109
+ responseTransformer?: (data: unknown) => Promise<unknown>;
110
+ /**
111
+ * A function validating response data. This is useful if you want to ensure
112
+ * the response conforms to the desired shape, so it can be safely passed to
113
+ * the transformers and returned to the user.
114
+ */
115
+ responseValidator?: (data: unknown) => Promise<unknown>;
116
+ }
117
+ //#endregion
118
+ //#region packages/photoshop/src/flat/core/serverSentEvents.gen.d.ts
119
+ type ServerSentEventsOptions<TData = unknown> = Omit<RequestInit, 'method'> & Pick<Config$1, 'method' | 'responseTransformer' | 'responseValidator'> & {
120
+ /**
121
+ * Fetch API implementation. You can use this option to provide a custom
122
+ * fetch instance.
123
+ *
124
+ * @default globalThis.fetch
125
+ */
126
+ fetch?: typeof fetch;
127
+ /**
128
+ * Implementing clients can call request interceptors inside this hook.
129
+ */
130
+ onRequest?: (url: string, init: RequestInit) => Promise<Request>;
131
+ /**
132
+ * Callback invoked when a network or parsing error occurs during streaming.
133
+ *
134
+ * This option applies only if the endpoint returns a stream of events.
135
+ *
136
+ * @param error The error that occurred.
137
+ */
138
+ onSseError?: (error: unknown) => void;
139
+ /**
140
+ * Callback invoked when an event is streamed from the server.
141
+ *
142
+ * This option applies only if the endpoint returns a stream of events.
143
+ *
144
+ * @param event Event streamed from the server.
145
+ * @returns Nothing (void).
146
+ */
147
+ onSseEvent?: (event: StreamEvent<TData>) => void;
148
+ serializedBody?: RequestInit['body'];
149
+ /**
150
+ * Default retry delay in milliseconds.
151
+ *
152
+ * This option applies only if the endpoint returns a stream of events.
153
+ *
154
+ * @default 3000
155
+ */
156
+ sseDefaultRetryDelay?: number;
157
+ /**
158
+ * Maximum number of retry attempts before giving up.
159
+ */
160
+ sseMaxRetryAttempts?: number;
161
+ /**
162
+ * Maximum retry delay in milliseconds.
163
+ *
164
+ * Applies only when exponential backoff is used.
165
+ *
166
+ * This option applies only if the endpoint returns a stream of events.
167
+ *
168
+ * @default 30000
169
+ */
170
+ sseMaxRetryDelay?: number;
171
+ /**
172
+ * Optional sleep function for retry backoff.
173
+ *
174
+ * Defaults to using `setTimeout`.
175
+ */
176
+ sseSleepFn?: (ms: number) => Promise<void>;
177
+ url: string;
178
+ };
179
+ interface StreamEvent<TData = unknown> {
180
+ data: TData;
181
+ event?: string;
182
+ id?: string;
183
+ retry?: number;
184
+ }
185
+ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> = {
186
+ stream: AsyncGenerator<TData extends Record<string, unknown> ? TData[keyof TData] : TData, TReturn, TNext>;
187
+ };
188
+ //#endregion
189
+ //#region packages/photoshop/src/flat/client/utils.gen.d.ts
190
+ declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
191
+ type ErrInterceptor<Err, Res, Req, Options> = (error: Err, /** response may be undefined due to a network error where no response object is produced */
192
+
193
+ response: Res | undefined, /** request may be undefined, because error may be from building the request object itself */
194
+
195
+ request: Req | undefined, options: Options) => Err | Promise<Err>;
196
+ type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
197
+ type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
198
+ declare class Interceptors<Interceptor> {
199
+ fns: Array<Interceptor | null>;
200
+ clear(): void;
201
+ eject(id: number | Interceptor): void;
202
+ exists(id: number | Interceptor): boolean;
203
+ getInterceptorIndex(id: number | Interceptor): number;
204
+ update(id: number | Interceptor, fn: Interceptor): number | Interceptor | false;
205
+ use(fn: Interceptor): number;
206
+ }
207
+ interface Middleware<Req, Res, Err, Options> {
208
+ error: Interceptors<ErrInterceptor<Err, Res, Req, Options>>;
209
+ request: Interceptors<ReqInterceptor<Req, Options>>;
210
+ response: Interceptors<ResInterceptor<Res, Req, Options>>;
211
+ }
212
+ declare const createConfig: <T extends ClientOptions$1 = ClientOptions$1>(override?: Config<Omit<ClientOptions$1, keyof T> & T>) => Config<Omit<ClientOptions$1, keyof T> & T>;
213
+ //#endregion
214
+ //#region packages/photoshop/src/flat/client/types.gen.d.ts
215
+ type ResponseStyle = 'data' | 'fields';
216
+ interface Config<T extends ClientOptions$1 = ClientOptions$1> extends Pick<Options, 'cache' | 'credentials' | 'retry' | 'signal' | 'integrity' | 'keepalive' | 'mode' | 'redirect' | 'referrer' | 'referrerPolicy' | 'timeout'>, Config$1 {
217
+ /**
218
+ * Base URL for all requests made by this client.
219
+ */
220
+ baseUrl?: T['baseUrl'];
221
+ /**
222
+ * Ky instance to use. You can use this option to provide a custom
223
+ * ky instance.
224
+ *
225
+ * Note that the `prefixUrl` of your ky instance will be ignored, as we
226
+ * will always build the full URL and pass it to your ky instance. You
227
+ * should configure `baseUrl` instead.
228
+ */
229
+ ky?: typeof ky;
230
+ /**
231
+ * Additional ky-specific options that will be passed directly to ky.
232
+ * This allows you to use any ky option not explicitly exposed in the config.
233
+ */
234
+ kyOptions?: Omit<Options, 'method' | 'prefixUrl'>;
235
+ /**
236
+ * Return the response data parsed in a specified format. By default, `auto`
237
+ * will infer the appropriate method from the `Content-Type` response header.
238
+ * You can override this behavior with any of the {@link Body} methods.
239
+ * Select `stream` if you don't want to parse response data at all.
240
+ *
241
+ * @default 'auto'
242
+ */
243
+ parseAs?: 'arrayBuffer' | 'auto' | 'blob' | 'formData' | 'json' | 'stream' | 'text';
244
+ /**
245
+ * Should we return only data or multiple fields (data, error, response, etc.)?
246
+ *
247
+ * @default 'fields'
248
+ */
249
+ responseStyle?: ResponseStyle;
250
+ /**
251
+ * Throw an error instead of returning it in the response?
252
+ *
253
+ * @default false
254
+ */
255
+ throwOnError?: T['throwOnError'];
256
+ }
257
+ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends Config<{
258
+ responseStyle: TResponseStyle;
259
+ throwOnError: ThrowOnError;
260
+ }>, Pick<ServerSentEventsOptions<TData>, 'onRequest' | 'onSseError' | 'onSseEvent' | 'sseDefaultRetryDelay' | 'sseMaxRetryAttempts' | 'sseMaxRetryDelay'> {
261
+ /**
262
+ * Any body that you want to add to your request.
263
+ *
264
+ * {@link https://developer.mozilla.org/docs/Web/API/fetch#body}
265
+ */
266
+ body?: unknown;
267
+ path?: Record<string, unknown>;
268
+ query?: Record<string, unknown>;
269
+ /**
270
+ * Security mechanism(s) to use for the request.
271
+ */
272
+ security?: ReadonlyArray<Auth>;
273
+ url: Url;
274
+ }
275
+ interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = 'fields', ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
276
+ headers: Headers;
277
+ serializedBody?: string;
278
+ }
279
+ type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = 'fields'> = ThrowOnError extends true ? Promise<TResponseStyle extends 'data' ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
280
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
281
+ request: Request;
282
+ response: Response;
283
+ }> : Promise<TResponseStyle extends 'data' ? (TData extends Record<string, unknown> ? TData[keyof TData] : TData) | undefined : ({
284
+ data: TData extends Record<string, unknown> ? TData[keyof TData] : TData;
285
+ error: undefined;
286
+ } | {
287
+ data: undefined;
288
+ error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
289
+ }) & {
290
+ /** request may be undefined, because error may be from building the request object itself */request?: Request; /** response may be undefined due to a network error where no response object is produced */
291
+ response?: Response;
292
+ }>;
293
+ interface ClientOptions$1 {
294
+ baseUrl?: string;
295
+ responseStyle?: ResponseStyle;
296
+ throwOnError?: boolean;
297
+ }
298
+ type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
299
+ type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, 'method'>) => Promise<ServerSentEventsResult<TData, TError>>;
300
+ type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = 'fields'>(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, 'method'> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, 'method'>) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
301
+ type BuildUrlFn = <TData extends {
302
+ body?: unknown;
303
+ path?: Record<string, unknown>;
304
+ query?: Record<string, unknown>;
305
+ url: string;
306
+ }>(options: TData & Options$1<TData>) => string;
307
+ type Client = Client$1<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
308
+ interceptors: Middleware<Request, Response, unknown, ResolvedRequestOptions>;
309
+ };
310
+ interface TDataShape {
311
+ body?: unknown;
312
+ headers?: unknown;
313
+ path?: unknown;
314
+ query?: unknown;
315
+ url: string;
316
+ }
317
+ type OmitKeys<T, K> = Pick<T, Exclude<keyof T, K>>;
318
+ type Options$1<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean, TResponse = unknown, TResponseStyle extends ResponseStyle = 'fields'> = OmitKeys<RequestOptions<TResponse, TResponseStyle, ThrowOnError>, 'body' | 'path' | 'query' | 'url'> & ([TData] extends [never] ? unknown : Omit<TData, 'url'>);
319
+ //#endregion
320
+ //#region packages/photoshop/src/flat/client/client.gen.d.ts
321
+ declare const createClient: (config?: Config) => Client;
322
+ //#endregion
323
+ //#region packages/photoshop/src/flat/types.gen.d.ts
324
+ type ClientOptions = {
325
+ baseUrl: 'https://image.adobe.io' | (string & {});
326
+ };
327
+ /**
328
+ * JobError
329
+ *
330
+ * Any errors reported in the requested output.
331
+ */
332
+ type JobError = {
333
+ /**
334
+ * The error type.
335
+ */
336
+ type?: string;
337
+ /**
338
+ * The error code.
339
+ */
340
+ code?: string;
341
+ /**
342
+ * The error description.
343
+ */
344
+ title?: string;
345
+ /**
346
+ * The internal error code.
347
+ */
348
+ error_code?: string;
349
+ /**
350
+ * The details of the error returned.
351
+ */
352
+ details?: Array<ErrorDetails>;
353
+ };
354
+ /**
355
+ * InputValidationError
356
+ *
357
+ * Any errors reported in the requested output.
358
+ */
359
+ type InputValidationError = {
360
+ /**
361
+ * The error type.
362
+ */
363
+ type?: string;
364
+ /**
365
+ * The error code.
366
+ */
367
+ code?: string;
368
+ /**
369
+ * The error description.
370
+ */
371
+ title?: string;
372
+ /**
373
+ * The details of the error returned.
374
+ */
375
+ details?: Array<InputValidationErrorDetail>;
376
+ };
377
+ /**
378
+ * TrialLimitExceededError
379
+ *
380
+ * Any errors reported in the requested output.
381
+ */
382
+ type TrialLimitExceededError = {
383
+ /**
384
+ * The error type.
385
+ */
386
+ type?: string;
387
+ /**
388
+ * The error code.
389
+ */
390
+ code?: string;
391
+ /**
392
+ * The error description.
393
+ */
394
+ title?: string;
395
+ /**
396
+ * The details of the error returned.
397
+ */
398
+ details?: string;
399
+ };
400
+ /**
401
+ * InputValidationErrorDetail
402
+ *
403
+ * Details of the input validation error returned.
404
+ */
405
+ type InputValidationErrorDetail = {
406
+ /**
407
+ * The name of the input parameter.
408
+ */
409
+ allowedValues?: string;
410
+ /**
411
+ * The reason for the error.
412
+ */
413
+ reason?: string;
414
+ };
415
+ /**
416
+ * StorageDetails
417
+ *
418
+ * A file located on Adobe's cloud or a supported external service.
419
+ */
420
+ type StorageDetails = {
421
+ /**
422
+ * A pre-signed GET URL.
423
+ */
424
+ href: string;
425
+ storage: StorageType;
426
+ };
427
+ /**
428
+ * SenseiColor
429
+ *
430
+ * Color space for output image
431
+ */
432
+ type SenseiColor = {
433
+ space?: ColorSpaceType;
434
+ };
435
+ /**
436
+ * ColorSpaceType
437
+ *
438
+ * Color space for output image
439
+ */
440
+ type ColorSpaceType = 'rgb' | 'rgba';
441
+ /**
442
+ * SenseiOutputDetails
443
+ *
444
+ * A PNG file.
445
+ */
446
+ type SenseiOutputDetails = {
447
+ /**
448
+ * A pre-signed POST URL to the output file.
449
+ */
450
+ href: string;
451
+ storage: StorageType;
452
+ mask?: MaskFormat;
453
+ color?: SenseiColor;
454
+ /**
455
+ * If the file already exists, indicates if the output file should be overwritten. Will eventually support eTags. Only applies to CC Storage.
456
+ */
457
+ overwrite?: boolean;
458
+ };
459
+ /**
460
+ * SenseiJobApiResponse
461
+ */
462
+ type SenseiJobApiResponse = {
463
+ /**
464
+ * The job ID requested.
465
+ */
466
+ jobId?: string;
467
+ /**
468
+ * Created timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ).
469
+ */
470
+ created?: string;
471
+ /**
472
+ * Modified timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ).
473
+ */
474
+ modified?: string;
475
+ status?: JobStatus;
476
+ output?: SenseiOutputDetails;
477
+ errors?: JobError;
478
+ _links?: JobStatusLink;
479
+ };
480
+ /**
481
+ * JobStatusLink
482
+ */
483
+ type JobStatusLink = {
484
+ self?: SelfLink;
485
+ };
486
+ /**
487
+ * RemoveBackgroundRequest
488
+ */
489
+ type RemoveBackgroundRequest = {
490
+ input: StorageDetails;
491
+ output: SenseiOutputDetails;
492
+ };
493
+ /**
494
+ * CreateMaskRequest
495
+ */
496
+ type CreateMaskRequest = {
497
+ input: StorageDetails;
498
+ output: SenseiOutputDetails;
499
+ };
500
+ /**
501
+ * JobStatusLinkResponse
502
+ */
503
+ type JobStatusLinkResponse = {
504
+ _links?: JobStatusLink;
505
+ };
506
+ /**
507
+ * IccProfileDetails
508
+ */
509
+ type IccProfileDetails = {
510
+ imageMode?: ImageModeType;
511
+ input?: StorageDetails;
512
+ profileName?: ColorProfileType;
513
+ };
514
+ /**
515
+ * SmartObjectOutputDetails
516
+ *
517
+ * An output object.
518
+ */
519
+ type SmartObjectOutputDetails = {
520
+ /**
521
+ * A pre-signed POST URL to the output file.
522
+ */
523
+ href: string;
524
+ storage: StorageType;
525
+ type: ImageFormatType;
526
+ /**
527
+ * If the file already exists, indicates if the output file should be overwritten. Will eventually support eTags. Only applies to CC Storage.
528
+ */
529
+ overwrite?: boolean;
530
+ /**
531
+ * The width, in pixels, of the renditions. A width of 0 generates a full size rendition. Height is generated automatically using the aspect ratio. Only supported for image rendition.
532
+ */
533
+ width?: number;
534
+ /**
535
+ * The quality of the renditions for JPEG. The range is 1 to 7, 7 being the highest quality.
536
+ */
537
+ quality?: number;
538
+ compression?: CompressionType;
539
+ };
540
+ /**
541
+ * ActionOutputDetails
542
+ *
543
+ * An output object.
544
+ */
545
+ type ActionOutputDetails = {
546
+ /**
547
+ * A pre-signed POST URL to the output file.
548
+ */
549
+ href: string;
550
+ storage: StorageType;
551
+ type: ImageFormatType;
552
+ /**
553
+ * If the file already exists, indicates if the output file should be overwritten. Will eventually support eTags. Only applies to CC Storage.
554
+ */
555
+ overwrite?: boolean;
556
+ /**
557
+ * The quality of the renditions for JPEG. The range is 1 to 7, 7 being the highest quality.
558
+ */
559
+ quality?: number;
560
+ compression?: CompressionType;
561
+ };
562
+ /**
563
+ * PsOutputDetails
564
+ *
565
+ * An output object.
566
+ */
567
+ type PsOutputDetails = {
568
+ /**
569
+ * A pre-signed POST URL to the output file.
570
+ */
571
+ href: string;
572
+ storage: StorageType;
573
+ type: ImageFormatType;
574
+ /**
575
+ * If the file already exists, indicates if the output file should be overwritten. Will eventually support eTags. Only applies to CC Storage.
576
+ */
577
+ overwrite?: boolean;
578
+ /**
579
+ * The width, in pixels, of the renditions. A width of 0 generates a full size rendition. Height is generated automatically using the aspect ratio. Only supported for image rendition.
580
+ */
581
+ width?: number;
582
+ /**
583
+ * The size, in pixels, of the renditions. When width is 0, maxWidth can be provided to get the rendition size. maxWidth when less than document width gets precedence over width. Height is not necessary as the rendition generate will automatically maintain the aspect ratio.
584
+ */
585
+ maxWidth?: number;
586
+ /**
587
+ * The quality of the renditions for JPEG. The range is 1 to 7, 7 being the highest quality.
588
+ */
589
+ quality?: number;
590
+ compression?: CompressionType;
591
+ trimToCanvas?: TrimToCanvasType;
592
+ /**
593
+ * An array of layer objects.
594
+ * By including this array you are signaling that you'd like a rendition created from these layer id's or layer names. Excluding it will generate a document-level rendition.
595
+ */
596
+ layers?: Array<LayerReference>;
597
+ iccProfile?: IccProfileDetails;
598
+ };
599
+ /**
600
+ * RenditionLinkDetails
601
+ *
602
+ * A rendition object.
603
+ */
604
+ type RenditionLinkDetails = {
605
+ /**
606
+ * The rendition location.
607
+ */
608
+ href?: string;
609
+ storage?: StorageType;
610
+ /**
611
+ * The requested rendition width in pixels.
612
+ */
613
+ width?: number;
614
+ type?: ImageFormatType;
615
+ };
616
+ /**
617
+ * ManifestJobApiResponse
618
+ */
619
+ type ManifestJobApiResponse = {
620
+ /**
621
+ * The job ID requested.
622
+ */
623
+ jobId?: string;
624
+ /**
625
+ * The outputs requested.
626
+ */
627
+ outputs?: Array<ManifestJobStatusOutputDetails>;
628
+ _links?: JobStatusLink;
629
+ };
630
+ /**
631
+ * PsJobApiResponse
632
+ */
633
+ type PsJobApiResponse = {
634
+ /**
635
+ * The job ID requested.
636
+ */
637
+ jobId?: string;
638
+ /**
639
+ * API output details.
640
+ */
641
+ outputs?: Array<JobOutputDetails>;
642
+ _links?: JobStatusLink;
643
+ };
644
+ /**
645
+ * Photoshop Job response.
646
+ */
647
+ type PsJobResponse = ManifestJobApiResponse | PsJobApiResponse;
648
+ /**
649
+ * DocumentManifestRequest
650
+ */
651
+ type DocumentManifestRequest = {
652
+ /**
653
+ * An array of input objects. Each input object represents a file to be processed.
654
+ */
655
+ inputs: Array<StorageDetails>;
656
+ options?: DocumentManifestOptions & unknown;
657
+ };
658
+ /**
659
+ * LayerPosition
660
+ */
661
+ type LayerPosition = {
662
+ insertAbove?: LayerReference;
663
+ insertBelow?: LayerReference;
664
+ insertInto?: LayerReference;
665
+ insertTop?: boolean;
666
+ insertBottom?: boolean;
667
+ };
668
+ /**
669
+ * DeleteDetails
670
+ *
671
+ * Indicates you want to delete the layer, identified by the `id` or `name`. Note the object is currently empty but leaves room for further enhancements.
672
+ */
673
+ type DeleteDetails = {
674
+ /**
675
+ * Indicates that child layers are included when deleting a group layer.
676
+ */
677
+ includeChildren?: boolean;
678
+ /**
679
+ * The layer ID.
680
+ */
681
+ id?: number;
682
+ /**
683
+ * The layer name. You can identify a layer by id or name. That makes either id or name a required field.
684
+ */
685
+ name?: string;
686
+ };
687
+ /**
688
+ * LayerReference
689
+ *
690
+ * A layer reference object.
691
+ */
692
+ type LayerReference = {
693
+ /**
694
+ * The id of the layer. Use either `id` OR `name`.
695
+ */
696
+ id?: number;
697
+ /**
698
+ * The name of the layer. Use either `id` OR `name`.
699
+ */
700
+ name?: string;
701
+ };
702
+ /**
703
+ * CreateDocumentRequest
704
+ */
705
+ type CreateDocumentRequest = {
706
+ /**
707
+ * An array of output objects. Each output object represents a file to be created.
708
+ */
709
+ outputs: Array<PsOutputDetails>;
710
+ options: DocumentCreateOptions;
711
+ };
712
+ /**
713
+ * ModifyDocumentRequest
714
+ */
715
+ type ModifyDocumentRequest = {
716
+ /**
717
+ * An array of input objects. Each input object represents a file to be processed.
718
+ */
719
+ inputs: Array<StorageDetails>;
720
+ /**
721
+ * An array of output objects. Each output object represents a file to be created.
722
+ */
723
+ outputs: Array<PsOutputDetails>;
724
+ options: DocumentOperationOptions;
725
+ };
726
+ /**
727
+ * CreateRenditionRequest
728
+ */
729
+ type CreateRenditionRequest = {
730
+ /**
731
+ * An array of input objects. Only one input object is currently supported.
732
+ */
733
+ inputs: Array<StorageDetails>;
734
+ /**
735
+ * An array of output objects.
736
+ */
737
+ outputs: Array<PsOutputDetails>;
738
+ };
739
+ /**
740
+ * ReplaceSmartObjectRequest
741
+ */
742
+ type ReplaceSmartObjectRequest = {
743
+ /**
744
+ * An array of input objects. Only one input object is currently supported.
745
+ */
746
+ inputs: Array<StorageDetails>;
747
+ /**
748
+ * An array of output objects.
749
+ */
750
+ outputs: Array<SmartObjectOutputDetails>;
751
+ options: SmartObjectOptions;
752
+ };
753
+ /**
754
+ * PlayPhotoshopActionsRequest
755
+ */
756
+ type PlayPhotoshopActionsRequest = {
757
+ /**
758
+ * An array of input objects. Only one input object is currently supported.
759
+ */
760
+ inputs: Array<StorageDetails>;
761
+ /**
762
+ * An array of output objects.
763
+ */
764
+ outputs: Array<ActionOutputDetails>;
765
+ options: ActionOptions;
766
+ };
767
+ /**
768
+ * PlayPhotoshopActionsJsonRequest
769
+ */
770
+ type PlayPhotoshopActionsJsonRequest = {
771
+ /**
772
+ * An array of input objects. Only one input object is currently supported.
773
+ */
774
+ inputs: Array<StorageDetails>;
775
+ /**
776
+ * An array of output objects.
777
+ */
778
+ outputs: Array<ActionOutputDetails>;
779
+ options: ActionJsonOptions;
780
+ };
781
+ /**
782
+ * ConvertToActionsJsonRequest
783
+ */
784
+ type ConvertToActionsJsonRequest = {
785
+ /**
786
+ * An array of input action sets in ATN format. Only one input object is currently supported.
787
+ */
788
+ inputs: Array<StorageDetails>;
789
+ options?: ActionJsonCreateOptions;
790
+ };
791
+ /**
792
+ * ApplyAutoCropRequest
793
+ */
794
+ type ApplyAutoCropRequest = {
795
+ /**
796
+ * An array of input objects. Only one input object is currently supported.
797
+ */
798
+ inputs: Array<StorageDetails>;
799
+ /**
800
+ * An array of output objects
801
+ */
802
+ outputs: Array<ActionOutputDetails>;
803
+ options: CropOptions;
804
+ };
805
+ /**
806
+ * ApplyDepthBlurRequest
807
+ */
808
+ type ApplyDepthBlurRequest = {
809
+ /**
810
+ * An array of input objects. We currently only support one input object
811
+ */
812
+ inputs: Array<StorageDetails>;
813
+ /**
814
+ * An array of output objects
815
+ */
816
+ outputs: Array<ActionOutputDetails>;
817
+ options?: DepthBlurDetails;
818
+ };
819
+ /**
820
+ * EditTextLayerRequest
821
+ */
822
+ type EditTextLayerRequest = {
823
+ /**
824
+ * An array of input objects. We currently only support one input object
825
+ */
826
+ inputs: Array<StorageDetails>;
827
+ /**
828
+ * An array of output objects
829
+ */
830
+ outputs: Array<ActionOutputDetails>;
831
+ options: TextOptions;
832
+ };
833
+ /**
834
+ * CreateArtboardRequest
835
+ */
836
+ type CreateArtboardRequest = {
837
+ options: ArtboardDetails;
838
+ /**
839
+ * An array of output objects
840
+ */
841
+ outputs: Array<PsOutputDetails>;
842
+ };
843
+ /**
844
+ * DocumentDetails
845
+ */
846
+ type DocumentDetails = {
847
+ /**
848
+ * In pixels
849
+ */
850
+ height: number;
851
+ /**
852
+ * In pixels
853
+ */
854
+ width: number;
855
+ /**
856
+ * In pixels per inch
857
+ */
858
+ resolution: number;
859
+ fill: FillType;
860
+ mode: ChannelModeType;
861
+ depth?: DepthType;
862
+ };
863
+ /**
864
+ * ManifestJobDocumentDetails
865
+ */
866
+ type ManifestJobDocumentDetails = {
867
+ /**
868
+ * The name of the document
869
+ */
870
+ name?: string;
871
+ /**
872
+ * In pixels
873
+ */
874
+ height?: number;
875
+ /**
876
+ * In pixels
877
+ */
878
+ width?: number;
879
+ /**
880
+ * The version of Photoshop used to create the document
881
+ */
882
+ photoshopBuild?: string;
883
+ imageMode?: ImageModeType;
884
+ bitDepth?: ChannelModeType;
885
+ /**
886
+ * The name of the ICC profile used for the document
887
+ */
888
+ iccProfileName?: string;
889
+ };
890
+ /**
891
+ * ChildrenLayerDetails
892
+ */
893
+ type ChildrenLayerDetails = {
894
+ /**
895
+ * The layer ID. An ID of -1 is valid and indicates a PSD that only contains a background image and no layers.
896
+ */
897
+ id?: number;
898
+ /**
899
+ * The layer index.
900
+ */
901
+ index?: number;
902
+ /**
903
+ * If thumbnails were requested, a pre-signed GET URL to the thumbnail
904
+ */
905
+ thumbnail?: string;
906
+ type?: LayerType;
907
+ /**
908
+ * The layer name.
909
+ */
910
+ name?: string;
911
+ /**
912
+ * Whether the layer is locked
913
+ */
914
+ locked?: boolean;
915
+ /**
916
+ * Whether the layer is visible
917
+ */
918
+ visible?: boolean;
919
+ adjustments?: AdjustmentDetails;
920
+ bounds?: Bounds;
921
+ blendOptions?: BlendDetails;
922
+ mask?: LayerMaskDetails;
923
+ smartObject?: SmartObjectDetails;
924
+ fill?: FillDetails;
925
+ text?: TextLayerDetails;
926
+ };
927
+ /**
928
+ * LayerDetails
929
+ */
930
+ type LayerDetails = {
931
+ /**
932
+ * The layer ID. An ID of -1 is valid and indicates a PSD that only contains a background image and no layers.
933
+ */
934
+ id?: number;
935
+ /**
936
+ * The layer index.
937
+ */
938
+ index?: number;
939
+ /**
940
+ * If thumbnails were requested, this is a pre-signed GET URL to the thumbnail.
941
+ */
942
+ thumbnail?: string;
943
+ /**
944
+ * An array of nested layer objects. Only layerSections (group layers) can include children.
945
+ */
946
+ children?: Array<ChildrenLayerDetails>;
947
+ type?: LayerType;
948
+ /**
949
+ * The layer name.
950
+ */
951
+ name?: string;
952
+ /**
953
+ * Whether the layer is locked.
954
+ */
955
+ locked?: boolean;
956
+ /**
957
+ * Whether the layer is visible.
958
+ */
959
+ visible?: boolean;
960
+ adjustments?: ManifestJobAdjustmentDetails;
961
+ bounds?: Bounds;
962
+ blendOptions?: BlendDetails;
963
+ mask?: LayerMaskDetails;
964
+ smartObject?: SmartObjectDetails;
965
+ fill?: FillDetails;
966
+ text?: TextLayerDetails;
967
+ };
968
+ /**
969
+ * Action
970
+ *
971
+ * An object describing the input Photoshop Actions to play.
972
+ */
973
+ type Action = {
974
+ storage?: StorageType & unknown;
975
+ /**
976
+ * Presigned GET URL
977
+ */
978
+ href?: string;
979
+ /**
980
+ * If you only want to execute a particular action, you may specify which action to play from the ActionSet
981
+ */
982
+ actionName?: string;
983
+ };
984
+ /**
985
+ * ActionDetails
986
+ *
987
+ * Details of Actions from the ActionSet.
988
+ */
989
+ type ActionDetails = {
990
+ /**
991
+ * If you only want to execute a particular action, you may specify whcih action to convert from the ActionSet
992
+ */
993
+ actionName?: string;
994
+ };
995
+ /**
996
+ * AdjustmentDetails
997
+ *
998
+ * Adjustment layer information.
999
+ */
1000
+ type AdjustmentDetails = {
1001
+ brightnessContrast?: BrightnessContrast;
1002
+ exposure?: ExposureDetails;
1003
+ hueSaturation?: HueSaturation;
1004
+ colorBalance?: ColorBalance;
1005
+ };
1006
+ /**
1007
+ * ManifestJobAdjustmentDetails
1008
+ *
1009
+ * Adjustment layer information.
1010
+ */
1011
+ type ManifestJobAdjustmentDetails = {
1012
+ brightness_contrast?: BrightnessContrast;
1013
+ exposure?: ExposureDetails;
1014
+ hue_saturation?: HueSaturation;
1015
+ color_balance?: ColorBalance;
1016
+ };
1017
+ /**
1018
+ * BrightnessContrast
1019
+ *
1020
+ * Brightness and contrast settings.
1021
+ */
1022
+ type BrightnessContrast = {
1023
+ /**
1024
+ * The adjustment layer's brightness.
1025
+ */
1026
+ brightness?: number;
1027
+ /**
1028
+ * The adjustment layer's contrast.
1029
+ */
1030
+ contrast?: number;
1031
+ };
1032
+ /**
1033
+ * ExposureDetails
1034
+ *
1035
+ * Exposure settings.
1036
+ */
1037
+ type ExposureDetails = {
1038
+ /**
1039
+ * The layer's exposure.
1040
+ */
1041
+ exposure?: number;
1042
+ /**
1043
+ * The layer's offset.
1044
+ */
1045
+ offset?: number;
1046
+ /**
1047
+ * The layer's gamma correction.
1048
+ */
1049
+ gammaCorrection?: number;
1050
+ };
1051
+ /**
1052
+ * HueSaturation
1053
+ */
1054
+ type HueSaturation = {
1055
+ /**
1056
+ * Whether to colorize.
1057
+ */
1058
+ colorize?: boolean;
1059
+ /**
1060
+ * An array of hashes representing the 'master' channel (the remaining five channels of 'magentas', 'yellows', 'greens', etc. are not yet supported).
1061
+ */
1062
+ channels?: Array<ChannelDetails>;
1063
+ };
1064
+ /**
1065
+ * ColorBalance
1066
+ *
1067
+ * Color balance settings.
1068
+ */
1069
+ type ColorBalance = {
1070
+ /**
1071
+ * Whether to preserve luminosity.
1072
+ */
1073
+ preserveLuminosity?: boolean;
1074
+ /**
1075
+ * Shadow levels.
1076
+ */
1077
+ shadowLevels?: Array<number>;
1078
+ /**
1079
+ * Midtone levels.
1080
+ */
1081
+ midtoneLevels?: Array<number>;
1082
+ /**
1083
+ * Highlight levels.
1084
+ */
1085
+ highlightLevels?: Array<number>;
1086
+ };
1087
+ /**
1088
+ * Bounds
1089
+ *
1090
+ * The bounds of the layer.
1091
+ */
1092
+ type Bounds = {
1093
+ /**
1094
+ * The top position in pixels.
1095
+ */
1096
+ top?: number;
1097
+ /**
1098
+ * The left position in pixels.
1099
+ */
1100
+ left?: number;
1101
+ /**
1102
+ * The width in pixels.
1103
+ */
1104
+ width?: number;
1105
+ /**
1106
+ * The height in pixels.
1107
+ */
1108
+ height?: number;
1109
+ };
1110
+ /**
1111
+ * CharacterStyleDetails
1112
+ *
1113
+ * Character style settings.
1114
+ */
1115
+ type CharacterStyleDetails = {
1116
+ /**
1117
+ * The font size, in pixels.
1118
+ */
1119
+ size?: number;
1120
+ /**
1121
+ * The font's PostScript name to be used to set the font for this layer.
1122
+ */
1123
+ fontPostScriptName?: string;
1124
+ color?: ColorDetails;
1125
+ /**
1126
+ * The font's leading value, where leading is the distance between each line of text.
1127
+ */
1128
+ leading?: number;
1129
+ /**
1130
+ * The font's tracking value, where tracking is the horizontal spacing between a range of characters.
1131
+ */
1132
+ tracking?: number;
1133
+ baseline?: BaselineType;
1134
+ fontCaps?: FontCaps;
1135
+ autoKern?: AutoKernType;
1136
+ /**
1137
+ * Toggle strikethrough for selected text.
1138
+ */
1139
+ strikethrough?: boolean;
1140
+ /**
1141
+ * Toggle bold for selected text.
1142
+ */
1143
+ syntheticBold?: boolean;
1144
+ /**
1145
+ * Toggle italic for selected text.
1146
+ */
1147
+ syntheticItalic?: boolean;
1148
+ /**
1149
+ * Toggle underlining of text.
1150
+ */
1151
+ underline?: boolean;
1152
+ /**
1153
+ * Toggle text ligature, which are special characters in a font that combine two (or more).
1154
+ */
1155
+ ligature?: boolean;
1156
+ /**
1157
+ * Toggle automatic formatting of fractions: numbers separated by a slash (such as 1/2).
1158
+ */
1159
+ fractions?: boolean;
1160
+ /**
1161
+ * Toggle stylistic alternates, which formats stylized characters that create a purely aesthetic effect.
1162
+ */
1163
+ stylisticAlternates?: boolean;
1164
+ /**
1165
+ * The amount of vertical scaling to apply to the font.
1166
+ */
1167
+ verticalScale?: number;
1168
+ /**
1169
+ * The amount of horizontal scaling to apply to the font.
1170
+ */
1171
+ horizontalScale?: number;
1172
+ };
1173
+ /**
1174
+ * ParagraphStyleDetails
1175
+ *
1176
+ * Paragraph style settings.
1177
+ */
1178
+ type ParagraphStyleDetails = {
1179
+ alignment?: ParagraphStyleAlignmentType;
1180
+ /**
1181
+ * The amount of indent to add to the left margin.
1182
+ */
1183
+ startIndent?: number;
1184
+ /**
1185
+ * The amount of indent to add to the right margin.
1186
+ */
1187
+ endIndent?: number;
1188
+ /**
1189
+ * Toggle hyphenate for paragraph text.
1190
+ */
1191
+ hyphenate?: boolean;
1192
+ /**
1193
+ * The amount of indent to add to the first line of the paragraph.
1194
+ */
1195
+ firstLineIndent?: number;
1196
+ /**
1197
+ * The amount of space to add before the paragraph.
1198
+ */
1199
+ spaceBefore?: number;
1200
+ /**
1201
+ * The amount of space to add after the paragraph.
1202
+ */
1203
+ spaceAfter?: number;
1204
+ };
1205
+ /**
1206
+ * LayerMaskDetails
1207
+ *
1208
+ * An object describing the input mask replaced or added to the layer.
1209
+ */
1210
+ type LayerMaskDetails = {
1211
+ /**
1212
+ * Indicates if this is a clipped layer.
1213
+ */
1214
+ clip?: boolean;
1215
+ /**
1216
+ * Indicates whether a mask is enabled on that layer.
1217
+ */
1218
+ enabled?: boolean;
1219
+ /**
1220
+ * Indicates whether a mask is linked to the layer.
1221
+ */
1222
+ linked?: boolean;
1223
+ offset?: Offset;
1224
+ };
1225
+ /**
1226
+ * Offset
1227
+ *
1228
+ * Offset details.
1229
+ */
1230
+ type Offset = {
1231
+ /**
1232
+ * Offset to indicate horizontal move of the mask.
1233
+ */
1234
+ x?: number;
1235
+ /**
1236
+ * Offset to indicate vertical move of the mask.
1237
+ */
1238
+ y?: number;
1239
+ };
1240
+ /**
1241
+ * SmartObjectDetails
1242
+ *
1243
+ * Smart object details.
1244
+ */
1245
+ type SmartObjectDetails = {
1246
+ /**
1247
+ * Desired image format for the smart object.
1248
+ */
1249
+ type?: string;
1250
+ /**
1251
+ * Indicates if the smart object is linked. Currently we support embedded smart object only, which means "linked = false".
1252
+ */
1253
+ linked?: boolean;
1254
+ /**
1255
+ * Name of the embedded or linked smart object. Currently we support embedded smart object only.
1256
+ */
1257
+ name?: string;
1258
+ /**
1259
+ * Only for a linked smart object. Indicates the relative path for the linked smart object.
1260
+ */
1261
+ path?: string;
1262
+ /**
1263
+ * Only for an embedded smart object. Indicates the instance ID of the embedded smart object. This ID is unique and the value is derived from the RAW data of the document. `instanceId` may show a value as unknown, if the embedded smart object is generated using a non-Adobe application.
1264
+ */
1265
+ instanceId?: string;
1266
+ };
1267
+ /**
1268
+ * FillDetails
1269
+ */
1270
+ type FillDetails = {
1271
+ solidColor?: SolidColor;
1272
+ };
1273
+ /**
1274
+ * SolidColor
1275
+ */
1276
+ type SolidColor = {
1277
+ rgb: RgbColor;
1278
+ };
1279
+ /**
1280
+ * RgbColor
1281
+ *
1282
+ * An object describing the RGB color format in 8 bits.
1283
+ */
1284
+ type RgbColor = {
1285
+ red?: number;
1286
+ green?: number;
1287
+ blue?: number;
1288
+ };
1289
+ /**
1290
+ * FontColorRgb
1291
+ *
1292
+ * An object describing the RGB color format in 16 bits.
1293
+ */
1294
+ type FontColorRgb = {
1295
+ red?: number;
1296
+ green?: number;
1297
+ blue?: number;
1298
+ };
1299
+ /**
1300
+ * FontColorCmyk
1301
+ *
1302
+ * The font color settings for CMYK mode in 16-bit representation.
1303
+ */
1304
+ type FontColorCmyk = {
1305
+ cyan?: number;
1306
+ magenta?: number;
1307
+ yellowColor?: number;
1308
+ black?: number;
1309
+ };
1310
+ /**
1311
+ * FontColorGray
1312
+ *
1313
+ * The font color settings for gray mode in 16-bit representation.
1314
+ */
1315
+ type FontColorGray = {
1316
+ gray?: number;
1317
+ };
1318
+ /**
1319
+ * FontColorLab
1320
+ *
1321
+ * The font color settings for Lab mode in 16-bit representation.
1322
+ */
1323
+ type FontColorLab = {
1324
+ luminance?: number;
1325
+ a?: number;
1326
+ b?: number;
1327
+ };
1328
+ /**
1329
+ * TextLayerDetails
1330
+ *
1331
+ * Text settings.
1332
+ */
1333
+ type TextLayerDetails = {
1334
+ /**
1335
+ * The text string.
1336
+ */
1337
+ content?: string;
1338
+ /**
1339
+ * Character style settings. If the same supported attributes apply to all characters in the layer, then this will be an array of one item. Otherwise, each `characterStyle` object will have a 'from' and 'to' value indicating the range of characters that style applies to.
1340
+ */
1341
+ characterStyles?: Array<TextLayerCharacterStyleDetails>;
1342
+ /**
1343
+ * Paragraph style settings. If the same supported attributes apply to all characters in the layer then this will be an array of one item, otherwise each paragraph style object will have a 'from' and 'to' value indicating the range of characters that the style applies to.
1344
+ */
1345
+ paragraphStyles?: Array<TextLayerParagraphStyleDetails>;
1346
+ };
1347
+ /**
1348
+ * TextLayerCharacterStyleDetails
1349
+ */
1350
+ type TextLayerCharacterStyleDetails = {
1351
+ /**
1352
+ * The beginning of the range of characters that this character style applies to. Based on initial index of 0. For example a style applied to only the first two characters would be from=0 and to=1.
1353
+ */
1354
+ from?: number;
1355
+ /**
1356
+ * The ending of the range of characters that this character style applies to. Based on initial index of 0. For example a style applied to only the first two characters would be from=0 and to=1.
1357
+ */
1358
+ to?: number;
1359
+ /**
1360
+ * The font size in points.
1361
+ */
1362
+ fontSize?: number;
1363
+ /**
1364
+ * The font's PostScript name from the [list of supported fonts](../../getting_started/technical_usage_notes/index.md#photoshop-api-supported-fonts).
1365
+ */
1366
+ fontName?: string;
1367
+ orientation?: OrientationType;
1368
+ fontColor?: FontColorDetails;
1369
+ };
1370
+ /**
1371
+ * TextLayerParagraphStyleDetails
1372
+ *
1373
+ * If the same supported attributes apply to all characters in the layer then this will be an array of one item, otherwise each paragraph style object will have a 'from' and 'to' value indicating the range of characters that the style applies to.
1374
+ */
1375
+ type TextLayerParagraphStyleDetails = {
1376
+ /**
1377
+ * The beginning of the range of characters that this paragraph style applies to. Based on initial index of 0. For example a style applied to only the first two characters would be from=0 and to=1.
1378
+ */
1379
+ from?: number;
1380
+ /**
1381
+ * The ending of the range of characters that this paragraph style applies to. Based on initial index of 0. For example a style applied to only the first two characters would be from=0 and to=1.
1382
+ */
1383
+ to?: number;
1384
+ alignment?: AlignmentType;
1385
+ };
1386
+ /**
1387
+ * BlendDetails
1388
+ *
1389
+ * Blend options of a layer, including opacity and blend mode.
1390
+ */
1391
+ type BlendDetails = {
1392
+ /**
1393
+ * Indicates the opacity value of a layer.
1394
+ */
1395
+ opacity?: number;
1396
+ blendMode?: BlendModeType;
1397
+ };
1398
+ /**
1399
+ * AlignmentType
1400
+ *
1401
+ * The paragraph alignment.
1402
+ */
1403
+ type AlignmentType = 'left' | 'center' | 'right' | 'justify' | 'justifyLeft' | 'justifyCenter' | 'justifyRight';
1404
+ /**
1405
+ * ParagraphStyleAlignmentType
1406
+ *
1407
+ * The paragraph alignment.
1408
+ */
1409
+ type ParagraphStyleAlignmentType = 'left' | 'center' | 'right' | 'justify' | 'justifyLeft' | 'justifyCenter' | 'justifyRight' | 'justifyAll';
1410
+ /**
1411
+ * AntiAliasType
1412
+ *
1413
+ * The text's aliasing type which determines the smoothness of the jagged edges of the text.
1414
+ */
1415
+ type AntiAliasType = 'antiAliasNone' | 'antiAliasSharp' | 'antiAliasCrisp' | 'antiAliasStrong' | 'antiAliasSmooth' | 'antiAliasPlatformLCD' | 'antiAliasPlatformGray';
1416
+ /**
1417
+ * AutoKernType
1418
+ *
1419
+ * The text's kerning setting. Optical: set based on the shape of the font. Metrics: uses kern pairs included in fonts.
1420
+ */
1421
+ type AutoKernType = 'opticalKern' | 'metricsKern';
1422
+ /**
1423
+ * BasedOnType
1424
+ *
1425
+ * Based on type.
1426
+ */
1427
+ type BasedOnType = 'transparentPixels';
1428
+ /**
1429
+ * BaselineType
1430
+ *
1431
+ * Indicates if the text is raised or lowered in relation to a font's baseline.
1432
+ */
1433
+ type BaselineType = 'subScript' | 'superScript';
1434
+ /**
1435
+ * BlendModeType
1436
+ *
1437
+ * Blend mode of layer.
1438
+ */
1439
+ type BlendModeType = 'normal' | 'dissolve' | 'darken' | 'multiply' | 'colorBurn' | 'linearBurn' | 'darkerColor' | 'lighten' | 'screen' | 'colorDodge' | 'linearDodge' | 'lighterColor' | 'overlay' | 'softLight' | 'hardLight' | 'vividLight' | 'linearLight' | 'pinLight' | 'hardMix' | 'difference' | 'exclusion' | 'subtract' | 'divide' | 'hue' | 'saturation' | 'color' | 'luminosity';
1440
+ /**
1441
+ * CanvasSize
1442
+ */
1443
+ type CanvasSize = {
1444
+ bounds: Bounds;
1445
+ };
1446
+ /**
1447
+ * ChannelDetails
1448
+ */
1449
+ type ChannelDetails = {
1450
+ channel?: ChannelType;
1451
+ hue?: number;
1452
+ saturation?: number;
1453
+ lightness?: number;
1454
+ };
1455
+ /**
1456
+ * ChannelType
1457
+ *
1458
+ * The channel type.
1459
+ */
1460
+ type ChannelType = 'master';
1461
+ /**
1462
+ * ColorDetails
1463
+ *
1464
+ * Font color in RGB format.
1465
+ */
1466
+ type ColorDetails = {
1467
+ /**
1468
+ * The color red value.
1469
+ */
1470
+ red: number;
1471
+ /**
1472
+ * The color green value.
1473
+ */
1474
+ green: number;
1475
+ /**
1476
+ * The color blue value.
1477
+ */
1478
+ blue: number;
1479
+ };
1480
+ /**
1481
+ * CompressionType
1482
+ *
1483
+ * Desired PNG compression level.
1484
+ */
1485
+ type CompressionType = 'small' | 'medium' | 'large';
1486
+ /**
1487
+ * DepthType
1488
+ *
1489
+ * Bit depth. This is either 8, 16 or 32 bit.
1490
+ */
1491
+ type DepthType = 8 | 16 | 32;
1492
+ /**
1493
+ * OperationDocument
1494
+ */
1495
+ type OperationDocument = {
1496
+ canvasSize?: CanvasSize;
1497
+ imageSize?: ImageSize;
1498
+ trim?: Trim;
1499
+ };
1500
+ /**
1501
+ * EastAsianFeatures
1502
+ *
1503
+ * Text features specifically for East Asian languages.
1504
+ */
1505
+ type EastAsianFeatures = {
1506
+ textStyle?: TextStyleType & unknown;
1507
+ };
1508
+ /**
1509
+ * ErrorDetails
1510
+ *
1511
+ * Error details.
1512
+ */
1513
+ type ErrorDetails = {
1514
+ /**
1515
+ * The parameter name.
1516
+ */
1517
+ name?: string;
1518
+ /**
1519
+ * The error.
1520
+ */
1521
+ reason?: string;
1522
+ };
1523
+ /**
1524
+ * FillType
1525
+ *
1526
+ * Type of fill for the background layer.
1527
+ */
1528
+ type FillType = 'white' | 'backgroundColor' | 'transparent';
1529
+ /**
1530
+ * FocalSelector
1531
+ *
1532
+ * Focal selector.
1533
+ */
1534
+ type FocalSelector = {
1535
+ /**
1536
+ * X coordinate.
1537
+ */
1538
+ x?: number;
1539
+ /**
1540
+ * Y coordinate.
1541
+ */
1542
+ y?: number;
1543
+ };
1544
+ /**
1545
+ * FontCaps
1546
+ *
1547
+ * The text's capitalization values.
1548
+ */
1549
+ type FontCaps = 'allCaps' | 'smallCaps';
1550
+ /**
1551
+ * FontColorDetails
1552
+ */
1553
+ type FontColorDetails = {
1554
+ rgb?: FontColorRgb & unknown;
1555
+ cmyk?: FontColorCmyk & unknown;
1556
+ gray?: FontColorGray & unknown;
1557
+ lab?: FontColorLab & unknown;
1558
+ };
1559
+ /**
1560
+ * MaskFormatType
1561
+ *
1562
+ * Soft mask or binary mask.
1563
+ */
1564
+ type MaskFormatType = 'binary' | 'soft';
1565
+ /**
1566
+ * ImageModeType
1567
+ *
1568
+ * The image mode.
1569
+ */
1570
+ type ImageModeType = 'grayscale' | 'rgb' | 'cmyk';
1571
+ /**
1572
+ * ImageSize
1573
+ *
1574
+ * The size of the image
1575
+ */
1576
+ type ImageSize = {
1577
+ width: number;
1578
+ height: number;
1579
+ };
1580
+ /**
1581
+ * DocumentCreateLayer
1582
+ */
1583
+ type DocumentCreateLayer = {
1584
+ type: LayerType;
1585
+ input: StorageDetails & unknown;
1586
+ name?: string;
1587
+ /**
1588
+ * is the layer locked
1589
+ */
1590
+ locked?: boolean;
1591
+ /**
1592
+ * is the layer visible
1593
+ */
1594
+ visible?: boolean;
1595
+ adjustments?: AdjustmentDetails;
1596
+ bounds?: Bounds;
1597
+ children?: Array<ChildrenLayerDetails>;
1598
+ mask?: MaskDetails;
1599
+ smartObject?: SmartObject & unknown;
1600
+ fill?: FillDetails;
1601
+ text?: TextLayerDetails & unknown;
1602
+ blendOptions?: BlendDetails & unknown;
1603
+ };
1604
+ /**
1605
+ * DocumentOperationLayer
1606
+ */
1607
+ type DocumentOperationLayer = {
1608
+ /**
1609
+ * Indicates the layer to edit, by it's ID or name. Note the object is currently empty but leaves room for further enhancements. The layer block should contain changes from the original manifest. If you apply it to a group layer, you will be affecting the attributes of the group layer itself, not the child layers. This edit is supported for layer type `smartObject` and `fillLayer` only.
1610
+ */
1611
+ edit?: {
1612
+ [key: string]: unknown;
1613
+ };
1614
+ move?: MoveDetails;
1615
+ add?: LayerPosition;
1616
+ delete: DeleteDetails;
1617
+ /**
1618
+ * The layer ID.
1619
+ */
1620
+ id: number;
1621
+ /**
1622
+ * The layer index. Required when deleting a layer, otherwise not used.
1623
+ */
1624
+ index?: number;
1625
+ /**
1626
+ * A tree of layer objects representing the PSD layer structure extracted from the PSD document.
1627
+ */
1628
+ children?: Array<ChildrenLayerDetails>;
1629
+ type?: LayerType;
1630
+ input?: StorageDetails;
1631
+ name?: string;
1632
+ /**
1633
+ * is the layer locked
1634
+ */
1635
+ locked?: boolean;
1636
+ /**
1637
+ * is the layer visible
1638
+ */
1639
+ visible?: boolean;
1640
+ adjustments?: AdjustmentDetails;
1641
+ mask?: MaskDetails;
1642
+ bounds?: Bounds;
1643
+ smartObject?: SmartObject & unknown;
1644
+ fill?: FillDetails;
1645
+ text?: TextLayerDetails & unknown;
1646
+ blendOptions?: BlendDetails & unknown;
1647
+ horizontalAlign?: HorizontalAlignType;
1648
+ verticalAlign?: VerticalAlignType;
1649
+ /**
1650
+ * Indicates if the pixels need to proportionally fill into the entire canvas of the document.
1651
+ */
1652
+ fillToCanvas?: boolean;
1653
+ };
1654
+ /**
1655
+ * SmartObjectLayer
1656
+ */
1657
+ type SmartObjectLayer = {
1658
+ add?: LayerPosition;
1659
+ /**
1660
+ * the layer id
1661
+ */
1662
+ id?: number;
1663
+ name?: string;
1664
+ /**
1665
+ * is the layer locked
1666
+ */
1667
+ locked?: boolean;
1668
+ /**
1669
+ * is the layer visible
1670
+ */
1671
+ visible?: boolean;
1672
+ input: StorageDetails;
1673
+ bounds?: Bounds;
1674
+ };
1675
+ /**
1676
+ * TextOptionsLayer
1677
+ */
1678
+ type TextOptionsLayer = {
1679
+ /**
1680
+ * The name of the layer you want to insert. Use either ID or name.
1681
+ */
1682
+ name?: string;
1683
+ /**
1684
+ * The ID of the layer you want to insert. Use either ID or name.
1685
+ */
1686
+ id?: number;
1687
+ bounds?: Bounds;
1688
+ /**
1689
+ * Is the layer editable.
1690
+ */
1691
+ locked?: boolean;
1692
+ /**
1693
+ * Is the layer visible.
1694
+ */
1695
+ visible?: boolean;
1696
+ text?: TextDetails & unknown;
1697
+ };
1698
+ /**
1699
+ * RenditionLinks
1700
+ *
1701
+ * The rendition links.
1702
+ */
1703
+ type RenditionLinks = {
1704
+ /**
1705
+ * Array of rendition objects.
1706
+ */
1707
+ renditions?: Array<RenditionLinkDetails>;
1708
+ };
1709
+ /**
1710
+ * ManageMissingFonts
1711
+ *
1712
+ * Action to take if there are one or more missing fonts in the document. Using `fail` - the job will not succeed and the status will be set to `failed` with the details of the error provided in the `details` section in the status. Using `useDefault` - the job will succeed, however all the missing fonts will use the font: ArialMT.
1713
+ */
1714
+ type ManageMissingFonts = 'useDefault' | 'fail';
1715
+ /**
1716
+ * MaskFormat
1717
+ */
1718
+ type MaskFormat = {
1719
+ format?: MaskFormatType;
1720
+ };
1721
+ /**
1722
+ * MaskDetails
1723
+ */
1724
+ type MaskDetails = {
1725
+ input?: StorageDetails;
1726
+ /**
1727
+ * Indicates if this is a clipped layer
1728
+ */
1729
+ clip?: boolean;
1730
+ /**
1731
+ * Indicates a mask is enabled on that layer or not
1732
+ */
1733
+ enabled?: boolean;
1734
+ /**
1735
+ * Indicates a mask is linked to the layer or not
1736
+ */
1737
+ linked?: boolean;
1738
+ offset?: Offset;
1739
+ };
1740
+ /**
1741
+ * ChannelModeType
1742
+ *
1743
+ * The document's bit/channel depth.
1744
+ */
1745
+ type ChannelModeType = 'bitmap' | 'greyscale' | 'indexed' | 'rgb' | 'cmyk' | 'hsl' | 'hsb' | 'multichannel' | 'duotone' | 'lab' | 'xyz';
1746
+ /**
1747
+ * MoveDetails
1748
+ */
1749
+ type MoveDetails = {
1750
+ moveChildren?: boolean;
1751
+ insertAbove?: LayerReference;
1752
+ insertBelow?: LayerReference;
1753
+ insertInto?: LayerReference;
1754
+ insertTop?: boolean;
1755
+ insertBottom?: boolean;
1756
+ };
1757
+ /**
1758
+ * DocumentManifestOptions
1759
+ *
1760
+ * Available options to apply to all input files.
1761
+ */
1762
+ type DocumentManifestOptions = {
1763
+ thumbnails?: Thumbnails & unknown;
1764
+ };
1765
+ /**
1766
+ * DocumentCreateOptions
1767
+ */
1768
+ type DocumentCreateOptions = {
1769
+ manageMissingFonts?: ManageMissingFonts & unknown;
1770
+ /**
1771
+ * The PostScript name of the font to be used as the global default for the document. If this font is also missing, the option specified in `manageMissingFonts` will take effect.
1772
+ */
1773
+ globalFont?: string;
1774
+ /**
1775
+ * array of custom fonts needed in this document
1776
+ */
1777
+ fonts?: Array<StorageDetails>;
1778
+ document: DocumentDetails;
1779
+ /**
1780
+ * Array of layers to be created in the document.
1781
+ */
1782
+ layers?: Array<DocumentCreateLayer>;
1783
+ };
1784
+ /**
1785
+ * DocumentOperationOptions
1786
+ */
1787
+ type DocumentOperationOptions = {
1788
+ manageMissingFonts?: ManageMissingFonts & unknown;
1789
+ /**
1790
+ * The PostScript name of the font to be used as the global default. If this font is also missing, the option specified in `manageMissingFonts` will take effect
1791
+ */
1792
+ globalFont?: string;
1793
+ /**
1794
+ * array of custom fonts needed in this document
1795
+ */
1796
+ fonts?: Array<StorageDetails>;
1797
+ document?: OperationDocument;
1798
+ /**
1799
+ * Array of layers to be created in the document.
1800
+ */
1801
+ layers?: Array<DocumentOperationLayer>;
1802
+ };
1803
+ /**
1804
+ * SmartObjectOptions
1805
+ */
1806
+ type SmartObjectOptions = {
1807
+ /**
1808
+ * Array of Smart Object layers to be created in the document
1809
+ */
1810
+ layers: Array<SmartObjectLayer>;
1811
+ };
1812
+ /**
1813
+ * ActionOptions
1814
+ */
1815
+ type ActionOptions = {
1816
+ /**
1817
+ * Array of Photoshop Actions to play.
1818
+ */
1819
+ actions: Array<Action>;
1820
+ /**
1821
+ * array of custom pattern preset to be used in Photoshop Actions
1822
+ */
1823
+ patterns?: Array<StorageDetails>;
1824
+ /**
1825
+ * array of custom fonts needed in this document
1826
+ */
1827
+ fonts?: Array<StorageDetails>;
1828
+ /**
1829
+ * array of custom brushes needed in this document
1830
+ */
1831
+ brushes?: Array<StorageDetails>;
1832
+ };
1833
+ /**
1834
+ * ActionJsonOptions
1835
+ */
1836
+ type ActionJsonOptions = {
1837
+ /**
1838
+ * Array of Photoshop JSON-formatted Actions to play.
1839
+ */
1840
+ actionJSON: Array<{
1841
+ [key: string]: unknown;
1842
+ }>;
1843
+ /**
1844
+ * array of custom pattern preset to be used in Photoshop Actions
1845
+ */
1846
+ patterns?: Array<StorageDetails>;
1847
+ /**
1848
+ * array of custom fonts needed in this document
1849
+ */
1850
+ fonts?: Array<StorageDetails>;
1851
+ /**
1852
+ * array of custom brushes needed in this document
1853
+ */
1854
+ brushes?: Array<StorageDetails>;
1855
+ /**
1856
+ * Array of references to additional images, which can be referred by actionJson commands.
1857
+ */
1858
+ additionalImages?: Array<StorageDetails>;
1859
+ };
1860
+ /**
1861
+ * ActionJsonCreateOptions
1862
+ *
1863
+ * This block is needed only if you want to specify which action to convert from the ActionSet.
1864
+ */
1865
+ type ActionJsonCreateOptions = {
1866
+ /**
1867
+ * Array of action objects.
1868
+ */
1869
+ actions: [ActionDetails];
1870
+ };
1871
+ /**
1872
+ * CropOptions
1873
+ */
1874
+ type CropOptions = {
1875
+ unit: UnitType & unknown;
1876
+ /**
1877
+ * The width to be added as padding.
1878
+ */
1879
+ width: number;
1880
+ /**
1881
+ * The height to be added as padding.
1882
+ */
1883
+ height: number;
1884
+ };
1885
+ /**
1886
+ * DepthBlurDetails
1887
+ */
1888
+ type DepthBlurDetails = {
1889
+ /**
1890
+ * The distance of the point to be in focus. 0 would be the nearest point, 100 would be the furthest point.
1891
+ */
1892
+ focalDistance?: number;
1893
+ /**
1894
+ * The range of the focal point.
1895
+ */
1896
+ focalRange?: number;
1897
+ focalSelector?: FocalSelector & unknown;
1898
+ /**
1899
+ * If enabled uses select subject to automatically select the prominent subject for focus. Also would override focalDistance.
1900
+ */
1901
+ focusSubject?: boolean;
1902
+ /**
1903
+ * The amount of blur to apply.
1904
+ */
1905
+ blurStrength?: number;
1906
+ /**
1907
+ * The amount of haze to apply.
1908
+ */
1909
+ haze?: number;
1910
+ /**
1911
+ * The value of the temperature to apply. -50 would be coldest and 50 would be the warmest setting.
1912
+ */
1913
+ temp?: number;
1914
+ /**
1915
+ * The amount of the tint to apply.
1916
+ */
1917
+ tint?: number;
1918
+ /**
1919
+ * The amount of the saturation to apply. -50 implies fully unsaturated colors and 50 will fully saturate the colors.
1920
+ */
1921
+ saturation?: number;
1922
+ /**
1923
+ * The amount of the brightness to apply.
1924
+ */
1925
+ brightness?: number;
1926
+ /**
1927
+ * The amount of the graining to add to the image.
1928
+ */
1929
+ grain?: number;
1930
+ };
1931
+ /**
1932
+ * TextOptions
1933
+ */
1934
+ type TextOptions = {
1935
+ manageMissingFonts?: ManageMissingFonts & unknown;
1936
+ /**
1937
+ * The PostScript name of the font to be used as the global default. If this font is also missing, the option specified in `manageMissingFonts` will take effect
1938
+ */
1939
+ globalFont?: string;
1940
+ /**
1941
+ * Array of text layer objects you wish to act upon.
1942
+ */
1943
+ layers: Array<TextOptionsLayer>;
1944
+ /**
1945
+ * Array of custom fonts needed in this document.
1946
+ */
1947
+ fonts?: Array<StorageDetails>;
1948
+ };
1949
+ /**
1950
+ * ArtboardDetails
1951
+ */
1952
+ type ArtboardDetails = {
1953
+ /**
1954
+ * An array of hashes describing the input files to edit. Each input object will be either 'external', 'adobe', 'azure' or 'dropbox'.
1955
+ */
1956
+ artboard: Array<StorageDetails>;
1957
+ };
1958
+ /**
1959
+ * OrientationType
1960
+ *
1961
+ * The text orientation.
1962
+ */
1963
+ type OrientationType = 'horizontal' | 'vertical';
1964
+ /**
1965
+ * ManifestJobStatusOutputDetails
1966
+ */
1967
+ type ManifestJobStatusOutputDetails = {
1968
+ /**
1969
+ * the original input href
1970
+ */
1971
+ input?: string;
1972
+ /**
1973
+ * Created timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ)
1974
+ */
1975
+ created?: string;
1976
+ /**
1977
+ * Modified timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ)
1978
+ */
1979
+ modified?: string;
1980
+ status?: JobStatus;
1981
+ document?: ManifestJobDocumentDetails;
1982
+ /**
1983
+ * A tree of layer objects representing the PSD layer structure extracted from the PSD document.
1984
+ */
1985
+ layers?: Array<LayerDetails>;
1986
+ };
1987
+ /**
1988
+ * JobOutputDetails
1989
+ */
1990
+ type JobOutputDetails = {
1991
+ /**
1992
+ * the original input href
1993
+ */
1994
+ input?: string;
1995
+ /**
1996
+ * Created timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ)
1997
+ */
1998
+ created?: string;
1999
+ /**
2000
+ * Modified timestamp of the job (YYYY-DD-MMThh:mm:ss.mmmmmZ)
2001
+ */
2002
+ modified?: string;
2003
+ status?: JobOutputStatus;
2004
+ _links?: RenditionLinks;
2005
+ };
2006
+ /**
2007
+ * ColorProfileType
2008
+ *
2009
+ * The name of the color profile.
2010
+ */
2011
+ type ColorProfileType = 'Adobe RGB (1998)' | 'Apple RGB' | 'ColorMatch RGB' | 'sRGB IEC61966-2.1' | 'Dot Gain 10%' | 'Dot Gain 15%' | 'Dot Gain 20%' | 'Dot Gain 25%' | 'Dot Gain 30%' | 'Gray Gamma 1.8' | 'Gray Gamma 2.2';
2012
+ /**
2013
+ * SelfLink
2014
+ *
2015
+ * Self link.
2016
+ */
2017
+ type SelfLink = {
2018
+ /**
2019
+ * Job Status URL.
2020
+ */
2021
+ href?: string;
2022
+ };
2023
+ /**
2024
+ * SmartObject
2025
+ *
2026
+ * An object describing the attributes specific to creating or editing a smart object. `SmartObject` properties operate on the input smart object file. When creating a linked smart object, this is a required. When creating an embedded smart object, it is optional.
2027
+ */
2028
+ type SmartObject = {
2029
+ /**
2030
+ * Indicates if this Smart Object is linked. Currently we support Embedded Smart Object only which means "linked = false".
2031
+ */
2032
+ linked?: boolean;
2033
+ };
2034
+ /**
2035
+ * JobStatus
2036
+ *
2037
+ * Job status.
2038
+ */
2039
+ type JobStatus = 'pending' | 'running' | 'succeeded' | 'failed';
2040
+ /**
2041
+ * JobOutputStatus
2042
+ *
2043
+ * The child job status. Using `pending` - the request has been accepted and is waiting to start. Using `running` - the child job is running. Using `uploading` - files have been generated and are uploading to destination. Using `succeeded` - the child job has succeeded. Using `failed` - the child job has failed.
2044
+ */
2045
+ type JobOutputStatus = 'pending' | 'running' | 'uploading' | 'succeeded' | 'failed';
2046
+ /**
2047
+ * StorageType
2048
+ *
2049
+ * Storage platforms supported.
2050
+ */
2051
+ type StorageType = 'external' | 'azure' | 'dropbox';
2052
+ /**
2053
+ * TextDetails
2054
+ *
2055
+ * Supported text layer attributes.
2056
+ */
2057
+ type TextDetails = {
2058
+ /**
2059
+ * The content of the text layer.
2060
+ */
2061
+ content?: string;
2062
+ orientation?: OrientationType;
2063
+ /**
2064
+ * The text's rotation in angle.
2065
+ */
2066
+ rotate?: number;
2067
+ antiAlias?: AntiAliasType & unknown;
2068
+ eastAsianFeatures?: EastAsianFeatures & unknown;
2069
+ /**
2070
+ * Array of character style objects. Any of the `characterStyles` property is required.
2071
+ */
2072
+ characterStyles?: Array<CharacterStyleDetails>;
2073
+ /**
2074
+ * Array of paragraph style objects. Any of the `paragraphStyles` properties is required.
2075
+ */
2076
+ paragraphStyles?: Array<ParagraphStyleDetails>;
2077
+ textType?: TextType & unknown;
2078
+ };
2079
+ /**
2080
+ * TextStyleType
2081
+ *
2082
+ * Base line direction for text style.
2083
+ */
2084
+ type TextStyleType = 'cross' | 'rotated' | 'withSream';
2085
+ /**
2086
+ * TextType
2087
+ *
2088
+ * The type of text's contents, point or paragraph.
2089
+ */
2090
+ type TextType = 'point' | 'paragraph';
2091
+ /**
2092
+ * Thumbnails
2093
+ *
2094
+ * Include pre-signed GET URLs to small preview thumbnails for any renderable layer.
2095
+ */
2096
+ type Thumbnails = {
2097
+ type?: ThumbnailType & unknown;
2098
+ };
2099
+ /**
2100
+ * Trim
2101
+ */
2102
+ type Trim = {
2103
+ basedOn: BasedOnType;
2104
+ };
2105
+ /**
2106
+ * TrimToCanvasType
2107
+ *
2108
+ * Use this if the renditions needs to be of Canvas size. Using `True` trims the renditions to Canvas size, while `False` makes the renditions Layer Size.
2109
+ */
2110
+ type TrimToCanvasType = true | false;
2111
+ /**
2112
+ * ImageFormatType
2113
+ *
2114
+ * The desired image format. Using `image/vnd.adobe.photoshop` - create a new PSD file. Using `image/jpeg`, `image/png`, `image/tiff` - create a new JPEG, PNG or TIFF rendition. Certain image modes (RGB, CMYK, greyscale, etc.) must be converted to another image mode before a rendition can be created. With TIFF requested, Multichannel and Duotone will convert to RGB. With PNG requested, CMYK, HSL, HSB, Multichannel, Duotone, Lab and XYZ will convert to RGB.
2115
+ */
2116
+ type ImageFormatType = 'image/vnd.adobe.photoshop' | 'image/jpeg' | 'image/png' | 'image/tiff' | 'vnd.adobe.photoshop';
2117
+ /**
2118
+ * LayerType
2119
+ *
2120
+ * The layer type. Using `layer` - a pixel layer. Using `textLayer` - a text layer. Using `adjustmentLayer` - an adjustment layer. Using `layerSection` - a grouping layer. Using `smartObject` - a smart object. Using `backgroundLayer` - a background layer. Using `fillLayer` - a fill layer.
2121
+ */
2122
+ type LayerType = 'layer' | 'textLayer' | 'adjustmentLayer' | 'smartObject' | 'fillLayer' | 'backgroundLayer' | 'layerSection';
2123
+ /**
2124
+ * ThumbnailType
2125
+ *
2126
+ * Desired image format.
2127
+ */
2128
+ type ThumbnailType = 'image/jpeg' | 'image/png' | 'image/tiff';
2129
+ /**
2130
+ * UnitType
2131
+ *
2132
+ * Unit for width and height.
2133
+ */
2134
+ type UnitType = 'Pixels' | 'Percent';
2135
+ /**
2136
+ * HorizontalAlignType
2137
+ *
2138
+ * Indicates the relative horizontal position of the layer with respect to the canvas of the document.
2139
+ */
2140
+ type HorizontalAlignType = 'left' | 'center' | 'right';
2141
+ /**
2142
+ * VerticalAlignType
2143
+ *
2144
+ * Indicates the relative vertical position of the layer with respect to the canvas of the document.
2145
+ */
2146
+ type VerticalAlignType = 'top' | 'center' | 'bottom';
2147
+ type UrlResource = {
2148
+ /**
2149
+ * The URL of the resource. Only these listed domains are accepted in the request:
2150
+ * <ul><li><code>amazonaws.com</code></li><li><code>windows.net</code></li><li><code>dropboxusercontent.com</code></li><li><code>assets.frame.io</code></li><li><code>storage.googleapis.com</code></li></ul>
2151
+ */
2152
+ url: string;
2153
+ };
2154
+ type RemoveBgInputImage = {
2155
+ /**
2156
+ * The source path for the input image. Dimensions of the image should not be greater than 6000px X 6000px. The image media type must be `image/jpeg`, `image/png`, `image/webp`, or `image/tiff`.
2157
+ */
2158
+ source: UrlResource;
2159
+ };
2160
+ /**
2161
+ * The mode of background removal.
2162
+ */
2163
+ type RemoveBgMode = 'cutout' | 'mask' | 'psd';
2164
+ /**
2165
+ * The media type of the output image. By default this will match the input source file format.
2166
+ */
2167
+ type RemoveBgOutputImageMediaType = 'image/jpeg' | 'image/png' | 'image/webp' | 'image/vnd.adobe.photoshop';
2168
+ type RemoveBgOutputImageOptions = {
2169
+ mediaType?: RemoveBgOutputImageMediaType;
2170
+ };
2171
+ type RemoveBgColor = {
2172
+ /**
2173
+ * The red value of the color.
2174
+ */
2175
+ red: number;
2176
+ /**
2177
+ * The green value of the color.
2178
+ */
2179
+ green: number;
2180
+ /**
2181
+ * The blue value of the color.
2182
+ */
2183
+ blue: number;
2184
+ /**
2185
+ * The transparency value. 0 is fully transparent and 1 is fully opaque.
2186
+ */
2187
+ alpha: number;
2188
+ };
2189
+ type RemoveBackgroundV2Request = {
2190
+ /**
2191
+ * The image to be processed.
2192
+ */
2193
+ image: RemoveBgInputImage;
2194
+ mode?: RemoveBgMode;
2195
+ /**
2196
+ * The options for the output image.
2197
+ */
2198
+ output?: RemoveBgOutputImageOptions;
2199
+ /**
2200
+ * If true, the image returned is cropped to the cutout border. Transparent pixels are removed.
2201
+ */
2202
+ trim?: boolean;
2203
+ /**
2204
+ * The background color.
2205
+ */
2206
+ backgroundColor?: RemoveBgColor;
2207
+ /**
2208
+ * If the value is greater than 0, automatically removes colored reflections that have been left on the main subject by the background.
2209
+ */
2210
+ colorDecontamination?: number;
2211
+ };
2212
+ type JobLinkResponse = {
2213
+ /**
2214
+ * The job ID for the asynchronous job.
2215
+ */
2216
+ jobId: string;
2217
+ /**
2218
+ * The URL to check the status of the asynchronous job.
2219
+ */
2220
+ statusUrl: string;
2221
+ };
2222
+ type JobStatusPollPayload = {
2223
+ status: JobStatus;
2224
+ /**
2225
+ * The job ID.
2226
+ */
2227
+ jobId: string;
2228
+ };
2229
+ /**
2230
+ * Succeeded
2231
+ */
2232
+ type JobStatusSucceededResponse = {
2233
+ status: 'succeeded';
2234
+ /**
2235
+ * The job ID.
2236
+ */
2237
+ jobId: string;
2238
+ result: {
2239
+ outputs?: Array<{
2240
+ destination?: {
2241
+ /**
2242
+ * The output URL
2243
+ */
2244
+ url?: string;
2245
+ };
2246
+ /**
2247
+ * The media type of the output
2248
+ */
2249
+ mediaType?: string;
2250
+ }>;
2251
+ };
2252
+ };
2253
+ type FillMaskedAreasInputImage = {
2254
+ /**
2255
+ * The source of the input image. Dimensions of the image should not be greater than (4000px X 4000px).
2256
+ */
2257
+ source: UrlResource;
2258
+ };
2259
+ type FillMaskedAreasRequest = {
2260
+ /**
2261
+ * The image to be processed.
2262
+ */
2263
+ image: FillMaskedAreasInputImage;
2264
+ /**
2265
+ * The areas of the image represented by this list of masks will be inpainted.
2266
+ */
2267
+ masks: Array<FillMaskedAreasInputImage>;
2268
+ };
2269
+ /**
2270
+ * The media type of the input image.
2271
+ */
2272
+ type MaskBodyPartsImageMediaType = 'image/jpeg' | 'image/png';
2273
+ type MaskBodyPartsInputImage = {
2274
+ /**
2275
+ * The source of the input image. Dimensions of the image should not be greater than (4000px X 4000px).
2276
+ */
2277
+ source: UrlResource;
2278
+ };
2279
+ /**
2280
+ * The media type of the mask.
2281
+ */
2282
+ type MaskBodyPartsMaskMediaType = 'image/png';
2283
+ type MaskBodyPartsInputMask = {
2284
+ /**
2285
+ * The URL of the mask. Dimensions of the mask should not be greater than (4000px X 4000px).
2286
+ */
2287
+ source: UrlResource;
2288
+ };
2289
+ type MaskBodyPartsRequest = {
2290
+ /**
2291
+ * The input image.
2292
+ */
2293
+ image: MaskBodyPartsInputImage;
2294
+ /**
2295
+ * The mask of the subject in the input image.
2296
+ */
2297
+ mask: MaskBodyPartsInputMask;
2298
+ };
2299
+ /**
2300
+ * The media type of the input image.
2301
+ */
2302
+ type MaskObjectsInputImageMediaType = 'image/jpeg' | 'image/png';
2303
+ type MaskObjectsInputImage = {
2304
+ /**
2305
+ * The source of the input image. Dimensions of the image should not be greater than (4000px X 4000px).
2306
+ */
2307
+ source: UrlResource;
2308
+ };
2309
+ type MaskObjectsRequest = {
2310
+ /**
2311
+ * The input image.
2312
+ */
2313
+ image: MaskObjectsInputImage;
2314
+ };
2315
+ /**
2316
+ * The media type of the input image.
2317
+ */
2318
+ type RefineMaskImageMediaType = 'image/jpeg' | 'image/png';
2319
+ type RefineMaskInputImage = {
2320
+ /**
2321
+ * The source of the input image. Dimensions of the image should not be greater than (4000px X 4000px).
2322
+ */
2323
+ source: UrlResource;
2324
+ };
2325
+ type RefineMaskRequest = {
2326
+ /**
2327
+ * The input image.
2328
+ */
2329
+ image: RefineMaskInputImage;
2330
+ /**
2331
+ * The mask in the input image that needs to be refined.
2332
+ */
2333
+ mask: RefineMaskInputImage;
2334
+ /**
2335
+ * When `true`, this returns an RGBA image where the masked area has been further refined with color decontamination. A `false` value (default) means that the output will simply be the refined mask.
2336
+ */
2337
+ colorDecontamination?: boolean;
2338
+ };
2339
+ type OutputImageDetails = {
2340
+ /**
2341
+ * Details of the location where the output image is located.
2342
+ */
2343
+ destination: UrlResource;
2344
+ /**
2345
+ * Media type of the output image.
2346
+ */
2347
+ mediaType: 'image/jpeg' | 'image/png';
2348
+ };
2349
+ type FillMaskedAreasJobApiResponse = {
2350
+ status: JobStatus;
2351
+ /**
2352
+ * The job ID.
2353
+ */
2354
+ jobId: string;
2355
+ /**
2356
+ * The output image.
2357
+ */
2358
+ image: OutputImageDetails;
2359
+ };
2360
+ type ImageBoundingBox = {
2361
+ /**
2362
+ * The x coordinate of the upper-left corner of the bounding box. The origin (0,0) is at the upper-left corner of the image.
2363
+ */
2364
+ x: number;
2365
+ /**
2366
+ * The y coordinate of the upper-left corner of the bounding box. The origin (0,0) is at the upper-left corner of the image.
2367
+ */
2368
+ y: number;
2369
+ /**
2370
+ * The width of the bounding box, starting from the x coordinate.
2371
+ */
2372
+ width: number;
2373
+ /**
2374
+ * The height of the bounding box, starting from the y coordinate.
2375
+ */
2376
+ height: number;
2377
+ };
2378
+ type MaskBodyPartsOutputImage = {
2379
+ /**
2380
+ * The label of the identified body part.
2381
+ */
2382
+ label: string;
2383
+ /**
2384
+ * The bounding box of the identified body part.
2385
+ */
2386
+ boundingBox: ImageBoundingBox;
2387
+ /**
2388
+ * The probability or confidence score of the match.
2389
+ */
2390
+ score: number;
2391
+ /**
2392
+ * Details of the location where the mask of the identified body part is located.
2393
+ */
2394
+ destination: UrlResource;
2395
+ /**
2396
+ * Media type of the mask of the identified body part.
2397
+ */
2398
+ mediaType: 'image/png';
2399
+ };
2400
+ type MaskBodyPartsJobApiResponse = {
2401
+ status: JobStatus;
2402
+ /**
2403
+ * The job ID.
2404
+ */
2405
+ jobId: string;
2406
+ /**
2407
+ * An array of output image masks.
2408
+ */
2409
+ masks: Array<MaskBodyPartsOutputImage>;
2410
+ };
2411
+ type MaskObjectsOutputImage = {
2412
+ /**
2413
+ * The label of the identified object or area of interest.
2414
+ */
2415
+ label: string;
2416
+ /**
2417
+ * The bounding box of the object or area of interest.
2418
+ */
2419
+ boundingBox: ImageBoundingBox;
2420
+ /**
2421
+ * The probability or confidence score of the match.
2422
+ */
2423
+ score: number;
2424
+ /**
2425
+ * Details of the location where the mask is located.
2426
+ */
2427
+ destination: UrlResource;
2428
+ /**
2429
+ * Media type of the mask.
2430
+ */
2431
+ mediaType: 'image/png';
2432
+ };
2433
+ type MaskObjectsJobApiResponse = {
2434
+ status: JobStatus;
2435
+ /**
2436
+ * The job ID.
2437
+ */
2438
+ jobId: string;
2439
+ /**
2440
+ * List of masks representing foreground objects.
2441
+ */
2442
+ semanticMasks: Array<MaskObjectsOutputImage>;
2443
+ /**
2444
+ * List of masks representing background regions.
2445
+ */
2446
+ backgroundMasks: Array<MaskObjectsOutputImage>;
2447
+ };
2448
+ type RefineMaskOutputImage = {
2449
+ /**
2450
+ * Details of the location where the refined mask or image is located.
2451
+ */
2452
+ destination: UrlResource;
2453
+ /**
2454
+ * Media type of the refined mask or image.
2455
+ */
2456
+ mediaType: 'image/jpeg' | 'image/png';
2457
+ /**
2458
+ * The bounding box of the refined mask or image.
2459
+ */
2460
+ boundingBox: ImageBoundingBox;
2461
+ };
2462
+ type RefineMaskJobApiResponse = {
2463
+ status: JobStatus;
2464
+ /**
2465
+ * The job ID.
2466
+ */
2467
+ jobId: string;
2468
+ /**
2469
+ * The refined mask. This will only be attached to the response when mask is specified as an input. Only applicable when colorDecontamination is false.
2470
+ */
2471
+ mask?: RefineMaskOutputImage;
2472
+ /**
2473
+ * The image with color decontamination. This will only be attached to the response when mask is specified as an input. Only applicable when colorDecontamination is true.
2474
+ */
2475
+ image?: RefineMaskOutputImage;
2476
+ };
2477
+ type JobStatusResponse = {
2478
+ status: JobStatus;
2479
+ /**
2480
+ * The results of the job if completed.
2481
+ */
2482
+ results: {
2483
+ [key: string]: unknown;
2484
+ };
2485
+ };
2486
+ /**
2487
+ * Response when a job is currently being processed. The job has started but is not yet complete.
2488
+ */
2489
+ type JobStatusRunning = {
2490
+ /**
2491
+ * The job ID.
2492
+ */
2493
+ jobId: string;
2494
+ /**
2495
+ * The status of the job.
2496
+ */
2497
+ status: 'running';
2498
+ };
2499
+ /**
2500
+ * Response when a job has completed successfully. In addition to the jobId and status, the response includes the results of the job which vary depending on the operation.
2501
+ */
2502
+ type JobStatusSucceeded = {
2503
+ /**
2504
+ * The job ID.
2505
+ */
2506
+ jobId: string;
2507
+ /**
2508
+ * The status of the job.
2509
+ */
2510
+ status: 'succeeded';
2511
+ };
2512
+ /**
2513
+ * Response when a job has failed during processing. Contains error details explaining what went wrong.
2514
+ */
2515
+ type JobStatusFailed = {
2516
+ /**
2517
+ * The job ID.
2518
+ */
2519
+ jobId: string;
2520
+ /**
2521
+ * The status of the job.
2522
+ */
2523
+ status: 'failed';
2524
+ /**
2525
+ * The error code.
2526
+ */
2527
+ error_code: string;
2528
+ /**
2529
+ * The error message.
2530
+ */
2531
+ message: string;
2532
+ };
2533
+ /**
2534
+ * Response when a job has been created but processing has not yet begun. This status indicates the job is queued and waiting to start.
2535
+ */
2536
+ type JobStatusNotStarted = {
2537
+ /**
2538
+ * The job ID.
2539
+ */
2540
+ jobId: string;
2541
+ /**
2542
+ * The status of the job.
2543
+ */
2544
+ status: 'not_started';
2545
+ };
2546
+ type SenseiJobStatusData = {
2547
+ body?: never;
2548
+ headers?: {
2549
+ /**
2550
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2551
+ */
2552
+ 'x-gw-ims-org-id'?: string;
2553
+ };
2554
+ path: {
2555
+ /**
2556
+ * The job ID.
2557
+ */
2558
+ jobId: string;
2559
+ };
2560
+ query?: never;
2561
+ url: '/sensei/status/{jobId}';
2562
+ };
2563
+ type SenseiJobStatusResponses = {
2564
+ /**
2565
+ * Job status
2566
+ */
2567
+ 200: SenseiJobApiResponse;
2568
+ };
2569
+ type SenseiJobStatusResponse = SenseiJobStatusResponses[keyof SenseiJobStatusResponses];
2570
+ type RemoveBackgroundAsyncData = {
2571
+ /**
2572
+ * The input image and the cutout mask parameters
2573
+ */
2574
+ body: RemoveBackgroundRequest;
2575
+ headers?: {
2576
+ /**
2577
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2578
+ */
2579
+ 'x-gw-ims-org-id'?: string;
2580
+ };
2581
+ path?: never;
2582
+ query?: never;
2583
+ url: '/sensei/cutout';
2584
+ };
2585
+ type RemoveBackgroundAsyncErrors = {
2586
+ /**
2587
+ * Input Validation Error
2588
+ */
2589
+ 400: InputValidationError;
2590
+ /**
2591
+ * Trial Limit Exceeded Error
2592
+ */
2593
+ 402: TrialLimitExceededError;
2594
+ /**
2595
+ * Unauthorized
2596
+ */
2597
+ 403: JobError;
2598
+ /**
2599
+ * Requested Resource Was Not Found
2600
+ */
2601
+ 404: JobError;
2602
+ /**
2603
+ * Unable to upload asset
2604
+ */
2605
+ 409: JobError;
2606
+ /**
2607
+ * Asset Link Invalid
2608
+ */
2609
+ 410: JobError;
2610
+ /**
2611
+ * Too many requests
2612
+ */
2613
+ 429: JobError;
2614
+ /**
2615
+ * Internal Server Error
2616
+ */
2617
+ 500: JobError;
2618
+ };
2619
+ type RemoveBackgroundAsyncError = RemoveBackgroundAsyncErrors[keyof RemoveBackgroundAsyncErrors];
2620
+ type RemoveBackgroundAsyncResponses = {
2621
+ /**
2622
+ * Success
2623
+ */
2624
+ 202: JobStatusLinkResponse;
2625
+ };
2626
+ type RemoveBackgroundAsyncResponse = RemoveBackgroundAsyncResponses[keyof RemoveBackgroundAsyncResponses];
2627
+ type RemoveBackgroundData = {
2628
+ body: RemoveBackgroundV2Request;
2629
+ headers: {
2630
+ /**
2631
+ * The bearer token for the user. This is the access token.
2632
+ */
2633
+ Authorization: string;
2634
+ /**
2635
+ * The API key/Client ID
2636
+ */
2637
+ 'x-api-key': string;
2638
+ /**
2639
+ * The content type of the request. The value is `application/json`.
2640
+ */
2641
+ 'Content-Type': string;
2642
+ };
2643
+ path?: never;
2644
+ query?: never;
2645
+ url: '/v2/remove-background';
2646
+ };
2647
+ type RemoveBackgroundErrors = {
2648
+ /**
2649
+ * Unauthorized
2650
+ */
2651
+ 401: JobError;
2652
+ /**
2653
+ * Forbidden
2654
+ */
2655
+ 403: JobError;
2656
+ /**
2657
+ * Too Many Requests
2658
+ */
2659
+ 429: JobError;
2660
+ /**
2661
+ * Internal Server Error
2662
+ */
2663
+ 500: JobError;
2664
+ };
2665
+ type RemoveBackgroundError = RemoveBackgroundErrors[keyof RemoveBackgroundErrors];
2666
+ type RemoveBackgroundResponses = {
2667
+ /**
2668
+ * Accepted
2669
+ */
2670
+ 202: JobLinkResponse;
2671
+ };
2672
+ type RemoveBackgroundResponse = RemoveBackgroundResponses[keyof RemoveBackgroundResponses];
2673
+ type FacadeJobStatusData = {
2674
+ body?: never;
2675
+ path: {
2676
+ /**
2677
+ * The job ID from the response of the Remove Background API call.
2678
+ */
2679
+ jobId: string;
2680
+ };
2681
+ query?: never;
2682
+ url: '/v2/status/{jobId}';
2683
+ };
2684
+ type FacadeJobStatusErrors = {
2685
+ /**
2686
+ * Bad Request
2687
+ */
2688
+ 400: JobError;
2689
+ /**
2690
+ * Requested Resource Was Not Found
2691
+ */
2692
+ 404: JobError;
2693
+ /**
2694
+ * Internal Server Error
2695
+ */
2696
+ 500: JobError;
2697
+ };
2698
+ type FacadeJobStatusError = FacadeJobStatusErrors[keyof FacadeJobStatusErrors];
2699
+ type FacadeJobStatusResponses = {
2700
+ /**
2701
+ * Success
2702
+ */
2703
+ 200: JobStatusPollPayload | JobStatusSucceededResponse;
2704
+ };
2705
+ type FacadeJobStatusResponse = FacadeJobStatusResponses[keyof FacadeJobStatusResponses];
2706
+ type CreateMaskAsyncData = {
2707
+ /**
2708
+ * The input image and the mask parameters
2709
+ */
2710
+ body: CreateMaskRequest;
2711
+ headers?: {
2712
+ /**
2713
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2714
+ */
2715
+ 'x-gw-ims-org-id'?: string;
2716
+ };
2717
+ path?: never;
2718
+ query?: never;
2719
+ url: '/sensei/mask';
2720
+ };
2721
+ type CreateMaskAsyncErrors = {
2722
+ /**
2723
+ * Input Validation Error
2724
+ */
2725
+ 400: InputValidationError;
2726
+ /**
2727
+ * Trial Limit Exceeded Error
2728
+ */
2729
+ 402: TrialLimitExceededError;
2730
+ /**
2731
+ * Unauthorized
2732
+ */
2733
+ 403: JobError;
2734
+ /**
2735
+ * Requested Resource Was Not Found
2736
+ */
2737
+ 404: JobError;
2738
+ /**
2739
+ * Unable to upload asset
2740
+ */
2741
+ 409: JobError;
2742
+ /**
2743
+ * Asset Link Invalid
2744
+ */
2745
+ 410: JobError;
2746
+ /**
2747
+ * Too many requests
2748
+ */
2749
+ 429: JobError;
2750
+ /**
2751
+ * Internal Server Error
2752
+ */
2753
+ 500: JobError;
2754
+ };
2755
+ type CreateMaskAsyncError = CreateMaskAsyncErrors[keyof CreateMaskAsyncErrors];
2756
+ type CreateMaskAsyncResponses = {
2757
+ /**
2758
+ * Success
2759
+ */
2760
+ 202: JobStatusLinkResponse;
2761
+ };
2762
+ type CreateMaskAsyncResponse = CreateMaskAsyncResponses[keyof CreateMaskAsyncResponses];
2763
+ type PsJobStatusData = {
2764
+ body?: never;
2765
+ headers?: {
2766
+ /**
2767
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2768
+ */
2769
+ 'x-gw-ims-org-id'?: string;
2770
+ };
2771
+ path: {
2772
+ /**
2773
+ * The job ID.
2774
+ */
2775
+ jobId: string;
2776
+ };
2777
+ query?: never;
2778
+ url: '/pie/psdService/status/{jobId}';
2779
+ };
2780
+ type PsJobStatusResponses = {
2781
+ /**
2782
+ * Job Status
2783
+ */
2784
+ 200: PsJobResponse;
2785
+ };
2786
+ type PsJobStatusResponse = PsJobStatusResponses[keyof PsJobStatusResponses];
2787
+ type GetDocumentManifestAsyncData = {
2788
+ /**
2789
+ * The PSD file with the layer information you want to extract.
2790
+ */
2791
+ body: DocumentManifestRequest;
2792
+ headers?: {
2793
+ /**
2794
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2795
+ */
2796
+ 'x-gw-ims-org-id'?: string;
2797
+ };
2798
+ path?: never;
2799
+ query?: never;
2800
+ url: '/pie/psdService/documentManifest';
2801
+ };
2802
+ type GetDocumentManifestAsyncErrors = {
2803
+ /**
2804
+ * Input Validation Error
2805
+ */
2806
+ 400: InputValidationError;
2807
+ /**
2808
+ * Trial Limit Exceeded Error
2809
+ */
2810
+ 402: TrialLimitExceededError;
2811
+ /**
2812
+ * Forbidden
2813
+ */
2814
+ 403: JobError;
2815
+ /**
2816
+ * Requested Resource Was Not Found
2817
+ */
2818
+ 404: JobError;
2819
+ /**
2820
+ * Internal Server Error
2821
+ */
2822
+ 500: JobError;
2823
+ };
2824
+ type GetDocumentManifestAsyncError = GetDocumentManifestAsyncErrors[keyof GetDocumentManifestAsyncErrors];
2825
+ type GetDocumentManifestAsyncResponses = {
2826
+ /**
2827
+ * Success
2828
+ */
2829
+ 202: JobStatusLinkResponse;
2830
+ };
2831
+ type GetDocumentManifestAsyncResponse = GetDocumentManifestAsyncResponses[keyof GetDocumentManifestAsyncResponses];
2832
+ type CreateDocumentAsyncData = {
2833
+ /**
2834
+ * The input psd file to create a new psd from
2835
+ */
2836
+ body: CreateDocumentRequest;
2837
+ headers?: {
2838
+ /**
2839
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2840
+ */
2841
+ 'x-gw-ims-org-id'?: string;
2842
+ };
2843
+ path?: never;
2844
+ query?: never;
2845
+ url: '/pie/psdService/documentCreate';
2846
+ };
2847
+ type CreateDocumentAsyncErrors = {
2848
+ /**
2849
+ * Input Validation Error
2850
+ */
2851
+ 400: InputValidationError;
2852
+ /**
2853
+ * Trial Limit Exceeded Error
2854
+ */
2855
+ 402: TrialLimitExceededError;
2856
+ /**
2857
+ * Forbidden
2858
+ */
2859
+ 403: JobError;
2860
+ /**
2861
+ * Requested Resource Was Not Found
2862
+ */
2863
+ 404: JobError;
2864
+ /**
2865
+ * Unable to upload asset
2866
+ */
2867
+ 409: JobError;
2868
+ /**
2869
+ * Asset Link Invalid
2870
+ */
2871
+ 410: JobError;
2872
+ /**
2873
+ * Internal Server Error
2874
+ */
2875
+ 500: JobError;
2876
+ };
2877
+ type CreateDocumentAsyncError = CreateDocumentAsyncErrors[keyof CreateDocumentAsyncErrors];
2878
+ type CreateDocumentAsyncResponses = {
2879
+ /**
2880
+ * Success
2881
+ */
2882
+ 202: JobStatusLinkResponse;
2883
+ };
2884
+ type CreateDocumentAsyncResponse = CreateDocumentAsyncResponses[keyof CreateDocumentAsyncResponses];
2885
+ type ModifyDocumentAsyncData = {
2886
+ /**
2887
+ * The input psd file to apply edits to and generate renditions and/or save as a new psd
2888
+ */
2889
+ body: ModifyDocumentRequest;
2890
+ headers?: {
2891
+ /**
2892
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
2893
+ */
2894
+ 'x-gw-ims-org-id'?: string;
2895
+ };
2896
+ path?: never;
2897
+ query?: never;
2898
+ url: '/pie/psdService/documentOperations';
2899
+ };
2900
+ type ModifyDocumentAsyncErrors = {
2901
+ /**
2902
+ * Input Validation Error
2903
+ */
2904
+ 400: InputValidationError;
2905
+ /**
2906
+ * Trial Limit Exceeded Error
2907
+ */
2908
+ 402: TrialLimitExceededError;
2909
+ /**
2910
+ * Forbidden
2911
+ */
2912
+ 403: JobError;
2913
+ /**
2914
+ * Requested Resource Was Not Found
2915
+ */
2916
+ 404: JobError;
2917
+ /**
2918
+ * Unable to upload asset
2919
+ */
2920
+ 409: JobError;
2921
+ /**
2922
+ * Asset Link Invalid
2923
+ */
2924
+ 410: JobError;
2925
+ /**
2926
+ * Internal Server Error
2927
+ */
2928
+ 500: JobError;
2929
+ };
2930
+ type ModifyDocumentAsyncError = ModifyDocumentAsyncErrors[keyof ModifyDocumentAsyncErrors];
2931
+ type ModifyDocumentAsyncResponses = {
2932
+ /**
2933
+ * Success
2934
+ */
2935
+ 202: JobStatusLinkResponse;
2936
+ };
2937
+ type ModifyDocumentAsyncResponse = ModifyDocumentAsyncResponses[keyof ModifyDocumentAsyncResponses];
2938
+ type CreateRenditionAsyncData = {
2939
+ /**
2940
+ * The input psd file to create renditions from
2941
+ */
2942
+ body: CreateRenditionRequest;
2943
+ headers?: {
2944
+ /**
2945
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
2946
+ */
2947
+ 'x-gw-ims-org-id'?: string;
2948
+ };
2949
+ path?: never;
2950
+ query?: never;
2951
+ url: '/pie/psdService/renditionCreate';
2952
+ };
2953
+ type CreateRenditionAsyncErrors = {
2954
+ /**
2955
+ * Input Validation Error
2956
+ */
2957
+ 400: InputValidationError;
2958
+ /**
2959
+ * Trial Limit Exceeded Error
2960
+ */
2961
+ 402: TrialLimitExceededError;
2962
+ /**
2963
+ * Forbidden
2964
+ */
2965
+ 403: JobError;
2966
+ /**
2967
+ * Requested Resource Was Not Found
2968
+ */
2969
+ 404: JobError;
2970
+ /**
2971
+ * Unable to upload asset
2972
+ */
2973
+ 409: JobError;
2974
+ /**
2975
+ * Asset Link Invalid
2976
+ */
2977
+ 410: JobError;
2978
+ /**
2979
+ * Internal Server Error
2980
+ */
2981
+ 500: JobError;
2982
+ };
2983
+ type CreateRenditionAsyncError = CreateRenditionAsyncErrors[keyof CreateRenditionAsyncErrors];
2984
+ type CreateRenditionAsyncResponses = {
2985
+ /**
2986
+ * Success
2987
+ */
2988
+ 202: JobStatusLinkResponse;
2989
+ };
2990
+ type CreateRenditionAsyncResponse = CreateRenditionAsyncResponses[keyof CreateRenditionAsyncResponses];
2991
+ type ReplaceSmartObjectAsyncData = {
2992
+ /**
2993
+ * The input psd file to apply edits for replacing embedded smart object to and generate renditions and/or save as a new psd
2994
+ */
2995
+ body: ReplaceSmartObjectRequest;
2996
+ headers?: {
2997
+ /**
2998
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
2999
+ */
3000
+ 'x-gw-ims-org-id'?: string;
3001
+ };
3002
+ path?: never;
3003
+ query?: never;
3004
+ url: '/pie/psdService/smartObject';
3005
+ };
3006
+ type ReplaceSmartObjectAsyncErrors = {
3007
+ /**
3008
+ * Input Validation Error
3009
+ */
3010
+ 400: InputValidationError;
3011
+ /**
3012
+ * Trial Limit Exceeded Error
3013
+ */
3014
+ 402: TrialLimitExceededError;
3015
+ /**
3016
+ * Forbidden
3017
+ */
3018
+ 403: JobError;
3019
+ /**
3020
+ * Requested Resource Was Not Found
3021
+ */
3022
+ 404: JobError;
3023
+ /**
3024
+ * Unable to upload asset
3025
+ */
3026
+ 409: JobError;
3027
+ /**
3028
+ * Asset Link Invalid
3029
+ */
3030
+ 410: JobError;
3031
+ /**
3032
+ * Internal Server Error
3033
+ */
3034
+ 500: JobError;
3035
+ };
3036
+ type ReplaceSmartObjectAsyncError = ReplaceSmartObjectAsyncErrors[keyof ReplaceSmartObjectAsyncErrors];
3037
+ type ReplaceSmartObjectAsyncResponses = {
3038
+ /**
3039
+ * Success
3040
+ */
3041
+ 202: JobStatusLinkResponse;
3042
+ };
3043
+ type ReplaceSmartObjectAsyncResponse = ReplaceSmartObjectAsyncResponses[keyof ReplaceSmartObjectAsyncResponses];
3044
+ type PlayPhotoshopActionsAsyncData = {
3045
+ /**
3046
+ * The input file to apply Photoshop Actions to and generate renditions and/or save as a new image
3047
+ */
3048
+ body: PlayPhotoshopActionsRequest;
3049
+ headers?: {
3050
+ /**
3051
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3052
+ */
3053
+ 'x-gw-ims-org-id'?: string;
3054
+ };
3055
+ path?: never;
3056
+ query?: never;
3057
+ url: '/pie/psdService/photoshopActions';
3058
+ };
3059
+ type PlayPhotoshopActionsAsyncErrors = {
3060
+ /**
3061
+ * Input Validation Error
3062
+ */
3063
+ 400: InputValidationError;
3064
+ /**
3065
+ * Trial Limit Exceeded Error
3066
+ */
3067
+ 402: TrialLimitExceededError;
3068
+ /**
3069
+ * Forbidden
3070
+ */
3071
+ 403: JobError;
3072
+ /**
3073
+ * Requested Resource Was Not Found
3074
+ */
3075
+ 404: JobError;
3076
+ /**
3077
+ * Unable to upload asset
3078
+ */
3079
+ 409: JobError;
3080
+ /**
3081
+ * Asset Link Invalid
3082
+ */
3083
+ 410: JobError;
3084
+ /**
3085
+ * Internal Server Error
3086
+ */
3087
+ 500: JobError;
3088
+ };
3089
+ type PlayPhotoshopActionsAsyncError = PlayPhotoshopActionsAsyncErrors[keyof PlayPhotoshopActionsAsyncErrors];
3090
+ type PlayPhotoshopActionsAsyncResponses = {
3091
+ /**
3092
+ * Success
3093
+ */
3094
+ 202: JobStatusLinkResponse;
3095
+ };
3096
+ type PlayPhotoshopActionsAsyncResponse = PlayPhotoshopActionsAsyncResponses[keyof PlayPhotoshopActionsAsyncResponses];
3097
+ type PlayPhotoshopActionsJsonAsyncData = {
3098
+ /**
3099
+ * The input psd file to apply Photoshop actionJSON to and generate renditions and/or save as a new image
3100
+ */
3101
+ body: PlayPhotoshopActionsJsonRequest;
3102
+ headers?: {
3103
+ /**
3104
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3105
+ */
3106
+ 'x-gw-ims-org-id'?: string;
3107
+ };
3108
+ path?: never;
3109
+ query?: never;
3110
+ url: '/pie/psdService/actionJSON';
3111
+ };
3112
+ type PlayPhotoshopActionsJsonAsyncErrors = {
3113
+ /**
3114
+ * Input Validation Error
3115
+ */
3116
+ 400: InputValidationError;
3117
+ /**
3118
+ * Trial Limit Exceeded Error
3119
+ */
3120
+ 402: TrialLimitExceededError;
3121
+ /**
3122
+ * Forbidden
3123
+ */
3124
+ 403: JobError;
3125
+ /**
3126
+ * Requested Resource Was Not Found
3127
+ */
3128
+ 404: JobError;
3129
+ /**
3130
+ * Unable to upload asset
3131
+ */
3132
+ 409: JobError;
3133
+ /**
3134
+ * Asset Link Invalid
3135
+ */
3136
+ 410: JobError;
3137
+ /**
3138
+ * Too many requests
3139
+ */
3140
+ 429: JobError;
3141
+ /**
3142
+ * Internal Server Error
3143
+ */
3144
+ 500: JobError;
3145
+ };
3146
+ type PlayPhotoshopActionsJsonAsyncError = PlayPhotoshopActionsJsonAsyncErrors[keyof PlayPhotoshopActionsJsonAsyncErrors];
3147
+ type PlayPhotoshopActionsJsonAsyncResponses = {
3148
+ /**
3149
+ * Success
3150
+ */
3151
+ 202: JobStatusLinkResponse;
3152
+ };
3153
+ type PlayPhotoshopActionsJsonAsyncResponse = PlayPhotoshopActionsJsonAsyncResponses[keyof PlayPhotoshopActionsJsonAsyncResponses];
3154
+ type ConvertToActionsJsonAsyncData = {
3155
+ /**
3156
+ * The input ATN file to convert to actionJSON.
3157
+ */
3158
+ body: ConvertToActionsJsonRequest;
3159
+ headers?: {
3160
+ /**
3161
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3162
+ */
3163
+ 'x-gw-ims-org-id'?: string;
3164
+ };
3165
+ path?: never;
3166
+ query?: never;
3167
+ url: '/pie/psdService/actionJsonCreate';
3168
+ };
3169
+ type ConvertToActionsJsonAsyncErrors = {
3170
+ /**
3171
+ * Input Validation Error
3172
+ */
3173
+ 400: InputValidationError;
3174
+ /**
3175
+ * Trial Limit Exceeded Error
3176
+ */
3177
+ 402: TrialLimitExceededError;
3178
+ /**
3179
+ * Forbidden
3180
+ */
3181
+ 403: JobError;
3182
+ /**
3183
+ * Requested Resource Was Not Found
3184
+ */
3185
+ 404: JobError;
3186
+ /**
3187
+ * Asset Link Invalid
3188
+ */
3189
+ 410: JobError;
3190
+ /**
3191
+ * Internal Server Error
3192
+ */
3193
+ 500: JobError;
3194
+ };
3195
+ type ConvertToActionsJsonAsyncError = ConvertToActionsJsonAsyncErrors[keyof ConvertToActionsJsonAsyncErrors];
3196
+ type ConvertToActionsJsonAsyncResponses = {
3197
+ /**
3198
+ * Success
3199
+ */
3200
+ 202: JobStatusLinkResponse;
3201
+ };
3202
+ type ConvertToActionsJsonAsyncResponse = ConvertToActionsJsonAsyncResponses[keyof ConvertToActionsJsonAsyncResponses];
3203
+ type ApplyAutoCropAsyncData = {
3204
+ /**
3205
+ * The input image to apply product crop to.
3206
+ */
3207
+ body: ApplyAutoCropRequest;
3208
+ headers?: {
3209
+ /**
3210
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3211
+ */
3212
+ 'x-gw-ims-org-id'?: string;
3213
+ };
3214
+ path?: never;
3215
+ query?: never;
3216
+ url: '/pie/psdService/productCrop';
3217
+ };
3218
+ type ApplyAutoCropAsyncErrors = {
3219
+ /**
3220
+ * Input Validation Error
3221
+ */
3222
+ 400: InputValidationError;
3223
+ /**
3224
+ * Trial Limit Exceeded Error
3225
+ */
3226
+ 402: TrialLimitExceededError;
3227
+ /**
3228
+ * Forbidden
3229
+ */
3230
+ 403: JobError;
3231
+ /**
3232
+ * Requested Resource Was Not Found
3233
+ */
3234
+ 404: JobError;
3235
+ /**
3236
+ * Unable to upload asset
3237
+ */
3238
+ 409: JobError;
3239
+ /**
3240
+ * Asset Link Invalid
3241
+ */
3242
+ 410: JobError;
3243
+ /**
3244
+ * Too many requests
3245
+ */
3246
+ 429: JobError;
3247
+ /**
3248
+ * Internal Server Error
3249
+ */
3250
+ 500: JobError;
3251
+ };
3252
+ type ApplyAutoCropAsyncError = ApplyAutoCropAsyncErrors[keyof ApplyAutoCropAsyncErrors];
3253
+ type ApplyAutoCropAsyncResponses = {
3254
+ /**
3255
+ * Success
3256
+ */
3257
+ 202: JobStatusLinkResponse;
3258
+ };
3259
+ type ApplyAutoCropAsyncResponse = ApplyAutoCropAsyncResponses[keyof ApplyAutoCropAsyncResponses];
3260
+ type ApplyDepthBlurAsyncData = {
3261
+ /**
3262
+ * The input image to apply depth blur to.
3263
+ */
3264
+ body: ApplyDepthBlurRequest;
3265
+ headers?: {
3266
+ /**
3267
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events.
3268
+ */
3269
+ 'x-gw-ims-org-id'?: string;
3270
+ };
3271
+ path?: never;
3272
+ query?: never;
3273
+ url: '/pie/psdService/depthBlur';
3274
+ };
3275
+ type ApplyDepthBlurAsyncErrors = {
3276
+ /**
3277
+ * Input Validation Error
3278
+ */
3279
+ 400: InputValidationError;
3280
+ /**
3281
+ * Trial Limit Exceeded Error
3282
+ */
3283
+ 402: TrialLimitExceededError;
3284
+ /**
3285
+ * Forbidden
3286
+ */
3287
+ 403: JobError;
3288
+ /**
3289
+ * Requested Resource Was Not Found
3290
+ */
3291
+ 404: JobError;
3292
+ /**
3293
+ * Unable to upload asset
3294
+ */
3295
+ 409: JobError;
3296
+ /**
3297
+ * Asset Link Invalid
3298
+ */
3299
+ 410: JobError;
3300
+ /**
3301
+ * Too many requests
3302
+ */
3303
+ 429: JobError;
3304
+ /**
3305
+ * Internal Server Error
3306
+ */
3307
+ 500: JobError;
3308
+ };
3309
+ type ApplyDepthBlurAsyncError = ApplyDepthBlurAsyncErrors[keyof ApplyDepthBlurAsyncErrors];
3310
+ type ApplyDepthBlurAsyncResponses = {
3311
+ /**
3312
+ * Success
3313
+ */
3314
+ 202: JobStatusLinkResponse;
3315
+ };
3316
+ type ApplyDepthBlurAsyncResponse = ApplyDepthBlurAsyncResponses[keyof ApplyDepthBlurAsyncResponses];
3317
+ type EditTextLayerAsyncData = {
3318
+ /**
3319
+ * The input text to be edited.
3320
+ */
3321
+ body: EditTextLayerRequest;
3322
+ headers?: {
3323
+ /**
3324
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3325
+ */
3326
+ 'x-gw-ims-org-id'?: string;
3327
+ };
3328
+ path?: never;
3329
+ query?: never;
3330
+ url: '/pie/psdService/text';
3331
+ };
3332
+ type EditTextLayerAsyncErrors = {
3333
+ /**
3334
+ * Input Validation Error
3335
+ */
3336
+ 400: InputValidationError;
3337
+ /**
3338
+ * Trial Limit Exceeded Error
3339
+ */
3340
+ 402: TrialLimitExceededError;
3341
+ /**
3342
+ * Forbidden
3343
+ */
3344
+ 403: JobError;
3345
+ /**
3346
+ * Requested Resource Was Not Found
3347
+ */
3348
+ 404: JobError;
3349
+ /**
3350
+ * Unable to upload asset
3351
+ */
3352
+ 409: JobError;
3353
+ /**
3354
+ * Asset Link Invalid
3355
+ */
3356
+ 410: JobError;
3357
+ /**
3358
+ * Too many requests
3359
+ */
3360
+ 429: JobError;
3361
+ /**
3362
+ * Internal Server Error
3363
+ */
3364
+ 500: JobError;
3365
+ };
3366
+ type EditTextLayerAsyncError = EditTextLayerAsyncErrors[keyof EditTextLayerAsyncErrors];
3367
+ type EditTextLayerAsyncResponses = {
3368
+ /**
3369
+ * success
3370
+ */
3371
+ 202: JobStatusLinkResponse;
3372
+ };
3373
+ type EditTextLayerAsyncResponse = EditTextLayerAsyncResponses[keyof EditTextLayerAsyncResponses];
3374
+ type CreateArtboardAsyncData = {
3375
+ /**
3376
+ * The input artboard to be created.
3377
+ */
3378
+ body: CreateArtboardRequest;
3379
+ headers?: {
3380
+ /**
3381
+ * The IMS organization ID. This only needs to be sent if you want to receive the job status through Adobe I/O Events
3382
+ */
3383
+ 'x-gw-ims-org-id'?: string;
3384
+ };
3385
+ path?: never;
3386
+ query?: never;
3387
+ url: '/pie/psdService/artboardCreate';
3388
+ };
3389
+ type CreateArtboardAsyncErrors = {
3390
+ /**
3391
+ * Input Validation Error
3392
+ */
3393
+ 400: InputValidationError;
3394
+ /**
3395
+ * Trial Limit Exceeded Error
3396
+ */
3397
+ 402: TrialLimitExceededError;
3398
+ /**
3399
+ * Forbidden
3400
+ */
3401
+ 403: JobError;
3402
+ /**
3403
+ * Requested Resource Was Not Found
3404
+ */
3405
+ 404: JobError;
3406
+ /**
3407
+ * Unable to upload asset
3408
+ */
3409
+ 409: JobError;
3410
+ /**
3411
+ * Asset Link Invalid
3412
+ */
3413
+ 410: JobError;
3414
+ /**
3415
+ * Internal Server Error
3416
+ */
3417
+ 500: JobError;
3418
+ };
3419
+ type CreateArtboardAsyncError = CreateArtboardAsyncErrors[keyof CreateArtboardAsyncErrors];
3420
+ type CreateArtboardAsyncResponses = {
3421
+ /**
3422
+ * success
3423
+ */
3424
+ 202: JobStatusLinkResponse;
3425
+ };
3426
+ type CreateArtboardAsyncResponse = CreateArtboardAsyncResponses[keyof CreateArtboardAsyncResponses];
3427
+ type MaskObjectsData = {
3428
+ body: MaskObjectsRequest;
3429
+ path?: never;
3430
+ query?: never;
3431
+ url: '/v1/mask-objects';
3432
+ };
3433
+ type MaskObjectsErrors = {
3434
+ /**
3435
+ * Bad Request
3436
+ */
3437
+ 400: InputValidationError;
3438
+ /**
3439
+ * Unauthorized
3440
+ */
3441
+ 401: InputValidationError;
3442
+ /**
3443
+ * Forbidden
3444
+ */
3445
+ 403: InputValidationError;
3446
+ /**
3447
+ * Resource Not Found
3448
+ */
3449
+ 404: InputValidationError;
3450
+ /**
3451
+ * Too Many Requests
3452
+ */
3453
+ 429: InputValidationError;
3454
+ /**
3455
+ * Internal Server Error
3456
+ */
3457
+ 500: JobError;
3458
+ };
3459
+ type MaskObjectsError = MaskObjectsErrors[keyof MaskObjectsErrors];
3460
+ type MaskObjectsResponses = {
3461
+ /**
3462
+ * Accepted
3463
+ */
3464
+ 202: JobLinkResponse;
3465
+ };
3466
+ type MaskObjectsResponse = MaskObjectsResponses[keyof MaskObjectsResponses];
3467
+ type MaskBodyPartsData = {
3468
+ body: MaskBodyPartsRequest;
3469
+ path?: never;
3470
+ query?: never;
3471
+ url: '/v1/mask-body-parts';
3472
+ };
3473
+ type MaskBodyPartsErrors = {
3474
+ /**
3475
+ * Bad Request
3476
+ */
3477
+ 400: InputValidationError;
3478
+ /**
3479
+ * Unauthorized
3480
+ */
3481
+ 401: InputValidationError;
3482
+ /**
3483
+ * Forbidden
3484
+ */
3485
+ 403: InputValidationError;
3486
+ /**
3487
+ * Resource Not Found
3488
+ */
3489
+ 404: InputValidationError;
3490
+ /**
3491
+ * Too Many Requests
3492
+ */
3493
+ 429: InputValidationError;
3494
+ /**
3495
+ * Internal Server Error
3496
+ */
3497
+ 500: JobError;
3498
+ };
3499
+ type MaskBodyPartsError = MaskBodyPartsErrors[keyof MaskBodyPartsErrors];
3500
+ type MaskBodyPartsResponses = {
3501
+ /**
3502
+ * Accepted
3503
+ */
3504
+ 202: JobLinkResponse;
3505
+ };
3506
+ type MaskBodyPartsResponse = MaskBodyPartsResponses[keyof MaskBodyPartsResponses];
3507
+ type RefineMaskData = {
3508
+ body: RefineMaskRequest;
3509
+ path?: never;
3510
+ query?: never;
3511
+ url: '/v1/refine-mask';
3512
+ };
3513
+ type RefineMaskErrors = {
3514
+ /**
3515
+ * Bad Request
3516
+ */
3517
+ 400: InputValidationError;
3518
+ /**
3519
+ * Unauthorized
3520
+ */
3521
+ 401: InputValidationError;
3522
+ /**
3523
+ * Forbidden
3524
+ */
3525
+ 403: InputValidationError;
3526
+ /**
3527
+ * Resource Not Found
3528
+ */
3529
+ 404: InputValidationError;
3530
+ /**
3531
+ * Too Many Requests
3532
+ */
3533
+ 429: InputValidationError;
3534
+ /**
3535
+ * Internal Server Error
3536
+ */
3537
+ 500: JobError;
3538
+ };
3539
+ type RefineMaskError = RefineMaskErrors[keyof RefineMaskErrors];
3540
+ type RefineMaskResponses = {
3541
+ /**
3542
+ * Accepted
3543
+ */
3544
+ 202: JobLinkResponse;
3545
+ };
3546
+ type RefineMaskResponse = RefineMaskResponses[keyof RefineMaskResponses];
3547
+ type FillMaskedAreasData = {
3548
+ body: FillMaskedAreasRequest;
3549
+ path?: never;
3550
+ query?: never;
3551
+ url: '/v1/fill-masked-areas';
3552
+ };
3553
+ type FillMaskedAreasErrors = {
3554
+ /**
3555
+ * Bad Request
3556
+ */
3557
+ 400: InputValidationError;
3558
+ /**
3559
+ * Unauthorized
3560
+ */
3561
+ 401: InputValidationError;
3562
+ /**
3563
+ * Forbidden
3564
+ */
3565
+ 403: InputValidationError;
3566
+ /**
3567
+ * Resource Not Found
3568
+ */
3569
+ 404: InputValidationError;
3570
+ /**
3571
+ * Too Many Requests
3572
+ */
3573
+ 429: InputValidationError;
3574
+ /**
3575
+ * Internal Server Error
3576
+ */
3577
+ 500: JobError;
3578
+ };
3579
+ type FillMaskedAreasError = FillMaskedAreasErrors[keyof FillMaskedAreasErrors];
3580
+ type FillMaskedAreasResponses = {
3581
+ /**
3582
+ * Accepted
3583
+ */
3584
+ 202: JobLinkResponse;
3585
+ };
3586
+ type FillMaskedAreasResponse = FillMaskedAreasResponses[keyof FillMaskedAreasResponses];
3587
+ type GetJobStatusData = {
3588
+ body?: never;
3589
+ path: {
3590
+ jobId: string;
3591
+ };
3592
+ query?: never;
3593
+ url: '/v1/status/{jobId}';
3594
+ };
3595
+ type GetJobStatusErrors = {
3596
+ /**
3597
+ * Internal Server Error
3598
+ */
3599
+ 500: JobError;
3600
+ };
3601
+ type GetJobStatusError = GetJobStatusErrors[keyof GetJobStatusErrors];
3602
+ type GetJobStatusResponses = {
3603
+ /**
3604
+ * The schema of a 200 response varies depending on the status of the job. A job with a `succeeded` status will include the results in the response. Result objects vary depending on the operation.
3605
+ */
3606
+ 200: ({
3607
+ status: 'not_started';
3608
+ } & JobStatusNotStarted) | ({
3609
+ status: 'running';
3610
+ } & JobStatusRunning) | ({
3611
+ status: 'succeeded';
3612
+ } & JobStatusSucceeded) | ({
3613
+ status: 'failed';
3614
+ } & JobStatusFailed);
3615
+ };
3616
+ type GetJobStatusResponse = GetJobStatusResponses[keyof GetJobStatusResponses];
3617
+ //#endregion
3618
+ //#region packages/shared/src/generic-poller.d.ts
3619
+ interface SharedPollJobOptions {
3620
+ /** Fallback polling interval in milliseconds. @default 2000 */
3621
+ intervalMs?: number;
3622
+ /** Minimum delay between attempts in milliseconds. @default 250 */
3623
+ minDelayMs?: number;
3624
+ /** Maximum delay between attempts in milliseconds. @default 60000 */
3625
+ maxDelayMs?: number;
3626
+ /** Maximum number of polling attempts. @default 120 */
3627
+ maxAttempts?: number;
3628
+ /** Maximum total polling duration in milliseconds. @default 600000 */
3629
+ timeoutMs?: number;
3630
+ /** Optional `AbortSignal` to cancel polling. */
3631
+ signal?: AbortSignal;
3632
+ }
3633
+ /** Result of a job fetch operation (matches hey-api client return shape). */
3634
+ interface JobFetchResult<T, E = unknown> {
3635
+ data?: T;
3636
+ error?: E;
3637
+ request?: Request;
3638
+ response?: Response;
3639
+ }
3640
+ interface PollJobResult<T> {
3641
+ attempts: number;
3642
+ elapsedMs: number;
3643
+ result: JobFetchResult<T>;
3644
+ }
3645
+ //#endregion
3646
+ //#region packages/photoshop/src/extensions/polling.d.ts
3647
+ interface PhotoshopPollJobOptions extends SharedPollJobOptions {
3648
+ client: Client;
3649
+ jobId: string;
3650
+ }
3651
+ /**
3652
+ * Polls `GET /v2/status/{jobId}` (Remove Background v2 / `removeBackground`).
3653
+ */
3654
+ declare const pollPhotoshopFacadeJob: (options: PhotoshopPollJobOptions) => Promise<PollJobResult<FacadeJobStatusResponse>>;
3655
+ /**
3656
+ * Polls `GET /pie/psdService/status/{jobId}` (PSD service async jobs).
3657
+ */
3658
+ declare const pollPhotoshopPsdServiceJob: (options: PhotoshopPollJobOptions) => Promise<PollJobResult<PsJobResponse>>;
3659
+ /**
3660
+ * Polls `GET /v1/status/{jobId}` (masking v1 async jobs).
3661
+ */
3662
+ declare const pollPhotoshopMaskingV1Job: (options: PhotoshopPollJobOptions) => Promise<PollJobResult<GetJobStatusResponse>>;
3663
+ /**
3664
+ * Polls `GET /sensei/status/{jobId}` (legacy cutout / mask; deprecated API path).
3665
+ */
3666
+ declare const pollPhotoshopSenseiJob: (options: PhotoshopPollJobOptions) => Promise<PollJobResult<SenseiJobApiResponse>>;
3667
+ //#endregion
3668
+ export { CreateArtboardAsyncData as $, TextDetails as $i, ManifestJobStatusOutputDetails as $n, PsJobStatusResponse as $r, FillMaskedAreasJobApiResponse as $t, BaselineType as A, RenditionLinks as Ai, JobError as An, ModifyDocumentRequest as Ar, DocumentManifestOptions as At, ChildrenLayerDetails as B, SenseiJobApiResponse as Bi, JobStatusResponse as Bn, PlayPhotoshopActionsAsyncErrors as Br, EditTextLayerRequest as Bt, ApplyDepthBlurAsyncErrors as C, RemoveBackgroundV2Request as Ci, IccProfileDetails as Cn, MaskObjectsResponse as Cr, CropOptions as Ct, ArtboardDetails as D, RemoveBgOutputImageMediaType as Di, ImageSize as Dn, ModifyDocumentAsyncErrors as Dr, DocumentCreateLayer as Dt, ApplyDepthBlurRequest as E, RemoveBgMode as Ei, ImageModeType as En, ModifyDocumentAsyncError as Er, DepthType as Et, CanvasSize as F, ReplaceSmartObjectAsyncResponses as Fi, JobStatusFailed as Fn, OutputImageDetails as Fr, EditTextLayerAsyncData as Ft, ColorSpaceType as G, SmartObject as Gi, LayerMaskDetails as Gn, PlayPhotoshopActionsJsonAsyncErrors as Gr, FacadeJobStatusErrors as Gt, ColorBalance as H, SenseiJobStatusResponse as Hi, JobStatusSucceeded as Hn, PlayPhotoshopActionsAsyncResponses as Hr, ExposureDetails as Ht, ChannelDetails as I, ReplaceSmartObjectRequest as Ii, JobStatusLink as In, ParagraphStyleAlignmentType as Ir, EditTextLayerAsyncError as It, ConvertToActionsJsonAsyncError as J, SmartObjectOptions as Ji, LayerType as Jn, PlayPhotoshopActionsJsonRequest as Jr, FillDetails as Jt, CompressionType as K, SmartObjectDetails as Ki, LayerPosition as Kn, PlayPhotoshopActionsJsonAsyncResponse as Kr, FacadeJobStatusResponse as Kt, ChannelModeType as L, RgbColor as Li, JobStatusLinkResponse as Ln, ParagraphStyleDetails as Lr, EditTextLayerAsyncErrors as Lt, BlendModeType as M, ReplaceSmartObjectAsyncError as Mi, JobOutputDetails as Mn, Offset as Mr, DocumentOperationLayer as Mt, Bounds as N, ReplaceSmartObjectAsyncErrors as Ni, JobOutputStatus as Nn, OperationDocument as Nr, DocumentOperationOptions as Nt, AutoKernType as O, RemoveBgOutputImageOptions as Oi, InputValidationError as On, ModifyDocumentAsyncResponse as Or, DocumentCreateOptions as Ot, BrightnessContrast as P, ReplaceSmartObjectAsyncResponse as Pi, JobStatus as Pn, OrientationType as Pr, EastAsianFeatures as Pt, ConvertToActionsJsonRequest as Q, StorageType as Qi, ManifestJobDocumentDetails as Qn, PsJobStatusData as Qr, FillMaskedAreasInputImage as Qt, ChannelType as R, SelfLink as Ri, JobStatusNotStarted as Rn, PlayPhotoshopActionsAsyncData as Rr, EditTextLayerAsyncResponse as Rt, ApplyDepthBlurAsyncError as S, RemoveBackgroundResponses as Si, HueSaturation as Sn, MaskObjectsRequest as Sr, CreateRenditionRequest as St, ApplyDepthBlurAsyncResponses as T, RemoveBgInputImage as Ti, ImageFormatType as Tn, ModifyDocumentAsyncData as Tr, DepthBlurDetails as Tt, ColorDetails as U, SenseiJobStatusResponses as Ui, JobStatusSucceededResponse as Un, PlayPhotoshopActionsJsonAsyncData as Ur, FacadeJobStatusData as Ut, ClientOptions as V, SenseiJobStatusData as Vi, JobStatusRunning as Vn, PlayPhotoshopActionsAsyncResponse as Vr, ErrorDetails as Vt, ColorProfileType as W, SenseiOutputDetails as Wi, LayerDetails as Wn, PlayPhotoshopActionsJsonAsyncError as Wr, FacadeJobStatusError as Wt, ConvertToActionsJsonAsyncResponse as X, SolidColor as Xi, ManifestJobAdjustmentDetails as Xn, PsJobApiResponse as Xr, FillMaskedAreasError as Xt, ConvertToActionsJsonAsyncErrors as Y, SmartObjectOutputDetails as Yi, ManageMissingFonts as Yn, PlayPhotoshopActionsRequest as Yr, FillMaskedAreasData as Yt, ConvertToActionsJsonAsyncResponses as Z, StorageDetails as Zi, ManifestJobApiResponse as Zn, PsJobResponse as Zr, FillMaskedAreasErrors as Zt, ApplyAutoCropAsyncErrors as _, Options$1 as _a, RemoveBackgroundData as _i, GetJobStatusError as _n, MaskObjectsErrors as _r, CreateRenditionAsyncData as _t, pollPhotoshopSenseiJob as a, TextStyleType as aa, RefineMaskImageMediaType as ai, FontCaps as an, MaskBodyPartsInputMask as ar, CreateDocumentAsyncData as at, ApplyAutoCropRequest as b, createConfig as ba, RemoveBackgroundRequest as bi, GetJobStatusResponses as bn, MaskObjectsJobApiResponse as br, CreateRenditionAsyncResponse as bt, ActionJsonCreateOptions as c, Thumbnails as ca, RefineMaskOutputImage as ci, FontColorGray as cn, MaskBodyPartsOutputImage as cr, CreateDocumentAsyncResponse as ct, ActionOutputDetails as d, TrimToCanvasType as da, RefineMaskResponses as di, GetDocumentManifestAsyncData as dn, MaskBodyPartsResponses as dr, CreateMaskAsyncData as dt, TextLayerCharacterStyleDetails as ea, PsJobStatusResponses as ei, FillMaskedAreasRequest as en, MaskBodyPartsData as er, CreateArtboardAsyncError as et, AdjustmentDetails as f, UnitType as fa, RemoveBackgroundAsyncData as fi, GetDocumentManifestAsyncError as fn, MaskDetails as fr, CreateMaskAsyncError as ft, ApplyAutoCropAsyncError as g, Client as ga, RemoveBackgroundAsyncResponses as gi, GetJobStatusData as gn, MaskObjectsError as gr, CreateMaskRequest as gt, ApplyAutoCropAsyncData as h, createClient as ha, RemoveBackgroundAsyncResponse as hi, GetDocumentManifestAsyncResponses as hn, MaskObjectsData as hr, CreateMaskAsyncResponses as ht, pollPhotoshopPsdServiceJob as i, TextOptionsLayer as ia, RefineMaskErrors as ii, FocalSelector as in, MaskBodyPartsInputImage as ir, CreateArtboardRequest as it, BlendDetails as j, ReplaceSmartObjectAsyncData as ji, JobLinkResponse as jn, MoveDetails as jr, DocumentManifestRequest as jt, BasedOnType as k, RenditionLinkDetails as ki, InputValidationErrorDetail as kn, ModifyDocumentAsyncResponses as kr, DocumentDetails as kt, ActionJsonOptions as l, TrialLimitExceededError as la, RefineMaskRequest as li, FontColorLab as ln, MaskBodyPartsRequest as lr, CreateDocumentAsyncResponses as lt, AntiAliasType as m, VerticalAlignType as ma, RemoveBackgroundAsyncErrors as mi, GetDocumentManifestAsyncResponse as mn, MaskFormatType as mr, CreateMaskAsyncResponse as mt, pollPhotoshopFacadeJob as n, TextLayerParagraphStyleDetails as na, RefineMaskData as ni, FillMaskedAreasResponses as nn, MaskBodyPartsErrors as nr, CreateArtboardAsyncResponse as nt, Action as o, TextType as oa, RefineMaskInputImage as oi, FontColorCmyk as on, MaskBodyPartsJobApiResponse as or, CreateDocumentAsyncError as ot, AlignmentType as p, UrlResource as pa, RemoveBackgroundAsyncError as pi, GetDocumentManifestAsyncErrors as pn, MaskFormat as pr, CreateMaskAsyncErrors as pt, ConvertToActionsJsonAsyncData as q, SmartObjectLayer as qi, LayerReference as qn, PlayPhotoshopActionsJsonAsyncResponses as qr, FacadeJobStatusResponses as qt, pollPhotoshopMaskingV1Job as r, TextOptions as ra, RefineMaskError as ri, FillType as rn, MaskBodyPartsImageMediaType as rr, CreateArtboardAsyncResponses as rt, ActionDetails as s, ThumbnailType as sa, RefineMaskJobApiResponse as si, FontColorDetails as sn, MaskBodyPartsMaskMediaType as sr, CreateDocumentAsyncErrors as st, PhotoshopPollJobOptions as t, TextLayerDetails as ta, PsOutputDetails as ti, FillMaskedAreasResponse as tn, MaskBodyPartsError as tr, CreateArtboardAsyncErrors as tt, ActionOptions as u, Trim as ua, RefineMaskResponse as ui, FontColorRgb as un, MaskBodyPartsResponse as ur, CreateDocumentRequest as ut, ApplyAutoCropAsyncResponse as v, RequestResult as va, RemoveBackgroundError as vi, GetJobStatusErrors as vn, MaskObjectsInputImage as vr, CreateRenditionAsyncError as vt, ApplyDepthBlurAsyncResponse as w, RemoveBgColor as wi, ImageBoundingBox as wn, MaskObjectsResponses as wr, DeleteDetails as wt, ApplyDepthBlurAsyncData as x, mergeHeaders as xa, RemoveBackgroundResponse as xi, HorizontalAlignType as xn, MaskObjectsOutputImage as xr, CreateRenditionAsyncResponses as xt, ApplyAutoCropAsyncResponses as y, TDataShape as ya, RemoveBackgroundErrors as yi, GetJobStatusResponse as yn, MaskObjectsInputImageMediaType as yr, CreateRenditionAsyncErrors as yt, CharacterStyleDetails as z, SenseiColor as zi, JobStatusPollPayload as zn, PlayPhotoshopActionsAsyncError as zr, EditTextLayerAsyncResponses as zt };
3669
+ //# sourceMappingURL=index-CDtGOih8.d.cts.map