1import type * as translate from "@distilled.cloud/aws/translate";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `translate:TranslateText` — translate text between
7 * a source and a target language.
8 *
9 * Translate is a pure pay-per-call service with no resource to manage:
10 * the binding takes no arguments and grants the function
11 * `translate:TranslateText` (the action has no resource-level IAM).
12 * Language codes follow RFC 5646 (`en`, `es`, `de`, ...); pass `auto` as
13 * the source to let Translate detect the language (this additionally
14 * calls Comprehend under the hood).
15 *
16 * ### Translating Text
17 * **Example:** Translate English to Spanish
18 * ```typescript
19 * // init
20 * const translateText = yield* AWS.Translate.TranslateText();
21 *
22 * // runtime
23 * const result = yield* translateText({
24 * Text: "Hello, world!",
25 * SourceLanguageCode: "en",
26 * TargetLanguageCode: "es",
27 * });
28 * // result.TranslatedText === "¡Hola, mundo!"
29 * ```
30 *
31 * @binding
32 */
33export interface TranslateText extends Binding.Service<
34 TranslateText,
35 "AWS.Translate.TranslateText",
36 () => Effect.Effect<
37 (
38 request: translate.TranslateTextRequest,
39 ) => Effect.Effect<
40 translate.TranslateTextResponse,
41 translate.TranslateTextError
42 >
43 >
44> {}
45export const TranslateText = Binding.Service<TranslateText>(
46 "AWS.Translate.TranslateText",
47);