1import type * as sesv2 from "@distilled.cloud/aws/sesv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `sesv2:DeleteSuppressedDestination`.
7 *
8 * Removes an email address from the account-level suppression list — e.g.
9 * after a recipient re-subscribes or a bounce is resolved. Fails with the
10 * typed `NotFoundException` tag when the address is not on the list.
11 * Account-level operation. Provide the implementation with
12 * `Effect.provide(AWS.SES.DeleteSuppressedDestinationHttp)`.
13 * ### Suppression List
14 * **Example:** Unsuppress an Address
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const unsuppress = yield* SES.DeleteSuppressedDestination();
18 *
19 * // runtime
20 * yield* unsuppress({ EmailAddress: "resubscribed@example.com" }).pipe(
21 * Effect.catchTag("NotFoundException", () => Effect.void),
22 * );
23 * ```
24 *
25 * @binding
26 */
27export interface DeleteSuppressedDestination extends Binding.Service<
28 DeleteSuppressedDestination,
29 "AWS.SES.DeleteSuppressedDestination",
30 () => Effect.Effect<
31 (
32 request: sesv2.DeleteSuppressedDestinationRequest,
33 ) => Effect.Effect<
34 sesv2.DeleteSuppressedDestinationResponse,
35 sesv2.DeleteSuppressedDestinationError
36 >
37 >
38> {}
39export const DeleteSuppressedDestination =
40 Binding.Service<DeleteSuppressedDestination>(
41 "AWS.SES.DeleteSuppressedDestination",
42 );