1import type * as rekognition from "@distilled.cloud/aws/rekognition";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `rekognition:RecognizeCelebrities` — recognize up to 64 celebrities in an image.
7 *
8 * The binding takes no arguments and grants the function
9 * `rekognition:RecognizeCelebrities` on `*` (Rekognition data-plane resources such
10 * as collections, users, and jobs are routinely created at runtime, so
11 * their identifiers are unknown at deploy time). Provide the
12 * implementation with `Effect.provide(AWS.Rekognition.RecognizeCelebritiesHttp)`.
13 *
14 * ### Image Analysis
15 * **Example:** Recognize Celebrities in a Photo
16 * ```typescript
17 * // init
18 * const recognizeCelebrities = yield* AWS.Rekognition.RecognizeCelebrities();
19 *
20 * // runtime
21 * const result = yield* recognizeCelebrities({
22 * Image: { S3Object: { Bucket: "photos", Name: "red-carpet.jpg" } },
23 * });
24 * const names = (result.CelebrityFaces ?? []).map((c) => c.Name);
25 * ```
26 *
27 * @binding
28 */
29export interface RecognizeCelebrities extends Binding.Service<
30 RecognizeCelebrities,
31 "AWS.Rekognition.RecognizeCelebrities",
32 () => Effect.Effect<
33 (
34 request: rekognition.RecognizeCelebritiesRequest,
35 ) => Effect.Effect<
36 rekognition.RecognizeCelebritiesResponse,
37 rekognition.RecognizeCelebritiesError
38 >
39 >
40> {}
41export const RecognizeCelebrities = Binding.Service<RecognizeCelebrities>(
42 "AWS.Rekognition.RecognizeCelebrities",
43);