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:DeleteMembers`.
8 *
9 * Removes member accounts from the behavior graph — the off-boarding
10 * counterpart to `CreateMembers` when an account leaves the fleet. The graph
11 * ARN is injected from the bound {@link Graph}.
12 * Provide the implementation with
13 * `Effect.provide(AWS.Detective.DeleteMembersHttp)`.
14 * ### Administering Member Accounts
15 * **Example:** Remove A Member Account
16 * ```typescript
17 * // init
18 * const deleteMembers = yield* AWS.Detective.DeleteMembers(graph);
19 *
20 * // runtime
21 * yield* deleteMembers({ AccountIds: ["111122223333"] });
22 * ```
23 *
24 * @binding
25 */
26export interface DeleteMembers extends Binding.Service<
27 DeleteMembers,
28 "AWS.Detective.DeleteMembers",
29 (
30 graph: Graph,
31 ) => Effect.Effect<
32 (
33 request: Omit<detective.DeleteMembersRequest, "GraphArn">,
34 ) => Effect.Effect<
35 detective.DeleteMembersResponse,
36 detective.DeleteMembersError
37 >
38 >
39> {}
40export const DeleteMembers = Binding.Service<DeleteMembers>(
41 "AWS.Detective.DeleteMembers",
42);