1import * as sns from "@distilled.cloud/aws/sns";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface OptInPhoneNumberRequest extends sns.OptInPhoneNumberInput {}
6
7/**
8 * Runtime binding for `sns:OptInPhoneNumber`.
9 *
10 * An account-scoped operation — opts a previously opted-out phone number
11 * back in to SMS delivery (allowed once every 30 days per number).
12 * Provide the `OptInPhoneNumberHttp` layer on the Function to implement the binding.
13 * ### SMS Opt-Out Management
14 * **Example:** Opt a Number Back In
15 * ```typescript
16 * const optIn = yield* SNS.OptInPhoneNumber();
17 * yield* optIn({ phoneNumber: "+15555550123" });
18 * ```
19 *
20 * @binding
21 */
22export interface OptInPhoneNumber extends Binding.Service<
23 OptInPhoneNumber,
24 "AWS.SNS.OptInPhoneNumber",
25 () => Effect.Effect<
26 (
27 request: OptInPhoneNumberRequest,
28 ) => Effect.Effect<sns.OptInPhoneNumberResponse, sns.OptInPhoneNumberError>
29 >
30> {}
31
32export const OptInPhoneNumber = Binding.Service<OptInPhoneNumber>(
33 "AWS.SNS.OptInPhoneNumber",
34);