import type * as ivs from "@distilled.cloud/aws/ivs"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Channel } from "./Channel.ts"; export interface StartViewerSessionRevocationRequest extends Omit { } /** * Runtime binding for `ivs:StartViewerSessionRevocation`. * * Starts revoking the viewer session for a given viewer ID on the bound * {@link Channel} — used with private channels to eject a viewer whose * playback authorization token carries that `viewerId`. Optionally revoke * every session at or below a token version. The channel ARN is injected * from the binding. Provide the implementation with * `Effect.provide(AWS.IVS.StartViewerSessionRevocationHttp)`. * ### Revoking Viewer Sessions * **Example:** Eject a Banned Viewer * ```typescript * // init — bind the operation to the channel * const revokeViewerSession = yield* AWS.IVS.StartViewerSessionRevocation(channel); * * // runtime * yield* revokeViewerSession({ viewerId: "user-123" }); * ``` * * @binding */ export interface StartViewerSessionRevocation extends Binding.Service Effect.Effect<(request: StartViewerSessionRevocationRequest) => Effect.Effect>> { } export declare const StartViewerSessionRevocation: StartViewerSessionRevocation; //# sourceMappingURL=StartViewerSessionRevocation.d.ts.map