1import type * as detective from "@distilled.cloud/aws/detective";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Graph } from "./Graph.ts";
5
6/**
7 * Runtime binding for `detective:ListMembers`.
8 *
9 * Lists the behavior graph's member accounts — invited and enabled alike —
10 * so an admin-account function can audit coverage of the security fleet.
11 * The graph ARN is injected from the bound {@link Graph}.
12 * Provide the implementation with
13 * `Effect.provide(AWS.Detective.ListMembersHttp)`.
14 * ### Administering Member Accounts
15 * **Example:** List Member Accounts
16 * ```typescript
17 * // init
18 * const listMembers = yield* AWS.Detective.ListMembers(graph);
19 *
20 * // runtime
21 * const { MemberDetails } = yield* listMembers();
22 * ```
23 *
24 * @binding
25 */
26export interface ListMembers extends Binding.Service<
27 ListMembers,
28 "AWS.Detective.ListMembers",
29 (
30 graph: Graph,
31 ) => Effect.Effect<
32 (
33 request?: Omit<detective.ListMembersRequest, "GraphArn">,
34 ) => Effect.Effect<
35 detective.ListMembersResponse,
36 detective.ListMembersError
37 >
38 >
39> {}
40export const ListMembers = Binding.Service<ListMembers>(
41 "AWS.Detective.ListMembers",
42);