1import type * as medialive from "@distilled.cloud/aws/medialive";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Channel } from "./Channel.ts";
5
6/**
7 * Runtime binding for `medialive:DeleteSchedule`.
8 *
9 * Clears every scheduled action from the bound {@link Channel}'s schedule
10 * in one call — the reset lever a playout-automation Lambda pulls before
11 * programming a fresh broadcast rundown with {@link BatchUpdateSchedule}.
12 * The channel id is injected from the binding. Provide the implementation
13 * with `Effect.provide(AWS.MediaLive.DeleteScheduleHttp)`.
14 * ### Driving the Channel Schedule
15 * **Example:** Reset the Channel's Schedule
16 * ```typescript
17 * // init — bind the operation to the channel
18 * const deleteSchedule = yield* AWS.MediaLive.DeleteSchedule(channel);
19 *
20 * // runtime
21 * yield* deleteSchedule();
22 * ```
23 *
24 * @binding
25 */
26export interface DeleteSchedule extends Binding.Service<
27 DeleteSchedule,
28 "AWS.MediaLive.DeleteSchedule",
29 (
30 channel: Channel,
31 ) => Effect.Effect<
32 () => Effect.Effect<
33 medialive.DeleteScheduleResponse,
34 medialive.DeleteScheduleError
35 >
36 >
37> {}
38export const DeleteSchedule = Binding.Service<DeleteSchedule>(
39 "AWS.MediaLive.DeleteSchedule",
40);