1import type * as smsvoice from "@distilled.cloud/aws/pinpoint-sms-voice-v2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { PhoneNumber } from "./PhoneNumber.ts";
5
6/**
7 * The `OriginationIdentity` is injected by the binding from the bound
8 * phone number; the caller supplies the keyword to remove.
9 */
10export interface DeleteKeywordRequest extends Omit<
11 smsvoice.DeleteKeywordRequest,
12 "OriginationIdentity"
13> {}
14
15/**
16 * Runtime binding for `sms-voice:DeleteKeyword`.
17 *
18 * Deletes a keyword from the bound origination phone number. Keywords
19 * `HELP` and `STOP` cannot be deleted (they are carrier-mandated). The
20 * deploy-time half grants `sms-voice:DeleteKeyword` on the number.
21 * Provide the implementation with
22 * `Effect.provide(AWS.PinpointSMSVoiceV2.DeleteKeywordHttp)`.
23 * ### Managing Keywords
24 * **Example:** Remove a Keyword
25 * ```typescript
26 * // init
27 * const deleteKeyword = yield* AWS.PinpointSMSVoiceV2.DeleteKeyword(number);
28 *
29 * // runtime
30 * yield* deleteKeyword({ Keyword: "INFO" });
31 * ```
32 *
33 * @binding
34 */
35export interface DeleteKeyword extends Binding.Service<
36 DeleteKeyword,
37 "AWS.PinpointSMSVoiceV2.DeleteKeyword",
38 (
39 phoneNumber: PhoneNumber,
40 ) => Effect.Effect<
41 (
42 request: DeleteKeywordRequest,
43 ) => Effect.Effect<
44 smsvoice.DeleteKeywordResult,
45 smsvoice.DeleteKeywordError
46 >
47 >
48> {}
49export const DeleteKeyword = Binding.Service<DeleteKeyword>(
50 "AWS.PinpointSMSVoiceV2.DeleteKeyword",
51);