1import type * as mediapackagev2 from "@distilled.cloud/aws/mediapackagev2";
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 `mediapackagev2:ResetChannelState`.
8 *
9 * Resets the ingest state of the bound {@link Channel} — clearing buffered
10 * content so the encoder can re-push a clean stream after a corrupted
11 * contribution (e.g. an ops Lambda recovering a broken live event). The
12 * channel's group and name are injected from the binding. Provide the
13 * implementation with
14 * `Effect.provide(AWS.MediaPackageV2.ResetChannelStateHttp)`.
15 * ### Resetting Ingest State
16 * **Example:** Reset a Channel After a Corrupted Contribution
17 * ```typescript
18 * // init — bind the operation to the channel
19 * const resetChannel = yield* AWS.MediaPackageV2.ResetChannelState(channel);
20 *
21 * // runtime
22 * const { ResetAt } = yield* resetChannel();
23 * ```
24 *
25 * @binding
26 */
27export interface ResetChannelState extends Binding.Service<
28 ResetChannelState,
29 "AWS.MediaPackageV2.ResetChannelState",
30 (
31 channel: Channel,
32 ) => Effect.Effect<
33 () => Effect.Effect<
34 mediapackagev2.ResetChannelStateResponse,
35 mediapackagev2.ResetChannelStateError
36 >
37 >
38> {}
39export const ResetChannelState = Binding.Service<ResetChannelState>(
40 "AWS.MediaPackageV2.ResetChannelState",
41);