@stacksjs/ts-cloud 0.2.3 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/aws/acm.d.ts +215 -0
  2. package/dist/aws/application-autoscaling.d.ts +345 -0
  3. package/dist/aws/bedrock.d.ts +2672 -0
  4. package/dist/aws/client.d.ts +181 -0
  5. package/dist/aws/cloudformation.d.ts +187 -0
  6. package/dist/aws/cloudfront.d.ts +416 -0
  7. package/dist/aws/cloudwatch-logs.d.ts +70 -0
  8. package/dist/aws/comprehend.d.ts +616 -0
  9. package/dist/aws/connect.d.ts +533 -0
  10. package/dist/aws/deploy-imap.d.ts +26 -0
  11. package/dist/aws/dynamodb.d.ts +270 -0
  12. package/dist/aws/ec2.d.ts +545 -0
  13. package/dist/aws/ecr.d.ts +240 -0
  14. package/dist/aws/ecs.d.ts +267 -0
  15. package/dist/aws/efs.d.ts +36 -0
  16. package/dist/aws/elasticache.d.ts +112 -0
  17. package/dist/aws/elbv2.d.ts +389 -0
  18. package/dist/aws/email.d.ts +260 -0
  19. package/dist/aws/eventbridge.d.ts +197 -0
  20. package/dist/aws/iam.d.ts +1013 -0
  21. package/dist/aws/imap-server.d.ts +298 -0
  22. package/dist/aws/index.d.ts +53 -0
  23. package/dist/aws/kendra.d.ts +831 -0
  24. package/dist/aws/lambda.d.ts +319 -0
  25. package/dist/aws/opensearch.d.ts +121 -0
  26. package/dist/aws/personalize.d.ts +586 -0
  27. package/dist/aws/polly.d.ts +243 -0
  28. package/dist/aws/rds.d.ts +346 -0
  29. package/dist/aws/rekognition.d.ts +691 -0
  30. package/dist/aws/route53-domains.d.ts +161 -0
  31. package/dist/aws/route53.d.ts +330 -0
  32. package/dist/aws/s3.d.ts +535 -0
  33. package/dist/aws/scheduler.d.ts +224 -0
  34. package/dist/aws/secrets-manager.d.ts +267 -0
  35. package/dist/aws/ses.d.ts +441 -0
  36. package/dist/aws/setup-phone.d.ts +1 -0
  37. package/dist/aws/setup-sms.d.ts +116 -0
  38. package/dist/aws/sms.d.ts +477 -0
  39. package/dist/aws/smtp-server.d.ts +108 -0
  40. package/dist/aws/sns.d.ts +224 -0
  41. package/dist/aws/sqs.d.ts +107 -0
  42. package/dist/aws/ssm.d.ts +311 -0
  43. package/dist/aws/sts.d.ts +21 -0
  44. package/dist/aws/support.d.ts +139 -0
  45. package/dist/aws/test-imap.d.ts +15 -0
  46. package/dist/aws/textract.d.ts +477 -0
  47. package/dist/aws/transcribe.d.ts +79 -0
  48. package/dist/aws/translate.d.ts +424 -0
  49. package/dist/aws/voice.d.ts +361 -0
  50. package/dist/bin/cli.js +4500 -809
  51. package/dist/config.d.ts +5 -0
  52. package/dist/deploy/index.d.ts +6 -0
  53. package/dist/deploy/static-site-external-dns.d.ts +70 -0
  54. package/dist/deploy/static-site.d.ts +110 -0
  55. package/dist/dns/cloudflare.d.ts +74 -0
  56. package/dist/dns/godaddy.d.ts +63 -0
  57. package/dist/dns/index.d.ts +67 -0
  58. package/dist/dns/porkbun.d.ts +43 -0
  59. package/dist/dns/route53-adapter.d.ts +67 -0
  60. package/dist/dns/types.d.ts +100 -0
  61. package/dist/dns/validator.d.ts +105 -0
  62. package/dist/generators/index.d.ts +4 -0
  63. package/dist/generators/infrastructure.d.ts +115 -0
  64. package/dist/index.d.ts +9 -165
  65. package/dist/index.js +24067 -6430
  66. package/dist/push/apns.d.ts +140 -0
  67. package/dist/push/fcm.d.ts +205 -0
  68. package/dist/push/index.d.ts +44 -0
  69. package/dist/security/pre-deploy-scanner.d.ts +97 -0
  70. package/dist/ssl/acme-client.d.ts +133 -0
  71. package/dist/ssl/index.d.ts +6 -0
  72. package/dist/ssl/letsencrypt.d.ts +96 -0
  73. package/dist/utils/cli.d.ts +121 -0
  74. package/dist/validation/index.d.ts +4 -0
  75. package/dist/validation/template.d.ts +27 -0
  76. package/package.json +6 -6
@@ -0,0 +1,691 @@
1
+ /**
2
+ * AWS Rekognition Client
3
+ * Image and video analysis - face detection, object detection, celebrity recognition
4
+ * No external SDK dependencies - implements AWS Signature V4 directly
5
+ */
6
+ export interface S3Object {
7
+ Bucket?: string;
8
+ Name?: string;
9
+ Version?: string;
10
+ }
11
+ export interface Image {
12
+ Bytes?: Uint8Array;
13
+ S3Object?: S3Object;
14
+ }
15
+ export interface Video {
16
+ S3Object?: S3Object;
17
+ }
18
+ export interface BoundingBox {
19
+ Width?: number;
20
+ Height?: number;
21
+ Left?: number;
22
+ Top?: number;
23
+ }
24
+ export interface Landmark {
25
+ Type?: string;
26
+ X?: number;
27
+ Y?: number;
28
+ }
29
+ export interface Pose {
30
+ Roll?: number;
31
+ Yaw?: number;
32
+ Pitch?: number;
33
+ }
34
+ export interface ImageQuality {
35
+ Brightness?: number;
36
+ Sharpness?: number;
37
+ }
38
+ export interface Emotion {
39
+ Type?: 'HAPPY' | 'SAD' | 'ANGRY' | 'CONFUSED' | 'DISGUSTED' | 'SURPRISED' | 'CALM' | 'UNKNOWN' | 'FEAR';
40
+ Confidence?: number;
41
+ }
42
+ export interface FaceDetail {
43
+ BoundingBox?: BoundingBox;
44
+ AgeRange?: {
45
+ Low?: number;
46
+ High?: number;
47
+ };
48
+ Smile?: {
49
+ Value?: boolean;
50
+ Confidence?: number;
51
+ };
52
+ Eyeglasses?: {
53
+ Value?: boolean;
54
+ Confidence?: number;
55
+ };
56
+ Sunglasses?: {
57
+ Value?: boolean;
58
+ Confidence?: number;
59
+ };
60
+ Gender?: {
61
+ Value?: 'Male' | 'Female';
62
+ Confidence?: number;
63
+ };
64
+ Beard?: {
65
+ Value?: boolean;
66
+ Confidence?: number;
67
+ };
68
+ Mustache?: {
69
+ Value?: boolean;
70
+ Confidence?: number;
71
+ };
72
+ EyesOpen?: {
73
+ Value?: boolean;
74
+ Confidence?: number;
75
+ };
76
+ MouthOpen?: {
77
+ Value?: boolean;
78
+ Confidence?: number;
79
+ };
80
+ Emotions?: Emotion[];
81
+ Landmarks?: Landmark[];
82
+ Pose?: Pose;
83
+ Quality?: ImageQuality;
84
+ Confidence?: number;
85
+ FaceOccluded?: {
86
+ Value?: boolean;
87
+ Confidence?: number;
88
+ };
89
+ EyeDirection?: {
90
+ Yaw?: number;
91
+ Pitch?: number;
92
+ Confidence?: number;
93
+ };
94
+ }
95
+ export interface DetectFacesCommandInput {
96
+ Image: Image;
97
+ Attributes?: ('DEFAULT' | 'ALL' | 'AGE_RANGE' | 'BEARD' | 'EMOTIONS' | 'EYE_DIRECTION' | 'EYEGLASSES' | 'EYES_OPEN' | 'FACE_OCCLUDED' | 'GENDER' | 'MOUTH_OPEN' | 'MUSTACHE' | 'POSE' | 'QUALITY' | 'SMILE' | 'SUNGLASSES')[];
98
+ }
99
+ export interface DetectFacesCommandOutput {
100
+ FaceDetails?: FaceDetail[];
101
+ OrientationCorrection?: 'ROTATE_0' | 'ROTATE_90' | 'ROTATE_180' | 'ROTATE_270';
102
+ }
103
+ export interface Label {
104
+ Name?: string;
105
+ Confidence?: number;
106
+ Instances?: Array<{
107
+ BoundingBox?: BoundingBox;
108
+ Confidence?: number;
109
+ DominantColors?: Array<{
110
+ Red?: number;
111
+ Green?: number;
112
+ Blue?: number;
113
+ HexCode?: string;
114
+ SimplifiedColor?: string;
115
+ CSSColor?: string;
116
+ PixelPercent?: number;
117
+ }>;
118
+ }>;
119
+ Parents?: Array<{
120
+ Name?: string;
121
+ }>;
122
+ Aliases?: Array<{
123
+ Name?: string;
124
+ }>;
125
+ Categories?: Array<{
126
+ Name?: string;
127
+ }>;
128
+ }
129
+ export interface DetectLabelsCommandInput {
130
+ Image: Image;
131
+ MaxLabels?: number;
132
+ MinConfidence?: number;
133
+ Features?: ('GENERAL_LABELS' | 'IMAGE_PROPERTIES')[];
134
+ Settings?: {
135
+ GeneralLabels?: {
136
+ LabelInclusionFilters?: string[];
137
+ LabelExclusionFilters?: string[];
138
+ LabelCategoryInclusionFilters?: string[];
139
+ LabelCategoryExclusionFilters?: string[];
140
+ };
141
+ ImageProperties?: {
142
+ MaxDominantColors?: number;
143
+ };
144
+ };
145
+ }
146
+ export interface DetectLabelsCommandOutput {
147
+ Labels?: Label[];
148
+ OrientationCorrection?: string;
149
+ LabelModelVersion?: string;
150
+ ImageProperties?: {
151
+ Quality?: {
152
+ Brightness?: number;
153
+ Sharpness?: number;
154
+ Contrast?: number;
155
+ };
156
+ DominantColors?: Array<{
157
+ Red?: number;
158
+ Green?: number;
159
+ Blue?: number;
160
+ HexCode?: string;
161
+ SimplifiedColor?: string;
162
+ CSSColor?: string;
163
+ PixelPercent?: number;
164
+ }>;
165
+ Foreground?: {
166
+ Quality?: {
167
+ Brightness?: number;
168
+ Sharpness?: number;
169
+ };
170
+ DominantColors?: Array<{
171
+ Red?: number;
172
+ Green?: number;
173
+ Blue?: number;
174
+ HexCode?: string;
175
+ CSSColor?: string;
176
+ PixelPercent?: number;
177
+ }>;
178
+ };
179
+ Background?: {
180
+ Quality?: {
181
+ Brightness?: number;
182
+ Sharpness?: number;
183
+ };
184
+ DominantColors?: Array<{
185
+ Red?: number;
186
+ Green?: number;
187
+ Blue?: number;
188
+ HexCode?: string;
189
+ CSSColor?: string;
190
+ PixelPercent?: number;
191
+ }>;
192
+ };
193
+ };
194
+ }
195
+ export interface DetectTextCommandInput {
196
+ Image: Image;
197
+ Filters?: {
198
+ WordFilter?: {
199
+ MinConfidence?: number;
200
+ MinBoundingBoxHeight?: number;
201
+ MinBoundingBoxWidth?: number;
202
+ };
203
+ RegionsOfInterest?: Array<{
204
+ BoundingBox?: BoundingBox;
205
+ Polygon?: Array<{
206
+ X?: number;
207
+ Y?: number;
208
+ }>;
209
+ }>;
210
+ };
211
+ }
212
+ export interface TextDetection {
213
+ DetectedText?: string;
214
+ Type?: 'LINE' | 'WORD';
215
+ Id?: number;
216
+ ParentId?: number;
217
+ Confidence?: number;
218
+ Geometry?: {
219
+ BoundingBox?: BoundingBox;
220
+ Polygon?: Array<{
221
+ X?: number;
222
+ Y?: number;
223
+ }>;
224
+ };
225
+ }
226
+ export interface DetectTextCommandOutput {
227
+ TextDetections?: TextDetection[];
228
+ TextModelVersion?: string;
229
+ }
230
+ export interface DetectModerationLabelsCommandInput {
231
+ Image: Image;
232
+ MinConfidence?: number;
233
+ HumanLoopConfig?: {
234
+ HumanLoopName: string;
235
+ FlowDefinitionArn: string;
236
+ DataAttributes?: {
237
+ ContentClassifiers?: ('FreeOfPersonallyIdentifiableInformation' | 'FreeOfAdultContent')[];
238
+ };
239
+ };
240
+ ProjectVersion?: string;
241
+ }
242
+ export interface ModerationLabel {
243
+ Confidence?: number;
244
+ Name?: string;
245
+ ParentName?: string;
246
+ TaxonomyLevel?: number;
247
+ }
248
+ export interface DetectModerationLabelsCommandOutput {
249
+ ModerationLabels?: ModerationLabel[];
250
+ ModerationModelVersion?: string;
251
+ HumanLoopActivationOutput?: {
252
+ HumanLoopArn?: string;
253
+ HumanLoopActivationReasons?: string[];
254
+ HumanLoopActivationConditionsEvaluationResults?: string;
255
+ };
256
+ ProjectVersion?: string;
257
+ ContentTypes?: Array<{
258
+ Confidence?: number;
259
+ Name?: string;
260
+ }>;
261
+ }
262
+ export interface Celebrity {
263
+ Urls?: string[];
264
+ Name?: string;
265
+ Id?: string;
266
+ Face?: {
267
+ BoundingBox?: BoundingBox;
268
+ Confidence?: number;
269
+ Landmarks?: Landmark[];
270
+ Pose?: Pose;
271
+ Quality?: ImageQuality;
272
+ Emotions?: Emotion[];
273
+ Smile?: {
274
+ Value?: boolean;
275
+ Confidence?: number;
276
+ };
277
+ };
278
+ MatchConfidence?: number;
279
+ KnownGender?: {
280
+ Type?: 'Male' | 'Female' | 'Nonbinary' | 'Unlisted';
281
+ };
282
+ }
283
+ export interface RecognizeCelebritiesCommandInput {
284
+ Image: Image;
285
+ }
286
+ export interface RecognizeCelebritiesCommandOutput {
287
+ CelebrityFaces?: Celebrity[];
288
+ UnrecognizedFaces?: FaceDetail[];
289
+ OrientationCorrection?: string;
290
+ }
291
+ export interface CompareFacesCommandInput {
292
+ SourceImage: Image;
293
+ TargetImage: Image;
294
+ SimilarityThreshold?: number;
295
+ QualityFilter?: 'NONE' | 'AUTO' | 'LOW' | 'MEDIUM' | 'HIGH';
296
+ }
297
+ export interface CompareFacesMatch {
298
+ Similarity?: number;
299
+ Face?: {
300
+ BoundingBox?: BoundingBox;
301
+ Confidence?: number;
302
+ Landmarks?: Landmark[];
303
+ Pose?: Pose;
304
+ Quality?: ImageQuality;
305
+ Emotions?: Emotion[];
306
+ Smile?: {
307
+ Value?: boolean;
308
+ Confidence?: number;
309
+ };
310
+ };
311
+ }
312
+ export interface CompareFacesCommandOutput {
313
+ SourceImageFace?: {
314
+ BoundingBox?: BoundingBox;
315
+ Confidence?: number;
316
+ };
317
+ FaceMatches?: CompareFacesMatch[];
318
+ UnmatchedFaces?: FaceDetail[];
319
+ SourceImageOrientationCorrection?: string;
320
+ TargetImageOrientationCorrection?: string;
321
+ }
322
+ export interface CreateCollectionCommandInput {
323
+ CollectionId: string;
324
+ Tags?: Record<string, string>;
325
+ }
326
+ export interface CreateCollectionCommandOutput {
327
+ StatusCode?: number;
328
+ CollectionArn?: string;
329
+ FaceModelVersion?: string;
330
+ }
331
+ export interface DeleteCollectionCommandInput {
332
+ CollectionId: string;
333
+ }
334
+ export interface DeleteCollectionCommandOutput {
335
+ StatusCode?: number;
336
+ }
337
+ export interface ListCollectionsCommandInput {
338
+ NextToken?: string;
339
+ MaxResults?: number;
340
+ }
341
+ export interface ListCollectionsCommandOutput {
342
+ CollectionIds?: string[];
343
+ NextToken?: string;
344
+ FaceModelVersions?: string[];
345
+ }
346
+ export interface IndexFacesCommandInput {
347
+ CollectionId: string;
348
+ Image: Image;
349
+ ExternalImageId?: string;
350
+ DetectionAttributes?: ('DEFAULT' | 'ALL')[];
351
+ MaxFaces?: number;
352
+ QualityFilter?: 'NONE' | 'AUTO' | 'LOW' | 'MEDIUM' | 'HIGH';
353
+ }
354
+ export interface FaceRecord {
355
+ Face?: {
356
+ FaceId?: string;
357
+ BoundingBox?: BoundingBox;
358
+ ImageId?: string;
359
+ ExternalImageId?: string;
360
+ Confidence?: number;
361
+ IndexFacesModelVersion?: string;
362
+ };
363
+ FaceDetail?: FaceDetail;
364
+ }
365
+ export interface IndexFacesCommandOutput {
366
+ FaceRecords?: FaceRecord[];
367
+ OrientationCorrection?: string;
368
+ FaceModelVersion?: string;
369
+ UnindexedFaces?: Array<{
370
+ Reasons?: ('EXCEEDS_MAX_FACES' | 'EXTREME_POSE' | 'LOW_BRIGHTNESS' | 'LOW_SHARPNESS' | 'LOW_CONFIDENCE' | 'SMALL_BOUNDING_BOX' | 'LOW_FACE_QUALITY')[];
371
+ FaceDetail?: FaceDetail;
372
+ }>;
373
+ }
374
+ export interface SearchFacesByImageCommandInput {
375
+ CollectionId: string;
376
+ Image: Image;
377
+ MaxFaces?: number;
378
+ FaceMatchThreshold?: number;
379
+ QualityFilter?: 'NONE' | 'AUTO' | 'LOW' | 'MEDIUM' | 'HIGH';
380
+ }
381
+ export interface FaceMatch {
382
+ Similarity?: number;
383
+ Face?: {
384
+ FaceId?: string;
385
+ BoundingBox?: BoundingBox;
386
+ ImageId?: string;
387
+ ExternalImageId?: string;
388
+ Confidence?: number;
389
+ IndexFacesModelVersion?: string;
390
+ };
391
+ }
392
+ export interface SearchFacesByImageCommandOutput {
393
+ SearchedFaceBoundingBox?: BoundingBox;
394
+ SearchedFaceConfidence?: number;
395
+ FaceMatches?: FaceMatch[];
396
+ FaceModelVersion?: string;
397
+ }
398
+ export interface SearchFacesCommandInput {
399
+ CollectionId: string;
400
+ FaceId: string;
401
+ MaxFaces?: number;
402
+ FaceMatchThreshold?: number;
403
+ }
404
+ export interface SearchFacesCommandOutput {
405
+ SearchedFaceId?: string;
406
+ FaceMatches?: FaceMatch[];
407
+ FaceModelVersion?: string;
408
+ }
409
+ export interface StartLabelDetectionCommandInput {
410
+ Video: Video;
411
+ ClientRequestToken?: string;
412
+ MinConfidence?: number;
413
+ NotificationChannel?: {
414
+ SNSTopicArn: string;
415
+ RoleArn: string;
416
+ };
417
+ JobTag?: string;
418
+ Features?: ('GENERAL_LABELS' | 'IMAGE_PROPERTIES')[];
419
+ Settings?: {
420
+ GeneralLabels?: {
421
+ LabelInclusionFilters?: string[];
422
+ LabelExclusionFilters?: string[];
423
+ LabelCategoryInclusionFilters?: string[];
424
+ LabelCategoryExclusionFilters?: string[];
425
+ };
426
+ };
427
+ }
428
+ export interface StartLabelDetectionCommandOutput {
429
+ JobId?: string;
430
+ }
431
+ export interface GetLabelDetectionCommandInput {
432
+ JobId: string;
433
+ MaxResults?: number;
434
+ NextToken?: string;
435
+ SortBy?: 'NAME' | 'TIMESTAMP';
436
+ AggregateBy?: 'TIMESTAMPS' | 'SEGMENTS';
437
+ }
438
+ export interface LabelDetection {
439
+ Timestamp?: number;
440
+ Label?: Label;
441
+ StartTimestampMillis?: number;
442
+ EndTimestampMillis?: number;
443
+ DurationMillis?: number;
444
+ }
445
+ export interface GetLabelDetectionCommandOutput {
446
+ JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED';
447
+ StatusMessage?: string;
448
+ VideoMetadata?: {
449
+ Codec?: string;
450
+ DurationMillis?: number;
451
+ Format?: string;
452
+ FrameRate?: number;
453
+ FrameHeight?: number;
454
+ FrameWidth?: number;
455
+ ColorRange?: string;
456
+ };
457
+ NextToken?: string;
458
+ Labels?: LabelDetection[];
459
+ LabelModelVersion?: string;
460
+ JobId?: string;
461
+ Video?: {
462
+ S3Object?: S3Object;
463
+ };
464
+ JobTag?: string;
465
+ GetRequestMetadata?: {
466
+ SortBy?: string;
467
+ AggregateBy?: string;
468
+ };
469
+ }
470
+ export interface StartFaceDetectionCommandInput {
471
+ Video: Video;
472
+ ClientRequestToken?: string;
473
+ NotificationChannel?: {
474
+ SNSTopicArn: string;
475
+ RoleArn: string;
476
+ };
477
+ FaceAttributes?: 'DEFAULT' | 'ALL';
478
+ JobTag?: string;
479
+ }
480
+ export interface StartFaceDetectionCommandOutput {
481
+ JobId?: string;
482
+ }
483
+ export interface GetFaceDetectionCommandInput {
484
+ JobId: string;
485
+ MaxResults?: number;
486
+ NextToken?: string;
487
+ }
488
+ export interface FaceDetection {
489
+ Timestamp?: number;
490
+ Face?: FaceDetail;
491
+ }
492
+ export interface GetFaceDetectionCommandOutput {
493
+ JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED';
494
+ StatusMessage?: string;
495
+ VideoMetadata?: {
496
+ Codec?: string;
497
+ DurationMillis?: number;
498
+ Format?: string;
499
+ FrameRate?: number;
500
+ FrameHeight?: number;
501
+ FrameWidth?: number;
502
+ };
503
+ NextToken?: string;
504
+ Faces?: FaceDetection[];
505
+ JobId?: string;
506
+ Video?: {
507
+ S3Object?: S3Object;
508
+ };
509
+ JobTag?: string;
510
+ }
511
+ export interface StartContentModerationCommandInput {
512
+ Video: Video;
513
+ MinConfidence?: number;
514
+ ClientRequestToken?: string;
515
+ NotificationChannel?: {
516
+ SNSTopicArn: string;
517
+ RoleArn: string;
518
+ };
519
+ JobTag?: string;
520
+ }
521
+ export interface StartContentModerationCommandOutput {
522
+ JobId?: string;
523
+ }
524
+ export interface GetContentModerationCommandInput {
525
+ JobId: string;
526
+ MaxResults?: number;
527
+ NextToken?: string;
528
+ SortBy?: 'NAME' | 'TIMESTAMP';
529
+ AggregateBy?: 'TIMESTAMPS' | 'SEGMENTS';
530
+ }
531
+ export interface ContentModerationDetection {
532
+ Timestamp?: number;
533
+ ModerationLabel?: ModerationLabel;
534
+ StartTimestampMillis?: number;
535
+ EndTimestampMillis?: number;
536
+ DurationMillis?: number;
537
+ ContentTypes?: Array<{
538
+ Confidence?: number;
539
+ Name?: string;
540
+ }>;
541
+ }
542
+ export interface GetContentModerationCommandOutput {
543
+ JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED';
544
+ StatusMessage?: string;
545
+ VideoMetadata?: {
546
+ Codec?: string;
547
+ DurationMillis?: number;
548
+ Format?: string;
549
+ FrameRate?: number;
550
+ FrameHeight?: number;
551
+ FrameWidth?: number;
552
+ };
553
+ ModerationLabels?: ContentModerationDetection[];
554
+ NextToken?: string;
555
+ ModerationModelVersion?: string;
556
+ JobId?: string;
557
+ Video?: {
558
+ S3Object?: S3Object;
559
+ };
560
+ JobTag?: string;
561
+ GetRequestMetadata?: {
562
+ SortBy?: string;
563
+ AggregateBy?: string;
564
+ };
565
+ }
566
+ export declare class RekognitionClient {
567
+ private client;
568
+ private region;
569
+ constructor(region?: string);
570
+ private request;
571
+ /**
572
+ * Detect faces in an image
573
+ */
574
+ detectFaces(params: DetectFacesCommandInput): Promise<DetectFacesCommandOutput>;
575
+ /**
576
+ * Detect labels (objects, scenes, concepts) in an image
577
+ */
578
+ detectLabels(params: DetectLabelsCommandInput): Promise<DetectLabelsCommandOutput>;
579
+ /**
580
+ * Detect text in an image
581
+ */
582
+ detectText(params: DetectTextCommandInput): Promise<DetectTextCommandOutput>;
583
+ /**
584
+ * Detect moderation labels (unsafe content)
585
+ */
586
+ detectModerationLabels(params: DetectModerationLabelsCommandInput): Promise<DetectModerationLabelsCommandOutput>;
587
+ /**
588
+ * Recognize celebrities in an image
589
+ */
590
+ recognizeCelebrities(params: RecognizeCelebritiesCommandInput): Promise<RecognizeCelebritiesCommandOutput>;
591
+ /**
592
+ * Compare faces between source and target images
593
+ */
594
+ compareFaces(params: CompareFacesCommandInput): Promise<CompareFacesCommandOutput>;
595
+ /**
596
+ * Create a face collection
597
+ */
598
+ createCollection(params: CreateCollectionCommandInput): Promise<CreateCollectionCommandOutput>;
599
+ /**
600
+ * Delete a face collection
601
+ */
602
+ deleteCollection(params: DeleteCollectionCommandInput): Promise<DeleteCollectionCommandOutput>;
603
+ /**
604
+ * List face collections
605
+ */
606
+ listCollections(params?: ListCollectionsCommandInput): Promise<ListCollectionsCommandOutput>;
607
+ /**
608
+ * Index faces from an image into a collection
609
+ */
610
+ indexFaces(params: IndexFacesCommandInput): Promise<IndexFacesCommandOutput>;
611
+ /**
612
+ * Search for faces in a collection using an image
613
+ */
614
+ searchFacesByImage(params: SearchFacesByImageCommandInput): Promise<SearchFacesByImageCommandOutput>;
615
+ /**
616
+ * Search for faces in a collection using a face ID
617
+ */
618
+ searchFaces(params: SearchFacesCommandInput): Promise<SearchFacesCommandOutput>;
619
+ /**
620
+ * Start async label detection on video
621
+ */
622
+ startLabelDetection(params: StartLabelDetectionCommandInput): Promise<StartLabelDetectionCommandOutput>;
623
+ /**
624
+ * Get results of label detection job
625
+ */
626
+ getLabelDetection(params: GetLabelDetectionCommandInput): Promise<GetLabelDetectionCommandOutput>;
627
+ /**
628
+ * Start async face detection on video
629
+ */
630
+ startFaceDetection(params: StartFaceDetectionCommandInput): Promise<StartFaceDetectionCommandOutput>;
631
+ /**
632
+ * Get results of face detection job
633
+ */
634
+ getFaceDetection(params: GetFaceDetectionCommandInput): Promise<GetFaceDetectionCommandOutput>;
635
+ /**
636
+ * Start async content moderation on video
637
+ */
638
+ startContentModeration(params: StartContentModerationCommandInput): Promise<StartContentModerationCommandOutput>;
639
+ /**
640
+ * Get results of content moderation job
641
+ */
642
+ getContentModeration(params: GetContentModerationCommandInput): Promise<GetContentModerationCommandOutput>;
643
+ /**
644
+ * Analyze an image from S3 and get all labels
645
+ */
646
+ analyzeS3Image(bucket: string, key: string, options?: {
647
+ maxLabels?: number;
648
+ minConfidence?: number;
649
+ }): Promise<Label[]>;
650
+ /**
651
+ * Analyze image bytes and get all labels
652
+ */
653
+ analyzeImageBytes(bytes: Uint8Array, options?: {
654
+ maxLabels?: number;
655
+ minConfidence?: number;
656
+ }): Promise<Label[]>;
657
+ /**
658
+ * Check if image is safe (no moderation labels above threshold)
659
+ */
660
+ isImageSafe(image: Image, threshold?: number): Promise<boolean>;
661
+ /**
662
+ * Count faces in an image
663
+ */
664
+ countFaces(image: Image): Promise<number>;
665
+ /**
666
+ * Extract text from an image
667
+ */
668
+ extractText(image: Image): Promise<string[]>;
669
+ /**
670
+ * Find matching face in collection
671
+ */
672
+ findFace(collectionId: string, image: Image, threshold?: number): Promise<FaceMatch | null>;
673
+ }
674
+ /**
675
+ * Quick image label detection from S3
676
+ */
677
+ export declare function detectLabelsFromS3(bucket: string, key: string, options?: {
678
+ region?: string;
679
+ maxLabels?: number;
680
+ }): Promise<string[]>;
681
+ /**
682
+ * Quick face count from S3 image
683
+ */
684
+ export declare function countFacesInS3Image(bucket: string, key: string, region?: string): Promise<number>;
685
+ /**
686
+ * Quick content moderation check
687
+ */
688
+ export declare function isContentSafe(bucket: string, key: string, options?: {
689
+ region?: string;
690
+ threshold?: number;
691
+ }): Promise<boolean>;