import type * as polly from "@distilled.cloud/aws/polly"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; /** * Runtime binding for `polly:GetSpeechSynthesisTask` — retrieve the status * (and output S3 URI) of an asynchronous synthesis task by its TaskId. * * The binding takes no arguments and grants the function * `polly:GetSpeechSynthesisTask`. Provide the implementation with * `Effect.provide(AWS.Polly.GetSpeechSynthesisTaskHttp)`. * * ### Asynchronous Synthesis * **Example:** Poll a synthesis task until it completes * ```typescript * // init * const getSpeechSynthesisTask = yield* AWS.Polly.GetSpeechSynthesisTask(); * * // runtime — bounded poll until the task leaves the queue * const task = yield* getSpeechSynthesisTask({ TaskId: taskId }).pipe( * Effect.repeat({ * schedule: Schedule.spaced("2 seconds"), * until: (r): boolean => * r.SynthesisTask?.TaskStatus === "completed" || * r.SynthesisTask?.TaskStatus === "failed", * times: 25, * }), * ); * ``` * * @binding */ export interface GetSpeechSynthesisTask extends Binding.Service Effect.Effect<(request: polly.GetSpeechSynthesisTaskInput) => Effect.Effect>> { } export declare const GetSpeechSynthesisTask: GetSpeechSynthesisTask; //# sourceMappingURL=GetSpeechSynthesisTask.d.ts.map