1import type * as mm from "@distilled.cloud/aws/mailmanager";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { AddressList } from "./AddressList.ts";
5
6/**
7 * Runtime binding for `ses:DeregisterMemberFromAddressList`.
8 *
9 * Removes an email address from the bound address list. The address
10 * list id is injected from the binding. Provide the implementation with
11 * `Effect.provide(AWS.MailManager.DeregisterMemberFromAddressListHttp)`.
12 * ### Managing Address List Members
13 * **Example:** Unblock a Sender
14 * ```typescript
15 * const deregisterMember = yield* MailManager.DeregisterMemberFromAddressList(blockList);
16 *
17 * // runtime
18 * yield* deregisterMember({ Address: "reformed@example.com" });
19 * ```
20 *
21 * @binding
22 */
23export interface DeregisterMemberFromAddressList extends Binding.Service<
24 DeregisterMemberFromAddressList,
25 "AWS.MailManager.DeregisterMemberFromAddressList",
26 (
27 list: AddressList,
28 ) => Effect.Effect<
29 (
30 request: Omit<mm.DeregisterMemberFromAddressListRequest, "AddressListId">,
31 ) => Effect.Effect<
32 mm.DeregisterMemberFromAddressListResponse,
33 mm.DeregisterMemberFromAddressListError
34 >
35 >
36> {}
37export const DeregisterMemberFromAddressList =
38 Binding.Service<DeregisterMemberFromAddressList>(
39 "AWS.MailManager.DeregisterMemberFromAddressList",
40 );