1import type * as ivsrealtime from "@distilled.cloud/aws/ivs-realtime";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * List the account's compositions in the current region, optionally
7 * filtered by stage or encoder configuration.
8 *
9 * ### Compositing a Stage
10 * **Example:** List running compositions
11 * ```typescript
12 * // init
13 * const listCompositions = yield* IVSRealtime.ListCompositions();
14 *
15 * // runtime
16 * const { compositions } = yield* listCompositions();
17 * ```
18 *
19 * @binding
20 */
21export interface ListCompositions extends Binding.Service<
22 ListCompositions,
23 "AWS.IVSRealtime.ListCompositions",
24 () => Effect.Effect<
25 (
26 request?: ivsrealtime.ListCompositionsRequest,
27 ) => Effect.Effect<
28 ivsrealtime.ListCompositionsResponse,
29 ivsrealtime.ListCompositionsError
30 >
31 >
32> {}
33export const ListCompositions = Binding.Service<ListCompositions>(
34 "AWS.IVSRealtime.ListCompositions",
35);