prelude-sdk 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +9 -9
  4. data/lib/prelude_sdk/client.rb +4 -0
  5. data/lib/prelude_sdk/models/notify_get_subscription_config_params.rb +14 -0
  6. data/lib/prelude_sdk/models/notify_get_subscription_config_response.rb +120 -0
  7. data/lib/prelude_sdk/models/notify_get_subscription_phone_number_params.rb +20 -0
  8. data/lib/prelude_sdk/models/notify_get_subscription_phone_number_response.rb +104 -0
  9. data/lib/prelude_sdk/models/notify_list_subscription_configs_params.rb +30 -0
  10. data/lib/prelude_sdk/models/notify_list_subscription_configs_response.rb +144 -0
  11. data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rb +37 -0
  12. data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rb +132 -0
  13. data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rb +49 -0
  14. data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rb +132 -0
  15. data/lib/prelude_sdk/models/notify_send_batch_params.rb +110 -0
  16. data/lib/prelude_sdk/models/notify_send_batch_response.rb +201 -0
  17. data/lib/prelude_sdk/models/notify_send_params.rb +118 -0
  18. data/lib/prelude_sdk/models/notify_send_response.rb +94 -0
  19. data/lib/prelude_sdk/models.rb +15 -0
  20. data/lib/prelude_sdk/resources/notify.rb +247 -0
  21. data/lib/prelude_sdk/version.rb +1 -1
  22. data/lib/prelude_sdk.rb +16 -0
  23. data/manifest.yaml +1 -0
  24. data/rbi/prelude_sdk/client.rbi +3 -0
  25. data/rbi/prelude_sdk/models/notify_get_subscription_config_params.rbi +30 -0
  26. data/rbi/prelude_sdk/models/notify_get_subscription_config_response.rbi +224 -0
  27. data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_params.rbi +38 -0
  28. data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_response.rbi +199 -0
  29. data/rbi/prelude_sdk/models/notify_list_subscription_configs_params.rbi +60 -0
  30. data/rbi/prelude_sdk/models/notify_list_subscription_configs_response.rbi +286 -0
  31. data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbi +66 -0
  32. data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbi +259 -0
  33. data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbi +119 -0
  34. data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbi +259 -0
  35. data/rbi/prelude_sdk/models/notify_send_batch_params.rbi +191 -0
  36. data/rbi/prelude_sdk/models/notify_send_batch_response.rbi +360 -0
  37. data/rbi/prelude_sdk/models/notify_send_params.rbi +201 -0
  38. data/rbi/prelude_sdk/models/notify_send_response.rbi +128 -0
  39. data/rbi/prelude_sdk/models.rbi +19 -0
  40. data/rbi/prelude_sdk/resources/notify.rbi +218 -0
  41. data/sig/prelude_sdk/client.rbs +2 -0
  42. data/sig/prelude_sdk/models/notify_get_subscription_config_params.rbs +15 -0
  43. data/sig/prelude_sdk/models/notify_get_subscription_config_response.rbs +95 -0
  44. data/sig/prelude_sdk/models/notify_get_subscription_phone_number_params.rbs +23 -0
  45. data/sig/prelude_sdk/models/notify_get_subscription_phone_number_response.rbs +71 -0
  46. data/sig/prelude_sdk/models/notify_list_subscription_configs_params.rbs +32 -0
  47. data/sig/prelude_sdk/models/notify_list_subscription_configs_response.rbs +119 -0
  48. data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbs +36 -0
  49. data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbs +95 -0
  50. data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbs +55 -0
  51. data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbs +95 -0
  52. data/sig/prelude_sdk/models/notify_send_batch_params.rbs +100 -0
  53. data/sig/prelude_sdk/models/notify_send_batch_response.rbs +187 -0
  54. data/sig/prelude_sdk/models/notify_send_params.rbs +100 -0
  55. data/sig/prelude_sdk/models/notify_send_response.rbs +73 -0
  56. data/sig/prelude_sdk/models.rbs +14 -0
  57. data/sig/prelude_sdk/resources/notify.rbs +68 -0
  58. metadata +47 -2
@@ -0,0 +1,119 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class NotifyListSubscriptionPhoneNumbersParams < PreludeSDK::Internal::Type::BaseModel
6
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
7
+ include PreludeSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams,
13
+ PreludeSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Pagination cursor from the previous response
18
+ sig { returns(T.nilable(String)) }
19
+ attr_reader :cursor
20
+
21
+ sig { params(cursor: String).void }
22
+ attr_writer :cursor
23
+
24
+ # Maximum number of phone numbers to return per page
25
+ sig { returns(T.nilable(Integer)) }
26
+ attr_reader :limit
27
+
28
+ sig { params(limit: Integer).void }
29
+ attr_writer :limit
30
+
31
+ # Filter by subscription state
32
+ sig do
33
+ returns(
34
+ T.nilable(
35
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol
36
+ )
37
+ )
38
+ end
39
+ attr_reader :state
40
+
41
+ sig do
42
+ params(
43
+ state:
44
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol
45
+ ).void
46
+ end
47
+ attr_writer :state
48
+
49
+ sig do
50
+ params(
51
+ cursor: String,
52
+ limit: Integer,
53
+ state:
54
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol,
55
+ request_options: PreludeSDK::RequestOptions::OrHash
56
+ ).returns(T.attached_class)
57
+ end
58
+ def self.new(
59
+ # Pagination cursor from the previous response
60
+ cursor: nil,
61
+ # Maximum number of phone numbers to return per page
62
+ limit: nil,
63
+ # Filter by subscription state
64
+ state: nil,
65
+ request_options: {}
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ cursor: String,
73
+ limit: Integer,
74
+ state:
75
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol,
76
+ request_options: PreludeSDK::RequestOptions
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ # Filter by subscription state
84
+ module State
85
+ extend PreludeSDK::Internal::Type::Enum
86
+
87
+ TaggedSymbol =
88
+ T.type_alias do
89
+ T.all(
90
+ Symbol,
91
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State
92
+ )
93
+ end
94
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
95
+
96
+ SUB =
97
+ T.let(
98
+ :SUB,
99
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
100
+ )
101
+ UNSUB =
102
+ T.let(
103
+ :UNSUB,
104
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
105
+ )
106
+
107
+ sig do
108
+ override.returns(
109
+ T::Array[
110
+ PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
111
+ ]
112
+ )
113
+ end
114
+ def self.values
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,259 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class NotifyListSubscriptionPhoneNumbersResponse < PreludeSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse,
10
+ PreludeSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A list of phone numbers and their subscription statuses.
15
+ sig do
16
+ returns(
17
+ T::Array[
18
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber
19
+ ]
20
+ )
21
+ end
22
+ attr_accessor :phone_numbers
23
+
24
+ # Pagination cursor for the next page of results. Omitted if there are no more
25
+ # pages.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :next_cursor
28
+
29
+ sig { params(next_cursor: String).void }
30
+ attr_writer :next_cursor
31
+
32
+ sig do
33
+ params(
34
+ phone_numbers:
35
+ T::Array[
36
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::OrHash
37
+ ],
38
+ next_cursor: String
39
+ ).returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+ # A list of phone numbers and their subscription statuses.
43
+ phone_numbers:,
44
+ # Pagination cursor for the next page of results. Omitted if there are no more
45
+ # pages.
46
+ next_cursor: nil
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ phone_numbers:
54
+ T::Array[
55
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber
56
+ ],
57
+ next_cursor: String
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+
64
+ class PhoneNumber < PreludeSDK::Internal::Type::BaseModel
65
+ OrHash =
66
+ T.type_alias do
67
+ T.any(
68
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber,
69
+ PreludeSDK::Internal::AnyHash
70
+ )
71
+ end
72
+
73
+ # The subscription configuration ID.
74
+ sig { returns(String) }
75
+ attr_accessor :config_id
76
+
77
+ # The phone number in E.164 format.
78
+ sig { returns(String) }
79
+ attr_accessor :phone_number
80
+
81
+ # How the subscription state was changed:
82
+ #
83
+ # - `MO_KEYWORD` - User sent a keyword (STOP/START)
84
+ # - `API` - Changed via API
85
+ # - `CSV_IMPORT` - Imported from CSV
86
+ # - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
87
+ sig do
88
+ returns(
89
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
90
+ )
91
+ end
92
+ attr_accessor :source
93
+
94
+ # The subscription state:
95
+ #
96
+ # - `SUB` - Subscribed (user can receive marketing messages)
97
+ # - `UNSUB` - Unsubscribed (user has opted out)
98
+ sig do
99
+ returns(
100
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
101
+ )
102
+ end
103
+ attr_accessor :state
104
+
105
+ # The date and time when the subscription status was last updated.
106
+ sig { returns(Time) }
107
+ attr_accessor :updated_at
108
+
109
+ # Additional context about the state change (e.g., the keyword that was sent).
110
+ sig { returns(T.nilable(String)) }
111
+ attr_reader :reason
112
+
113
+ sig { params(reason: String).void }
114
+ attr_writer :reason
115
+
116
+ sig do
117
+ params(
118
+ config_id: String,
119
+ phone_number: String,
120
+ source:
121
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::OrSymbol,
122
+ state:
123
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::OrSymbol,
124
+ updated_at: Time,
125
+ reason: String
126
+ ).returns(T.attached_class)
127
+ end
128
+ def self.new(
129
+ # The subscription configuration ID.
130
+ config_id:,
131
+ # The phone number in E.164 format.
132
+ phone_number:,
133
+ # How the subscription state was changed:
134
+ #
135
+ # - `MO_KEYWORD` - User sent a keyword (STOP/START)
136
+ # - `API` - Changed via API
137
+ # - `CSV_IMPORT` - Imported from CSV
138
+ # - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
139
+ source:,
140
+ # The subscription state:
141
+ #
142
+ # - `SUB` - Subscribed (user can receive marketing messages)
143
+ # - `UNSUB` - Unsubscribed (user has opted out)
144
+ state:,
145
+ # The date and time when the subscription status was last updated.
146
+ updated_at:,
147
+ # Additional context about the state change (e.g., the keyword that was sent).
148
+ reason: nil
149
+ )
150
+ end
151
+
152
+ sig do
153
+ override.returns(
154
+ {
155
+ config_id: String,
156
+ phone_number: String,
157
+ source:
158
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol,
159
+ state:
160
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol,
161
+ updated_at: Time,
162
+ reason: String
163
+ }
164
+ )
165
+ end
166
+ def to_hash
167
+ end
168
+
169
+ # How the subscription state was changed:
170
+ #
171
+ # - `MO_KEYWORD` - User sent a keyword (STOP/START)
172
+ # - `API` - Changed via API
173
+ # - `CSV_IMPORT` - Imported from CSV
174
+ # - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
175
+ module Source
176
+ extend PreludeSDK::Internal::Type::Enum
177
+
178
+ TaggedSymbol =
179
+ T.type_alias do
180
+ T.all(
181
+ Symbol,
182
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source
183
+ )
184
+ end
185
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
186
+
187
+ MO_KEYWORD =
188
+ T.let(
189
+ :MO_KEYWORD,
190
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
191
+ )
192
+ API =
193
+ T.let(
194
+ :API,
195
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
196
+ )
197
+ CSV_IMPORT =
198
+ T.let(
199
+ :CSV_IMPORT,
200
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
201
+ )
202
+ CARRIER_DISCONNECT =
203
+ T.let(
204
+ :CARRIER_DISCONNECT,
205
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
206
+ )
207
+
208
+ sig do
209
+ override.returns(
210
+ T::Array[
211
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
212
+ ]
213
+ )
214
+ end
215
+ def self.values
216
+ end
217
+ end
218
+
219
+ # The subscription state:
220
+ #
221
+ # - `SUB` - Subscribed (user can receive marketing messages)
222
+ # - `UNSUB` - Unsubscribed (user has opted out)
223
+ module State
224
+ extend PreludeSDK::Internal::Type::Enum
225
+
226
+ TaggedSymbol =
227
+ T.type_alias do
228
+ T.all(
229
+ Symbol,
230
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State
231
+ )
232
+ end
233
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
234
+
235
+ SUB =
236
+ T.let(
237
+ :SUB,
238
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
239
+ )
240
+ UNSUB =
241
+ T.let(
242
+ :UNSUB,
243
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
244
+ )
245
+
246
+ sig do
247
+ override.returns(
248
+ T::Array[
249
+ PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
250
+ ]
251
+ )
252
+ end
253
+ def self.values
254
+ end
255
+ end
256
+ end
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,191 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Models
5
+ class NotifySendBatchParams < PreludeSDK::Internal::Type::BaseModel
6
+ extend PreludeSDK::Internal::Type::RequestParameters::Converter
7
+ include PreludeSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ PreludeSDK::NotifySendBatchParams,
13
+ PreludeSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The template identifier configured by your Customer Success team.
18
+ sig { returns(String) }
19
+ attr_accessor :template_id
20
+
21
+ # The list of recipients' phone numbers in E.164 format.
22
+ sig { returns(T::Array[String]) }
23
+ attr_accessor :to
24
+
25
+ # The URL where webhooks will be sent for delivery events.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :callback_url
28
+
29
+ sig { params(callback_url: String).void }
30
+ attr_writer :callback_url
31
+
32
+ # A user-defined identifier to correlate this request with your internal systems.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :correlation_id
35
+
36
+ sig { params(correlation_id: String).void }
37
+ attr_writer :correlation_id
38
+
39
+ # The message expiration date in RFC3339 format. Messages will not be sent after
40
+ # this time.
41
+ sig { returns(T.nilable(Time)) }
42
+ attr_reader :expires_at
43
+
44
+ sig { params(expires_at: Time).void }
45
+ attr_writer :expires_at
46
+
47
+ # The Sender ID. Must be approved for your account.
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :from
50
+
51
+ sig { params(from: String).void }
52
+ attr_writer :from
53
+
54
+ # A BCP-47 formatted locale string.
55
+ sig { returns(T.nilable(String)) }
56
+ attr_reader :locale
57
+
58
+ sig { params(locale: String).void }
59
+ attr_writer :locale
60
+
61
+ # Preferred channel for delivery. If unavailable, automatic fallback applies.
62
+ sig do
63
+ returns(
64
+ T.nilable(
65
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol
66
+ )
67
+ )
68
+ end
69
+ attr_reader :preferred_channel
70
+
71
+ sig do
72
+ params(
73
+ preferred_channel:
74
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol
75
+ ).void
76
+ end
77
+ attr_writer :preferred_channel
78
+
79
+ # Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply
80
+ # with local time windows.
81
+ sig { returns(T.nilable(Time)) }
82
+ attr_reader :schedule_at
83
+
84
+ sig { params(schedule_at: Time).void }
85
+ attr_writer :schedule_at
86
+
87
+ # The variables to be replaced in the template.
88
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
89
+ attr_reader :variables
90
+
91
+ sig { params(variables: T::Hash[Symbol, String]).void }
92
+ attr_writer :variables
93
+
94
+ sig do
95
+ params(
96
+ template_id: String,
97
+ to: T::Array[String],
98
+ callback_url: String,
99
+ correlation_id: String,
100
+ expires_at: Time,
101
+ from: String,
102
+ locale: String,
103
+ preferred_channel:
104
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol,
105
+ schedule_at: Time,
106
+ variables: T::Hash[Symbol, String],
107
+ request_options: PreludeSDK::RequestOptions::OrHash
108
+ ).returns(T.attached_class)
109
+ end
110
+ def self.new(
111
+ # The template identifier configured by your Customer Success team.
112
+ template_id:,
113
+ # The list of recipients' phone numbers in E.164 format.
114
+ to:,
115
+ # The URL where webhooks will be sent for delivery events.
116
+ callback_url: nil,
117
+ # A user-defined identifier to correlate this request with your internal systems.
118
+ correlation_id: nil,
119
+ # The message expiration date in RFC3339 format. Messages will not be sent after
120
+ # this time.
121
+ expires_at: nil,
122
+ # The Sender ID. Must be approved for your account.
123
+ from: nil,
124
+ # A BCP-47 formatted locale string.
125
+ locale: nil,
126
+ # Preferred channel for delivery. If unavailable, automatic fallback applies.
127
+ preferred_channel: nil,
128
+ # Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply
129
+ # with local time windows.
130
+ schedule_at: nil,
131
+ # The variables to be replaced in the template.
132
+ variables: nil,
133
+ request_options: {}
134
+ )
135
+ end
136
+
137
+ sig do
138
+ override.returns(
139
+ {
140
+ template_id: String,
141
+ to: T::Array[String],
142
+ callback_url: String,
143
+ correlation_id: String,
144
+ expires_at: Time,
145
+ from: String,
146
+ locale: String,
147
+ preferred_channel:
148
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol,
149
+ schedule_at: Time,
150
+ variables: T::Hash[Symbol, String],
151
+ request_options: PreludeSDK::RequestOptions
152
+ }
153
+ )
154
+ end
155
+ def to_hash
156
+ end
157
+
158
+ # Preferred channel for delivery. If unavailable, automatic fallback applies.
159
+ module PreferredChannel
160
+ extend PreludeSDK::Internal::Type::Enum
161
+
162
+ TaggedSymbol =
163
+ T.type_alias do
164
+ T.all(Symbol, PreludeSDK::NotifySendBatchParams::PreferredChannel)
165
+ end
166
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
167
+
168
+ SMS =
169
+ T.let(
170
+ :sms,
171
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
172
+ )
173
+ WHATSAPP =
174
+ T.let(
175
+ :whatsapp,
176
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
177
+ )
178
+
179
+ sig do
180
+ override.returns(
181
+ T::Array[
182
+ PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
183
+ ]
184
+ )
185
+ end
186
+ def self.values
187
+ end
188
+ end
189
+ end
190
+ end
191
+ end