1import type * as polly from "@distilled.cloud/aws/polly";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `polly:ListLexicons` — list the pronunciation
7 * lexicons stored in the region (name plus attributes; use the names as
8 * `LexiconNames` in synthesis requests).
9 *
10 * The binding takes no arguments and grants the function
11 * `polly:ListLexicons`. Provide the implementation with
12 * `Effect.provide(AWS.Polly.ListLexiconsHttp)`.
13 *
14 * ### Managing Lexicons
15 * **Example:** List the region's lexicons
16 * ```typescript
17 * // init
18 * const listLexicons = yield* AWS.Polly.ListLexicons();
19 *
20 * // runtime
21 * const result = yield* listLexicons();
22 * const names = (result.Lexicons ?? []).map((lexicon) => lexicon.Name);
23 * ```
24 *
25 * @binding
26 */
27export interface ListLexicons extends Binding.Service<
28 ListLexicons,
29 "AWS.Polly.ListLexicons",
30 () => Effect.Effect<
31 (
32 request?: polly.ListLexiconsInput,
33 ) => Effect.Effect<polly.ListLexiconsOutput, polly.ListLexiconsError>
34 >
35> {}
36export const ListLexicons = Binding.Service<ListLexicons>(
37 "AWS.Polly.ListLexicons",
38);