1import type * as comprehend from "@distilled.cloud/aws/comprehend";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `comprehend:DetectPiiEntities` — locate personally
7 * identifiable information (names, addresses, bank account numbers, …) in
8 * the input text, with entity type, score, and character offsets.
9 *
10 * The binding takes no arguments and grants the action on `*` (the action
11 * has no resource-level IAM). To only test *whether* a document contains
12 * PII, use the cheaper {@link ContainsPiiEntities}.
13 *
14 * ### Real-Time Analysis
15 * **Example:** Locate PII in a Document
16 * ```typescript
17 * // init
18 * const detectPiiEntities = yield* AWS.Comprehend.DetectPiiEntities();
19 *
20 * // runtime
21 * const result = yield* detectPiiEntities({
22 * Text: "My name is Jane Doe and my email is jane@example.com.",
23 * LanguageCode: "en",
24 * });
25 * // result.Entities: [{ Type: "NAME", BeginOffset: 11, … }, { Type: "EMAIL", … }]
26 * ```
27 *
28 * @binding
29 */
30export interface DetectPiiEntities extends Binding.Service<
31 DetectPiiEntities,
32 "AWS.Comprehend.DetectPiiEntities",
33 () => Effect.Effect<
34 (
35 request: comprehend.DetectPiiEntitiesRequest,
36 ) => Effect.Effect<
37 comprehend.DetectPiiEntitiesResponse,
38 comprehend.DetectPiiEntitiesError
39 >
40 >
41> {}
42export const DetectPiiEntities = Binding.Service<DetectPiiEntities>(
43 "AWS.Comprehend.DetectPiiEntities",
44);