surge_api 0.1.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 (212) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +28 -0
  4. data/README.md +286 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/surge_api/client.rb +106 -0
  7. data/lib/surge_api/errors.rb +228 -0
  8. data/lib/surge_api/file_part.rb +55 -0
  9. data/lib/surge_api/internal/transport/base_client.rb +567 -0
  10. data/lib/surge_api/internal/transport/pooled_net_requester.rb +201 -0
  11. data/lib/surge_api/internal/type/array_of.rb +168 -0
  12. data/lib/surge_api/internal/type/base_model.rb +531 -0
  13. data/lib/surge_api/internal/type/base_page.rb +55 -0
  14. data/lib/surge_api/internal/type/boolean.rb +77 -0
  15. data/lib/surge_api/internal/type/converter.rb +327 -0
  16. data/lib/surge_api/internal/type/enum.rb +131 -0
  17. data/lib/surge_api/internal/type/file_input.rb +108 -0
  18. data/lib/surge_api/internal/type/hash_of.rb +188 -0
  19. data/lib/surge_api/internal/type/request_parameters.rb +42 -0
  20. data/lib/surge_api/internal/type/union.rb +250 -0
  21. data/lib/surge_api/internal/type/unknown.rb +81 -0
  22. data/lib/surge_api/internal/util.rb +915 -0
  23. data/lib/surge_api/internal.rb +20 -0
  24. data/lib/surge_api/models/account.rb +60 -0
  25. data/lib/surge_api/models/account_create_params.rb +481 -0
  26. data/lib/surge_api/models/account_retrieve_status_params.rb +32 -0
  27. data/lib/surge_api/models/account_status.rb +104 -0
  28. data/lib/surge_api/models/account_update_params.rb +480 -0
  29. data/lib/surge_api/models/blast.rb +61 -0
  30. data/lib/surge_api/models/blast_create_params.rb +90 -0
  31. data/lib/surge_api/models/call_ended_webhook_event.rb +106 -0
  32. data/lib/surge_api/models/campaign.rb +208 -0
  33. data/lib/surge_api/models/campaign_approved_webhook_event.rb +74 -0
  34. data/lib/surge_api/models/campaign_create_params.rb +202 -0
  35. data/lib/surge_api/models/contact.rb +59 -0
  36. data/lib/surge_api/models/contact_create_params.rb +54 -0
  37. data/lib/surge_api/models/contact_retrieve_params.rb +14 -0
  38. data/lib/surge_api/models/contact_update_params.rb +54 -0
  39. data/lib/surge_api/models/conversation_created_webhook_event.rb +70 -0
  40. data/lib/surge_api/models/error.rb +34 -0
  41. data/lib/surge_api/models/message.rb +146 -0
  42. data/lib/surge_api/models/message_create_params.rb +153 -0
  43. data/lib/surge_api/models/message_delivered_webhook_event.rb +159 -0
  44. data/lib/surge_api/models/message_failed_webhook_event.rb +167 -0
  45. data/lib/surge_api/models/message_received_webhook_event.rb +159 -0
  46. data/lib/surge_api/models/message_sent_webhook_event.rb +159 -0
  47. data/lib/surge_api/models/organization.rb +419 -0
  48. data/lib/surge_api/models/phone_number.rb +48 -0
  49. data/lib/surge_api/models/phone_number_purchase_params.rb +65 -0
  50. data/lib/surge_api/models/unwrap_webhook_event.rb +26 -0
  51. data/lib/surge_api/models/user.rb +51 -0
  52. data/lib/surge_api/models/user_create_params.rb +46 -0
  53. data/lib/surge_api/models/user_create_token_params.rb +22 -0
  54. data/lib/surge_api/models/user_retrieve_params.rb +14 -0
  55. data/lib/surge_api/models/user_token_response.rb +19 -0
  56. data/lib/surge_api/models/user_update_params.rb +46 -0
  57. data/lib/surge_api/models/verification.rb +58 -0
  58. data/lib/surge_api/models/verification_check.rb +43 -0
  59. data/lib/surge_api/models/verification_check_params.rb +22 -0
  60. data/lib/surge_api/models/verification_create_params.rb +22 -0
  61. data/lib/surge_api/models/webhook_unwrap_params.rb +14 -0
  62. data/lib/surge_api/models.rb +117 -0
  63. data/lib/surge_api/request_options.rb +77 -0
  64. data/lib/surge_api/resources/accounts.rb +102 -0
  65. data/lib/surge_api/resources/blasts.rb +53 -0
  66. data/lib/surge_api/resources/campaigns.rb +57 -0
  67. data/lib/surge_api/resources/contacts.rb +99 -0
  68. data/lib/surge_api/resources/messages.rb +75 -0
  69. data/lib/surge_api/resources/phone_numbers.rb +48 -0
  70. data/lib/surge_api/resources/users.rb +119 -0
  71. data/lib/surge_api/resources/verifications.rb +60 -0
  72. data/lib/surge_api/resources/webhooks.rb +22 -0
  73. data/lib/surge_api/version.rb +5 -0
  74. data/lib/surge_api.rb +100 -0
  75. data/manifest.yaml +15 -0
  76. data/rbi/surge_api/client.rbi +73 -0
  77. data/rbi/surge_api/errors.rbi +205 -0
  78. data/rbi/surge_api/file_part.rbi +37 -0
  79. data/rbi/surge_api/internal/transport/base_client.rbi +292 -0
  80. data/rbi/surge_api/internal/transport/pooled_net_requester.rbi +79 -0
  81. data/rbi/surge_api/internal/type/array_of.rbi +104 -0
  82. data/rbi/surge_api/internal/type/base_model.rbi +302 -0
  83. data/rbi/surge_api/internal/type/base_page.rbi +42 -0
  84. data/rbi/surge_api/internal/type/boolean.rbi +58 -0
  85. data/rbi/surge_api/internal/type/converter.rbi +216 -0
  86. data/rbi/surge_api/internal/type/enum.rbi +82 -0
  87. data/rbi/surge_api/internal/type/file_input.rbi +59 -0
  88. data/rbi/surge_api/internal/type/hash_of.rbi +104 -0
  89. data/rbi/surge_api/internal/type/request_parameters.rbi +29 -0
  90. data/rbi/surge_api/internal/type/union.rbi +128 -0
  91. data/rbi/surge_api/internal/type/unknown.rbi +58 -0
  92. data/rbi/surge_api/internal/util.rbi +487 -0
  93. data/rbi/surge_api/internal.rbi +16 -0
  94. data/rbi/surge_api/models/account.rbi +83 -0
  95. data/rbi/surge_api/models/account_create_params.rbi +1104 -0
  96. data/rbi/surge_api/models/account_retrieve_status_params.rbi +96 -0
  97. data/rbi/surge_api/models/account_status.rbi +185 -0
  98. data/rbi/surge_api/models/account_update_params.rbi +1105 -0
  99. data/rbi/surge_api/models/blast.rbi +108 -0
  100. data/rbi/surge_api/models/blast_create_params.rbi +145 -0
  101. data/rbi/surge_api/models/call_ended_webhook_event.rbi +205 -0
  102. data/rbi/surge_api/models/campaign.rbi +331 -0
  103. data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +149 -0
  104. data/rbi/surge_api/models/campaign_create_params.rbi +386 -0
  105. data/rbi/surge_api/models/contact.rbi +88 -0
  106. data/rbi/surge_api/models/contact_create_params.rbi +87 -0
  107. data/rbi/surge_api/models/contact_retrieve_params.rbi +27 -0
  108. data/rbi/surge_api/models/contact_update_params.rbi +87 -0
  109. data/rbi/surge_api/models/conversation_created_webhook_event.rbi +129 -0
  110. data/rbi/surge_api/models/error.rbi +51 -0
  111. data/rbi/surge_api/models/message.rbi +283 -0
  112. data/rbi/surge_api/models/message_create_params.rbi +281 -0
  113. data/rbi/surge_api/models/message_delivered_webhook_event.rbi +331 -0
  114. data/rbi/surge_api/models/message_failed_webhook_event.rbi +335 -0
  115. data/rbi/surge_api/models/message_received_webhook_event.rbi +331 -0
  116. data/rbi/surge_api/models/message_sent_webhook_event.rbi +322 -0
  117. data/rbi/surge_api/models/organization.rbi +649 -0
  118. data/rbi/surge_api/models/phone_number.rbi +72 -0
  119. data/rbi/surge_api/models/phone_number_purchase_params.rbi +122 -0
  120. data/rbi/surge_api/models/unwrap_webhook_event.rbi +26 -0
  121. data/rbi/surge_api/models/user.rbi +80 -0
  122. data/rbi/surge_api/models/user_create_params.rbi +76 -0
  123. data/rbi/surge_api/models/user_create_token_params.rbi +46 -0
  124. data/rbi/surge_api/models/user_retrieve_params.rbi +27 -0
  125. data/rbi/surge_api/models/user_token_response.rbi +31 -0
  126. data/rbi/surge_api/models/user_update_params.rbi +76 -0
  127. data/rbi/surge_api/models/verification.rbi +86 -0
  128. data/rbi/surge_api/models/verification_check.rbi +84 -0
  129. data/rbi/surge_api/models/verification_check_params.rbi +40 -0
  130. data/rbi/surge_api/models/verification_create_params.rbi +40 -0
  131. data/rbi/surge_api/models/webhook_unwrap_params.rbi +27 -0
  132. data/rbi/surge_api/models.rbi +80 -0
  133. data/rbi/surge_api/request_options.rbi +59 -0
  134. data/rbi/surge_api/resources/accounts.rbi +94 -0
  135. data/rbi/surge_api/resources/blasts.rbi +48 -0
  136. data/rbi/surge_api/resources/campaigns.rbi +115 -0
  137. data/rbi/surge_api/resources/contacts.rbi +85 -0
  138. data/rbi/surge_api/resources/messages.rbi +72 -0
  139. data/rbi/surge_api/resources/phone_numbers.rbi +43 -0
  140. data/rbi/surge_api/resources/users.rbi +96 -0
  141. data/rbi/surge_api/resources/verifications.rbi +43 -0
  142. data/rbi/surge_api/resources/webhooks.rbi +31 -0
  143. data/rbi/surge_api/version.rbi +5 -0
  144. data/sig/surge_api/client.rbs +42 -0
  145. data/sig/surge_api/errors.rbs +117 -0
  146. data/sig/surge_api/file_part.rbs +21 -0
  147. data/sig/surge_api/internal/transport/base_client.rbs +131 -0
  148. data/sig/surge_api/internal/transport/pooled_net_requester.rbs +45 -0
  149. data/sig/surge_api/internal/type/array_of.rbs +48 -0
  150. data/sig/surge_api/internal/type/base_model.rbs +102 -0
  151. data/sig/surge_api/internal/type/base_page.rbs +24 -0
  152. data/sig/surge_api/internal/type/boolean.rbs +26 -0
  153. data/sig/surge_api/internal/type/converter.rbs +79 -0
  154. data/sig/surge_api/internal/type/enum.rbs +32 -0
  155. data/sig/surge_api/internal/type/file_input.rbs +25 -0
  156. data/sig/surge_api/internal/type/hash_of.rbs +48 -0
  157. data/sig/surge_api/internal/type/request_parameters.rbs +17 -0
  158. data/sig/surge_api/internal/type/union.rbs +52 -0
  159. data/sig/surge_api/internal/type/unknown.rbs +26 -0
  160. data/sig/surge_api/internal/util.rbs +185 -0
  161. data/sig/surge_api/internal.rbs +9 -0
  162. data/sig/surge_api/models/account.rbs +40 -0
  163. data/sig/surge_api/models/account_create_params.rbs +433 -0
  164. data/sig/surge_api/models/account_retrieve_status_params.rbs +40 -0
  165. data/sig/surge_api/models/account_status.rbs +71 -0
  166. data/sig/surge_api/models/account_update_params.rbs +435 -0
  167. data/sig/surge_api/models/blast.rbs +64 -0
  168. data/sig/surge_api/models/blast_create_params.rbs +82 -0
  169. data/sig/surge_api/models/call_ended_webhook_event.rbs +99 -0
  170. data/sig/surge_api/models/campaign.rbs +122 -0
  171. data/sig/surge_api/models/campaign_approved_webhook_event.rbs +67 -0
  172. data/sig/surge_api/models/campaign_create_params.rbs +127 -0
  173. data/sig/surge_api/models/contact.rbs +53 -0
  174. data/sig/surge_api/models/contact_create_params.rbs +54 -0
  175. data/sig/surge_api/models/contact_retrieve_params.rbs +15 -0
  176. data/sig/surge_api/models/contact_update_params.rbs +54 -0
  177. data/sig/surge_api/models/conversation_created_webhook_event.rbs +62 -0
  178. data/sig/surge_api/models/error.rbs +27 -0
  179. data/sig/surge_api/models/message.rbs +138 -0
  180. data/sig/surge_api/models/message_create_params.rbs +140 -0
  181. data/sig/surge_api/models/message_delivered_webhook_event.rbs +143 -0
  182. data/sig/surge_api/models/message_failed_webhook_event.rbs +148 -0
  183. data/sig/surge_api/models/message_received_webhook_event.rbs +143 -0
  184. data/sig/surge_api/models/message_sent_webhook_event.rbs +143 -0
  185. data/sig/surge_api/models/organization.rbs +385 -0
  186. data/sig/surge_api/models/phone_number.rbs +37 -0
  187. data/sig/surge_api/models/phone_number_purchase_params.rbs +62 -0
  188. data/sig/surge_api/models/unwrap_webhook_event.rbs +18 -0
  189. data/sig/surge_api/models/user.rbs +48 -0
  190. data/sig/surge_api/models/user_create_params.rbs +47 -0
  191. data/sig/surge_api/models/user_create_token_params.rbs +26 -0
  192. data/sig/surge_api/models/user_retrieve_params.rbs +15 -0
  193. data/sig/surge_api/models/user_token_response.rbs +15 -0
  194. data/sig/surge_api/models/user_update_params.rbs +47 -0
  195. data/sig/surge_api/models/verification.rbs +48 -0
  196. data/sig/surge_api/models/verification_check.rbs +45 -0
  197. data/sig/surge_api/models/verification_check_params.rbs +23 -0
  198. data/sig/surge_api/models/verification_create_params.rbs +23 -0
  199. data/sig/surge_api/models/webhook_unwrap_params.rbs +15 -0
  200. data/sig/surge_api/models.rbs +77 -0
  201. data/sig/surge_api/request_options.rbs +34 -0
  202. data/sig/surge_api/resources/accounts.rbs +30 -0
  203. data/sig/surge_api/resources/blasts.rbs +19 -0
  204. data/sig/surge_api/resources/campaigns.rbs +21 -0
  205. data/sig/surge_api/resources/contacts.rbs +32 -0
  206. data/sig/surge_api/resources/messages.rbs +18 -0
  207. data/sig/surge_api/resources/phone_numbers.rbs +16 -0
  208. data/sig/surge_api/resources/users.rbs +36 -0
  209. data/sig/surge_api/resources/verifications.rbs +18 -0
  210. data/sig/surge_api/resources/webhooks.rbs +17 -0
  211. data/sig/surge_api/version.rbs +3 -0
  212. metadata +269 -0
@@ -0,0 +1,322 @@
1
+ # typed: strong
2
+
3
+ module SurgeAPI
4
+ module Models
5
+ class MessageSentWebhookEvent < SurgeAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(SurgeAPI::MessageSentWebhookEvent, SurgeAPI::Internal::AnyHash)
9
+ end
10
+
11
+ # The ID of the account in which this event occurred
12
+ sig { returns(String) }
13
+ attr_accessor :account_id
14
+
15
+ # The data associated with the event
16
+ sig { returns(SurgeAPI::MessageSentWebhookEvent::Data) }
17
+ attr_reader :data
18
+
19
+ sig { params(data: SurgeAPI::MessageSentWebhookEvent::Data::OrHash).void }
20
+ attr_writer :data
21
+
22
+ # The timestamp when this event occurred, in ISO8601 format
23
+ sig { returns(Time) }
24
+ attr_accessor :timestamp
25
+
26
+ # The type of the event. Always `message.sent` for this event.
27
+ sig { returns(Symbol) }
28
+ attr_accessor :type
29
+
30
+ sig do
31
+ params(
32
+ account_id: String,
33
+ data: SurgeAPI::MessageSentWebhookEvent::Data::OrHash,
34
+ timestamp: Time,
35
+ type: Symbol
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # The ID of the account in which this event occurred
40
+ account_id:,
41
+ # The data associated with the event
42
+ data:,
43
+ # The timestamp when this event occurred, in ISO8601 format
44
+ timestamp:,
45
+ # The type of the event. Always `message.sent` for this event.
46
+ type: :"message.sent"
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ account_id: String,
54
+ data: SurgeAPI::MessageSentWebhookEvent::Data,
55
+ timestamp: Time,
56
+ type: Symbol
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+
63
+ class Data < SurgeAPI::Internal::Type::BaseModel
64
+ OrHash =
65
+ T.type_alias do
66
+ T.any(
67
+ SurgeAPI::MessageSentWebhookEvent::Data,
68
+ SurgeAPI::Internal::AnyHash
69
+ )
70
+ end
71
+
72
+ # The unique identifier for the message
73
+ sig { returns(String) }
74
+ attr_accessor :id
75
+
76
+ # The content of the message
77
+ sig { returns(String) }
78
+ attr_accessor :body
79
+
80
+ # The conversation this message belongs to
81
+ sig { returns(SurgeAPI::MessageSentWebhookEvent::Data::Conversation) }
82
+ attr_reader :conversation
83
+
84
+ sig do
85
+ params(
86
+ conversation:
87
+ SurgeAPI::MessageSentWebhookEvent::Data::Conversation::OrHash
88
+ ).void
89
+ end
90
+ attr_writer :conversation
91
+
92
+ # When the message was sent
93
+ sig { returns(Time) }
94
+ attr_accessor :sent_at
95
+
96
+ # Attachments included with the message
97
+ sig do
98
+ returns(
99
+ T.nilable(
100
+ T::Array[SurgeAPI::MessageSentWebhookEvent::Data::Attachment]
101
+ )
102
+ )
103
+ end
104
+ attr_reader :attachments
105
+
106
+ sig do
107
+ params(
108
+ attachments:
109
+ T::Array[
110
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::OrHash
111
+ ]
112
+ ).void
113
+ end
114
+ attr_writer :attachments
115
+
116
+ # The data associated with the event
117
+ sig do
118
+ params(
119
+ id: String,
120
+ body: String,
121
+ conversation:
122
+ SurgeAPI::MessageSentWebhookEvent::Data::Conversation::OrHash,
123
+ sent_at: Time,
124
+ attachments:
125
+ T::Array[
126
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::OrHash
127
+ ]
128
+ ).returns(T.attached_class)
129
+ end
130
+ def self.new(
131
+ # The unique identifier for the message
132
+ id:,
133
+ # The content of the message
134
+ body:,
135
+ # The conversation this message belongs to
136
+ conversation:,
137
+ # When the message was sent
138
+ sent_at:,
139
+ # Attachments included with the message
140
+ attachments: nil
141
+ )
142
+ end
143
+
144
+ sig do
145
+ override.returns(
146
+ {
147
+ id: String,
148
+ body: String,
149
+ conversation:
150
+ SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
151
+ sent_at: Time,
152
+ attachments:
153
+ T::Array[SurgeAPI::MessageSentWebhookEvent::Data::Attachment]
154
+ }
155
+ )
156
+ end
157
+ def to_hash
158
+ end
159
+
160
+ class Conversation < SurgeAPI::Internal::Type::BaseModel
161
+ OrHash =
162
+ T.type_alias do
163
+ T.any(
164
+ SurgeAPI::MessageSentWebhookEvent::Data::Conversation,
165
+ SurgeAPI::Internal::AnyHash
166
+ )
167
+ end
168
+
169
+ # The unique identifier for the conversation
170
+ sig { returns(String) }
171
+ attr_accessor :id
172
+
173
+ # A contact who has consented to receive messages
174
+ sig { returns(SurgeAPI::Contact) }
175
+ attr_reader :contact
176
+
177
+ sig { params(contact: SurgeAPI::Contact::OrHash).void }
178
+ attr_writer :contact
179
+
180
+ # A phone number that can be used to send and receive messages and calls
181
+ sig { returns(SurgeAPI::PhoneNumber) }
182
+ attr_reader :phone_number
183
+
184
+ sig { params(phone_number: SurgeAPI::PhoneNumber::OrHash).void }
185
+ attr_writer :phone_number
186
+
187
+ # The conversation this message belongs to
188
+ sig do
189
+ params(
190
+ id: String,
191
+ contact: SurgeAPI::Contact::OrHash,
192
+ phone_number: SurgeAPI::PhoneNumber::OrHash
193
+ ).returns(T.attached_class)
194
+ end
195
+ def self.new(
196
+ # The unique identifier for the conversation
197
+ id:,
198
+ # A contact who has consented to receive messages
199
+ contact:,
200
+ # A phone number that can be used to send and receive messages and calls
201
+ phone_number:
202
+ )
203
+ end
204
+
205
+ sig do
206
+ override.returns(
207
+ {
208
+ id: String,
209
+ contact: SurgeAPI::Contact,
210
+ phone_number: SurgeAPI::PhoneNumber
211
+ }
212
+ )
213
+ end
214
+ def to_hash
215
+ end
216
+ end
217
+
218
+ class Attachment < SurgeAPI::Internal::Type::BaseModel
219
+ OrHash =
220
+ T.type_alias do
221
+ T.any(
222
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment,
223
+ SurgeAPI::Internal::AnyHash
224
+ )
225
+ end
226
+
227
+ # The unique identifier for the attachment
228
+ sig { returns(String) }
229
+ attr_accessor :id
230
+
231
+ # The type of attachment
232
+ sig do
233
+ returns(
234
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
235
+ )
236
+ end
237
+ attr_accessor :type
238
+
239
+ # The URL to download the attachment
240
+ sig { returns(String) }
241
+ attr_accessor :url
242
+
243
+ sig do
244
+ params(
245
+ id: String,
246
+ type:
247
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::OrSymbol,
248
+ url: String
249
+ ).returns(T.attached_class)
250
+ end
251
+ def self.new(
252
+ # The unique identifier for the attachment
253
+ id:,
254
+ # The type of attachment
255
+ type:,
256
+ # The URL to download the attachment
257
+ url:
258
+ )
259
+ end
260
+
261
+ sig do
262
+ override.returns(
263
+ {
264
+ id: String,
265
+ type:
266
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol,
267
+ url: String
268
+ }
269
+ )
270
+ end
271
+ def to_hash
272
+ end
273
+
274
+ # The type of attachment
275
+ module Type
276
+ extend SurgeAPI::Internal::Type::Enum
277
+
278
+ TaggedSymbol =
279
+ T.type_alias do
280
+ T.all(
281
+ Symbol,
282
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type
283
+ )
284
+ end
285
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
286
+
287
+ FILE =
288
+ T.let(
289
+ :file,
290
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
291
+ )
292
+ IMAGE =
293
+ T.let(
294
+ :image,
295
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
296
+ )
297
+ LINK =
298
+ T.let(
299
+ :link,
300
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
301
+ )
302
+ VIDEO =
303
+ T.let(
304
+ :video,
305
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
306
+ )
307
+
308
+ sig do
309
+ override.returns(
310
+ T::Array[
311
+ SurgeAPI::MessageSentWebhookEvent::Data::Attachment::Type::TaggedSymbol
312
+ ]
313
+ )
314
+ end
315
+ def self.values
316
+ end
317
+ end
318
+ end
319
+ end
320
+ end
321
+ end
322
+ end