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:DeleteCollection` — delete a face collection and all faces stored in it.
7 *
8 * The binding takes no arguments and grants the function
9 * `rekognition:DeleteCollection` 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.DeleteCollectionHttp)`.
13 *
14 * ### Face Collections
15 * **Example:** Delete a Tenant Collection
16 * ```typescript
17 * // init
18 * const deleteCollection = yield* AWS.Rekognition.DeleteCollection();
19 *
20 * // runtime
21 * yield* deleteCollection({ CollectionId: `tenant-${tenantId}` }).pipe(
22 * Effect.catchTag("ResourceNotFoundException", () => Effect.void),
23 * );
24 * ```
25 *
26 * @binding
27 */
28export interface DeleteCollection extends Binding.Service<
29 DeleteCollection,
30 "AWS.Rekognition.DeleteCollection",
31 () => Effect.Effect<
32 (
33 request: rekognition.DeleteCollectionRequest,
34 ) => Effect.Effect<
35 rekognition.DeleteCollectionResponse,
36 rekognition.DeleteCollectionError
37 >
38 >
39> {}
40export const DeleteCollection = Binding.Service<DeleteCollection>(
41 "AWS.Rekognition.DeleteCollection",
42);