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:ListSpeechSynthesisTasks` — list asynchronous
7 * synthesis tasks ordered by creation date, optionally filtered by status.
8 *
9 * The binding takes no arguments and grants the function
10 * `polly:ListSpeechSynthesisTasks`. Provide the implementation with
11 * `Effect.provide(AWS.Polly.ListSpeechSynthesisTasksHttp)`.
12 *
13 * ### Asynchronous Synthesis
14 * **Example:** List recently completed tasks
15 * ```typescript
16 * // init
17 * const listSpeechSynthesisTasks = yield* AWS.Polly.ListSpeechSynthesisTasks();
18 *
19 * // runtime
20 * const result = yield* listSpeechSynthesisTasks({
21 * Status: "completed",
22 * MaxResults: 10,
23 * });
24 * const taskIds = (result.SynthesisTasks ?? []).map((task) => task.TaskId);
25 * ```
26 *
27 * @binding
28 */
29export interface ListSpeechSynthesisTasks extends Binding.Service<
30 ListSpeechSynthesisTasks,
31 "AWS.Polly.ListSpeechSynthesisTasks",
32 () => Effect.Effect<
33 (
34 request?: polly.ListSpeechSynthesisTasksInput,
35 ) => Effect.Effect<
36 polly.ListSpeechSynthesisTasksOutput,
37 polly.ListSpeechSynthesisTasksError
38 >
39 >
40> {}
41export const ListSpeechSynthesisTasks =
42 Binding.Service<ListSpeechSynthesisTasks>(
43 "AWS.Polly.ListSpeechSynthesisTasks",
44 );