github-events 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,878 @@
1
+ """Type stubs for github_events.dispatch — GENERATED by scripts/generate_models.py (octokit/webhooks-schemas 7.6.1).
2
+
3
+ The overloads below give `WebhookDispatcher.on()` autocomplete for event names
4
+ and actions, and check that handlers' payload annotations match the event they
5
+ subscribe to. Regenerate after changing dispatch.py's public API.
6
+ """
7
+
8
+ from collections.abc import Callable, Sequence
9
+ from typing import Any, Literal, TypeVar, overload
10
+
11
+ from github_events._models import (
12
+ BranchProtectionConfigurationDisabledEvent,
13
+ BranchProtectionConfigurationEnabledEvent,
14
+ BranchProtectionConfigurationEvent,
15
+ BranchProtectionRuleCreatedEvent,
16
+ BranchProtectionRuleDeletedEvent,
17
+ BranchProtectionRuleEditedEvent,
18
+ BranchProtectionRuleEvent,
19
+ CheckRunCompletedEvent,
20
+ CheckRunCreatedEvent,
21
+ CheckRunEvent,
22
+ CheckRunRequestedActionEvent,
23
+ CheckRunRerequestedEvent,
24
+ CheckSuiteCompletedEvent,
25
+ CheckSuiteEvent,
26
+ CheckSuiteRequestedEvent,
27
+ CheckSuiteRerequestedEvent,
28
+ CodeScanningAlertAppearedInBranchEvent,
29
+ CodeScanningAlertClosedByUserEvent,
30
+ CodeScanningAlertCreatedEvent,
31
+ CodeScanningAlertEvent,
32
+ CodeScanningAlertFixedEvent,
33
+ CodeScanningAlertReopenedByUserEvent,
34
+ CodeScanningAlertReopenedEvent,
35
+ CommitCommentCreatedEvent,
36
+ CommitCommentEvent,
37
+ CreateEvent,
38
+ CustomPropertyCreatedEvent,
39
+ CustomPropertyDeletedEvent,
40
+ CustomPropertyEvent,
41
+ CustomPropertyValuesEvent,
42
+ CustomPropertyValuesUpdatedEvent,
43
+ DeleteEvent,
44
+ DependabotAlertCreatedEvent,
45
+ DependabotAlertDismissedEvent,
46
+ DependabotAlertEvent,
47
+ DependabotAlertFixedEvent,
48
+ DependabotAlertReintroducedEvent,
49
+ DependabotAlertReopenedEvent,
50
+ DeployKeyCreatedEvent,
51
+ DeployKeyDeletedEvent,
52
+ DeployKeyEvent,
53
+ DeploymentCreatedEvent,
54
+ DeploymentEvent,
55
+ DeploymentProtectionRuleEvent,
56
+ DeploymentProtectionRuleRequestedEvent,
57
+ DeploymentReviewApprovedEvent,
58
+ DeploymentReviewEvent,
59
+ DeploymentReviewRejectedEvent,
60
+ DeploymentReviewRequestedEvent,
61
+ DeploymentStatusCreatedEvent,
62
+ DeploymentStatusEvent,
63
+ DiscussionAnsweredEvent,
64
+ DiscussionCategoryChangedEvent,
65
+ DiscussionCommentCreatedEvent,
66
+ DiscussionCommentDeletedEvent,
67
+ DiscussionCommentEditedEvent,
68
+ DiscussionCommentEvent,
69
+ DiscussionCreatedEvent,
70
+ DiscussionDeletedEvent,
71
+ DiscussionEditedEvent,
72
+ DiscussionEvent,
73
+ DiscussionLabeledEvent,
74
+ DiscussionLockedEvent,
75
+ DiscussionPinnedEvent,
76
+ DiscussionTransferredEvent,
77
+ DiscussionUnansweredEvent,
78
+ DiscussionUnlabeledEvent,
79
+ DiscussionUnlockedEvent,
80
+ DiscussionUnpinnedEvent,
81
+ ForkEvent,
82
+ GitHubAppAuthorizationEvent,
83
+ GitHubAppAuthorizationRevokedEvent,
84
+ GollumEvent,
85
+ InstallationCreatedEvent,
86
+ InstallationDeletedEvent,
87
+ InstallationEvent,
88
+ InstallationNewPermissionsAcceptedEvent,
89
+ InstallationRepositoriesAddedEvent,
90
+ InstallationRepositoriesEvent,
91
+ InstallationRepositoriesRemovedEvent,
92
+ InstallationSuspendEvent,
93
+ InstallationTargetEvent,
94
+ InstallationTargetRenamedEvent,
95
+ InstallationUnsuspendEvent,
96
+ IssueCommentCreatedEvent,
97
+ IssueCommentDeletedEvent,
98
+ IssueCommentEditedEvent,
99
+ IssueCommentEvent,
100
+ IssuesAssignedEvent,
101
+ IssuesClosedEvent,
102
+ IssuesDeletedEvent,
103
+ IssuesDemilestonedEvent,
104
+ IssuesEditedEvent,
105
+ IssuesEvent,
106
+ IssuesLabeledEvent,
107
+ IssuesLockedEvent,
108
+ IssuesMilestonedEvent,
109
+ IssuesOpenedEvent,
110
+ IssuesPinnedEvent,
111
+ IssuesReopenedEvent,
112
+ IssuesTransferredEvent,
113
+ IssuesUnassignedEvent,
114
+ IssuesUnlabeledEvent,
115
+ IssuesUnlockedEvent,
116
+ IssuesUnpinnedEvent,
117
+ LabelCreatedEvent,
118
+ LabelDeletedEvent,
119
+ LabelEditedEvent,
120
+ LabelEvent,
121
+ MarketplacePurchaseCancelledEvent,
122
+ MarketplacePurchaseChangedEvent,
123
+ MarketplacePurchaseEvent,
124
+ MarketplacePurchasePendingChangeCancelledEvent,
125
+ MarketplacePurchasePendingChangeEvent,
126
+ MarketplacePurchasePurchasedEvent,
127
+ MemberAddedEvent,
128
+ MemberEditedEvent,
129
+ MemberEvent,
130
+ MemberRemovedEvent,
131
+ MembershipAddedEvent,
132
+ MembershipEvent,
133
+ MembershipRemovedEvent,
134
+ MergeGroupChecksRequestedEvent,
135
+ MergeGroupDestroyedEvent,
136
+ MergeGroupEvent,
137
+ MetaDeletedEvent,
138
+ MetaEvent,
139
+ MilestoneClosedEvent,
140
+ MilestoneCreatedEvent,
141
+ MilestoneDeletedEvent,
142
+ MilestoneEditedEvent,
143
+ MilestoneEvent,
144
+ MilestoneOpenedEvent,
145
+ OrgBlockBlockedEvent,
146
+ OrgBlockEvent,
147
+ OrgBlockUnblockedEvent,
148
+ OrganizationDeletedEvent,
149
+ OrganizationEvent,
150
+ OrganizationMemberAddedEvent,
151
+ OrganizationMemberInvitedEvent,
152
+ OrganizationMemberRemovedEvent,
153
+ OrganizationRenamedEvent,
154
+ PackageEvent,
155
+ PackagePublishedEvent,
156
+ PackageUpdatedEvent,
157
+ PageBuildEvent,
158
+ PingEvent,
159
+ ProjectCardConvertedEvent,
160
+ ProjectCardCreatedEvent,
161
+ ProjectCardDeletedEvent,
162
+ ProjectCardEditedEvent,
163
+ ProjectCardEvent,
164
+ ProjectCardMovedEvent,
165
+ ProjectClosedEvent,
166
+ ProjectColumnCreatedEvent,
167
+ ProjectColumnDeletedEvent,
168
+ ProjectColumnEditedEvent,
169
+ ProjectColumnEvent,
170
+ ProjectColumnMovedEvent,
171
+ ProjectCreatedEvent,
172
+ ProjectDeletedEvent,
173
+ ProjectEditedEvent,
174
+ ProjectEvent,
175
+ ProjectReopenedEvent,
176
+ ProjectsV2ItemArchivedEvent,
177
+ ProjectsV2ItemConvertedEvent,
178
+ ProjectsV2ItemCreatedEvent,
179
+ ProjectsV2ItemDeletedEvent,
180
+ ProjectsV2ItemEditedEvent,
181
+ ProjectsV2ItemEvent,
182
+ ProjectsV2ItemReorderedEvent,
183
+ ProjectsV2ItemRestoredEvent,
184
+ PublicEvent,
185
+ PullRequestAssignedEvent,
186
+ PullRequestAutoMergeDisabledEvent,
187
+ PullRequestAutoMergeEnabledEvent,
188
+ PullRequestClosedEvent,
189
+ PullRequestConvertedToDraftEvent,
190
+ PullRequestDemilestonedEvent,
191
+ PullRequestDequeuedEvent,
192
+ PullRequestEditedEvent,
193
+ PullRequestEnqueuedEvent,
194
+ PullRequestEvent,
195
+ PullRequestLabeledEvent,
196
+ PullRequestLockedEvent,
197
+ PullRequestMilestonedEvent,
198
+ PullRequestOpenedEvent,
199
+ PullRequestReadyForReviewEvent,
200
+ PullRequestReopenedEvent,
201
+ PullRequestReviewCommentCreatedEvent,
202
+ PullRequestReviewCommentDeletedEvent,
203
+ PullRequestReviewCommentEditedEvent,
204
+ PullRequestReviewCommentEvent,
205
+ PullRequestReviewDismissedEvent,
206
+ PullRequestReviewEditedEvent,
207
+ PullRequestReviewEvent,
208
+ PullRequestReviewRequestRemovedEvent,
209
+ PullRequestReviewRequestedEvent,
210
+ PullRequestReviewSubmittedEvent,
211
+ PullRequestReviewThreadEvent,
212
+ PullRequestReviewThreadResolvedEvent,
213
+ PullRequestReviewThreadUnresolvedEvent,
214
+ PullRequestSynchronizeEvent,
215
+ PullRequestUnassignedEvent,
216
+ PullRequestUnlabeledEvent,
217
+ PullRequestUnlockedEvent,
218
+ PushEvent,
219
+ RegistryPackageEvent,
220
+ RegistryPackagePublishedEvent,
221
+ RegistryPackageUpdatedEvent,
222
+ ReleaseCreatedEvent,
223
+ ReleaseDeletedEvent,
224
+ ReleaseEditedEvent,
225
+ ReleaseEvent,
226
+ ReleasePrereleasedEvent,
227
+ ReleasePublishedEvent,
228
+ ReleaseReleasedEvent,
229
+ ReleaseUnpublishedEvent,
230
+ RepositoryArchivedEvent,
231
+ RepositoryCreatedEvent,
232
+ RepositoryDeletedEvent,
233
+ RepositoryDispatchEvent,
234
+ RepositoryEditedEvent,
235
+ RepositoryEvent,
236
+ RepositoryImportEvent,
237
+ RepositoryPrivatizedEvent,
238
+ RepositoryPublicizedEvent,
239
+ RepositoryRenamedEvent,
240
+ RepositoryTransferredEvent,
241
+ RepositoryUnarchivedEvent,
242
+ RepositoryVulnerabilityAlertCreateEvent,
243
+ RepositoryVulnerabilityAlertDismissEvent,
244
+ RepositoryVulnerabilityAlertEvent,
245
+ RepositoryVulnerabilityAlertReopenEvent,
246
+ RepositoryVulnerabilityAlertResolveEvent,
247
+ SecretScanningAlertCreatedEvent,
248
+ SecretScanningAlertEvent,
249
+ SecretScanningAlertLocationCreatedEvent,
250
+ SecretScanningAlertLocationEvent,
251
+ SecretScanningAlertReopenedEvent,
252
+ SecretScanningAlertResolvedEvent,
253
+ SecretScanningAlertRevokedEvent,
254
+ SecurityAdvisoryEvent,
255
+ SecurityAdvisoryPerformedEvent,
256
+ SecurityAdvisoryPublishedEvent,
257
+ SecurityAdvisoryUpdatedEvent,
258
+ SecurityAdvisoryWithdrawnEvent,
259
+ SponsorshipCancelledEvent,
260
+ SponsorshipCreatedEvent,
261
+ SponsorshipEditedEvent,
262
+ SponsorshipEvent,
263
+ SponsorshipPendingCancellationEvent,
264
+ SponsorshipPendingTierChangeEvent,
265
+ SponsorshipTierChangedEvent,
266
+ StarCreatedEvent,
267
+ StarDeletedEvent,
268
+ StarEvent,
269
+ StatusEvent,
270
+ TeamAddEvent,
271
+ TeamAddedToRepositoryEvent,
272
+ TeamCreatedEvent,
273
+ TeamDeletedEvent,
274
+ TeamEditedEvent,
275
+ TeamEvent,
276
+ TeamRemovedFromRepositoryEvent,
277
+ WatchEvent,
278
+ WatchStartedEvent,
279
+ WorkflowDispatchEvent,
280
+ WorkflowJobCompletedEvent,
281
+ WorkflowJobEvent,
282
+ WorkflowJobInProgressEvent,
283
+ WorkflowJobQueuedEvent,
284
+ WorkflowJobWaitingEvent,
285
+ WorkflowRunCompletedEvent,
286
+ WorkflowRunEvent,
287
+ WorkflowRunInProgressEvent,
288
+ WorkflowRunRequestedEvent,
289
+ )
290
+
291
+ __all__ = ["SignatureVerificationError", "WebhookDispatcher", "WebhookError"]
292
+
293
+ Handler = TypeVar("Handler", bound=Callable[..., Any])
294
+ _P = TypeVar("_P")
295
+ _F = TypeVar("_F", bound=Callable[..., Any])
296
+
297
+ # The decorator that on() returns: checks the handler's payload annotation
298
+ # against the subscribed event's payload type, then returns it unchanged.
299
+ _Dec = Callable[[Callable[[_P], Any]], Callable[[_P], Any]]
300
+
301
+
302
+ class WebhookError(Exception): ...
303
+
304
+
305
+ class SignatureVerificationError(WebhookError): ...
306
+
307
+
308
+ class WebhookDispatcher:
309
+ def __init__(self, secret: str | bytes | None = ..., *, validate: bool = ...) -> None: ...
310
+ @overload
311
+ def on(self, event: Literal['branch_protection_configuration'], action: Literal['disabled']) -> _Dec[BranchProtectionConfigurationDisabledEvent]: ...
312
+ @overload
313
+ def on(self, event: Literal['branch_protection_configuration'], action: Literal['enabled']) -> _Dec[BranchProtectionConfigurationEnabledEvent]: ...
314
+ @overload
315
+ def on(self, event: Literal['branch_protection_configuration'], action: list[Literal['disabled', 'enabled']] | None = ...) -> _Dec[BranchProtectionConfigurationEvent]: ...
316
+ @overload
317
+ def on(self, event: Literal['branch_protection_rule'], action: Literal['created']) -> _Dec[BranchProtectionRuleCreatedEvent]: ...
318
+ @overload
319
+ def on(self, event: Literal['branch_protection_rule'], action: Literal['deleted']) -> _Dec[BranchProtectionRuleDeletedEvent]: ...
320
+ @overload
321
+ def on(self, event: Literal['branch_protection_rule'], action: Literal['edited']) -> _Dec[BranchProtectionRuleEditedEvent]: ...
322
+ @overload
323
+ def on(self, event: Literal['branch_protection_rule'], action: list[Literal['created', 'deleted', 'edited']] | None = ...) -> _Dec[BranchProtectionRuleEvent]: ...
324
+ @overload
325
+ def on(self, event: Literal['check_run'], action: Literal['completed']) -> _Dec[CheckRunCompletedEvent]: ...
326
+ @overload
327
+ def on(self, event: Literal['check_run'], action: Literal['created']) -> _Dec[CheckRunCreatedEvent]: ...
328
+ @overload
329
+ def on(self, event: Literal['check_run'], action: Literal['requested_action']) -> _Dec[CheckRunRequestedActionEvent]: ...
330
+ @overload
331
+ def on(self, event: Literal['check_run'], action: Literal['rerequested']) -> _Dec[CheckRunRerequestedEvent]: ...
332
+ @overload
333
+ def on(self, event: Literal['check_run'], action: list[Literal['completed', 'created', 'requested_action', 'rerequested']] | None = ...) -> _Dec[CheckRunEvent]: ...
334
+ @overload
335
+ def on(self, event: Literal['check_suite'], action: Literal['completed']) -> _Dec[CheckSuiteCompletedEvent]: ...
336
+ @overload
337
+ def on(self, event: Literal['check_suite'], action: Literal['requested']) -> _Dec[CheckSuiteRequestedEvent]: ...
338
+ @overload
339
+ def on(self, event: Literal['check_suite'], action: Literal['rerequested']) -> _Dec[CheckSuiteRerequestedEvent]: ...
340
+ @overload
341
+ def on(self, event: Literal['check_suite'], action: list[Literal['completed', 'requested', 'rerequested']] | None = ...) -> _Dec[CheckSuiteEvent]: ...
342
+ @overload
343
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['appeared_in_branch']) -> _Dec[CodeScanningAlertAppearedInBranchEvent]: ...
344
+ @overload
345
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['closed_by_user']) -> _Dec[CodeScanningAlertClosedByUserEvent]: ...
346
+ @overload
347
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['created']) -> _Dec[CodeScanningAlertCreatedEvent]: ...
348
+ @overload
349
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['fixed']) -> _Dec[CodeScanningAlertFixedEvent]: ...
350
+ @overload
351
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['reopened']) -> _Dec[CodeScanningAlertReopenedEvent]: ...
352
+ @overload
353
+ def on(self, event: Literal['code_scanning_alert'], action: Literal['reopened_by_user']) -> _Dec[CodeScanningAlertReopenedByUserEvent]: ...
354
+ @overload
355
+ def on(self, event: Literal['code_scanning_alert'], action: list[Literal['appeared_in_branch', 'closed_by_user', 'created', 'fixed', 'reopened', 'reopened_by_user']] | None = ...) -> _Dec[CodeScanningAlertEvent]: ...
356
+ @overload
357
+ def on(self, event: Literal['commit_comment'], action: Literal['created']) -> _Dec[CommitCommentCreatedEvent]: ...
358
+ @overload
359
+ def on(self, event: Literal['commit_comment'], action: list[Literal['created']] | None = ...) -> _Dec[CommitCommentEvent]: ...
360
+ @overload
361
+ def on(self, event: Literal['create'], action: None = ...) -> _Dec[CreateEvent]: ...
362
+ @overload
363
+ def on(self, event: Literal['custom_property'], action: Literal['created']) -> _Dec[CustomPropertyCreatedEvent]: ...
364
+ @overload
365
+ def on(self, event: Literal['custom_property'], action: Literal['deleted']) -> _Dec[CustomPropertyDeletedEvent]: ...
366
+ @overload
367
+ def on(self, event: Literal['custom_property'], action: list[Literal['created', 'deleted']] | None = ...) -> _Dec[CustomPropertyEvent]: ...
368
+ @overload
369
+ def on(self, event: Literal['custom_property_values'], action: Literal['updated']) -> _Dec[CustomPropertyValuesUpdatedEvent]: ...
370
+ @overload
371
+ def on(self, event: Literal['custom_property_values'], action: list[Literal['updated']] | None = ...) -> _Dec[CustomPropertyValuesEvent]: ...
372
+ @overload
373
+ def on(self, event: Literal['delete'], action: None = ...) -> _Dec[DeleteEvent]: ...
374
+ @overload
375
+ def on(self, event: Literal['dependabot_alert'], action: Literal['created']) -> _Dec[DependabotAlertCreatedEvent]: ...
376
+ @overload
377
+ def on(self, event: Literal['dependabot_alert'], action: Literal['dismissed']) -> _Dec[DependabotAlertDismissedEvent]: ...
378
+ @overload
379
+ def on(self, event: Literal['dependabot_alert'], action: Literal['fixed']) -> _Dec[DependabotAlertFixedEvent]: ...
380
+ @overload
381
+ def on(self, event: Literal['dependabot_alert'], action: Literal['reintroduced']) -> _Dec[DependabotAlertReintroducedEvent]: ...
382
+ @overload
383
+ def on(self, event: Literal['dependabot_alert'], action: Literal['reopened']) -> _Dec[DependabotAlertReopenedEvent]: ...
384
+ @overload
385
+ def on(self, event: Literal['dependabot_alert'], action: list[Literal['created', 'dismissed', 'fixed', 'reintroduced', 'reopened']] | None = ...) -> _Dec[DependabotAlertEvent]: ...
386
+ @overload
387
+ def on(self, event: Literal['deploy_key'], action: Literal['created']) -> _Dec[DeployKeyCreatedEvent]: ...
388
+ @overload
389
+ def on(self, event: Literal['deploy_key'], action: Literal['deleted']) -> _Dec[DeployKeyDeletedEvent]: ...
390
+ @overload
391
+ def on(self, event: Literal['deploy_key'], action: list[Literal['created', 'deleted']] | None = ...) -> _Dec[DeployKeyEvent]: ...
392
+ @overload
393
+ def on(self, event: Literal['deployment'], action: Literal['created']) -> _Dec[DeploymentCreatedEvent]: ...
394
+ @overload
395
+ def on(self, event: Literal['deployment'], action: list[Literal['created']] | None = ...) -> _Dec[DeploymentEvent]: ...
396
+ @overload
397
+ def on(self, event: Literal['deployment_protection_rule'], action: Literal['requested']) -> _Dec[DeploymentProtectionRuleRequestedEvent]: ...
398
+ @overload
399
+ def on(self, event: Literal['deployment_protection_rule'], action: list[Literal['requested']] | None = ...) -> _Dec[DeploymentProtectionRuleEvent]: ...
400
+ @overload
401
+ def on(self, event: Literal['deployment_review'], action: Literal['approved']) -> _Dec[DeploymentReviewApprovedEvent]: ...
402
+ @overload
403
+ def on(self, event: Literal['deployment_review'], action: Literal['rejected']) -> _Dec[DeploymentReviewRejectedEvent]: ...
404
+ @overload
405
+ def on(self, event: Literal['deployment_review'], action: Literal['requested']) -> _Dec[DeploymentReviewRequestedEvent]: ...
406
+ @overload
407
+ def on(self, event: Literal['deployment_review'], action: list[Literal['approved', 'rejected', 'requested']] | None = ...) -> _Dec[DeploymentReviewEvent]: ...
408
+ @overload
409
+ def on(self, event: Literal['deployment_status'], action: Literal['created']) -> _Dec[DeploymentStatusCreatedEvent]: ...
410
+ @overload
411
+ def on(self, event: Literal['deployment_status'], action: list[Literal['created']] | None = ...) -> _Dec[DeploymentStatusEvent]: ...
412
+ @overload
413
+ def on(self, event: Literal['discussion'], action: Literal['answered']) -> _Dec[DiscussionAnsweredEvent]: ...
414
+ @overload
415
+ def on(self, event: Literal['discussion'], action: Literal['category_changed']) -> _Dec[DiscussionCategoryChangedEvent]: ...
416
+ @overload
417
+ def on(self, event: Literal['discussion'], action: Literal['created']) -> _Dec[DiscussionCreatedEvent]: ...
418
+ @overload
419
+ def on(self, event: Literal['discussion'], action: Literal['deleted']) -> _Dec[DiscussionDeletedEvent]: ...
420
+ @overload
421
+ def on(self, event: Literal['discussion'], action: Literal['edited']) -> _Dec[DiscussionEditedEvent]: ...
422
+ @overload
423
+ def on(self, event: Literal['discussion'], action: Literal['labeled']) -> _Dec[DiscussionLabeledEvent]: ...
424
+ @overload
425
+ def on(self, event: Literal['discussion'], action: Literal['locked']) -> _Dec[DiscussionLockedEvent]: ...
426
+ @overload
427
+ def on(self, event: Literal['discussion'], action: Literal['pinned']) -> _Dec[DiscussionPinnedEvent]: ...
428
+ @overload
429
+ def on(self, event: Literal['discussion'], action: Literal['transferred']) -> _Dec[DiscussionTransferredEvent]: ...
430
+ @overload
431
+ def on(self, event: Literal['discussion'], action: Literal['unanswered']) -> _Dec[DiscussionUnansweredEvent]: ...
432
+ @overload
433
+ def on(self, event: Literal['discussion'], action: Literal['unlabeled']) -> _Dec[DiscussionUnlabeledEvent]: ...
434
+ @overload
435
+ def on(self, event: Literal['discussion'], action: Literal['unlocked']) -> _Dec[DiscussionUnlockedEvent]: ...
436
+ @overload
437
+ def on(self, event: Literal['discussion'], action: Literal['unpinned']) -> _Dec[DiscussionUnpinnedEvent]: ...
438
+ @overload
439
+ def on(self, event: Literal['discussion'], action: list[Literal['answered', 'category_changed', 'created', 'deleted', 'edited', 'labeled', 'locked', 'pinned', 'transferred', 'unanswered', 'unlabeled', 'unlocked', 'unpinned']] | None = ...) -> _Dec[DiscussionEvent]: ...
440
+ @overload
441
+ def on(self, event: Literal['discussion_comment'], action: Literal['created']) -> _Dec[DiscussionCommentCreatedEvent]: ...
442
+ @overload
443
+ def on(self, event: Literal['discussion_comment'], action: Literal['deleted']) -> _Dec[DiscussionCommentDeletedEvent]: ...
444
+ @overload
445
+ def on(self, event: Literal['discussion_comment'], action: Literal['edited']) -> _Dec[DiscussionCommentEditedEvent]: ...
446
+ @overload
447
+ def on(self, event: Literal['discussion_comment'], action: list[Literal['created', 'deleted', 'edited']] | None = ...) -> _Dec[DiscussionCommentEvent]: ...
448
+ @overload
449
+ def on(self, event: Literal['fork'], action: None = ...) -> _Dec[ForkEvent]: ...
450
+ @overload
451
+ def on(self, event: Literal['github_app_authorization'], action: Literal['revoked']) -> _Dec[GitHubAppAuthorizationRevokedEvent]: ...
452
+ @overload
453
+ def on(self, event: Literal['github_app_authorization'], action: list[Literal['revoked']] | None = ...) -> _Dec[GitHubAppAuthorizationEvent]: ...
454
+ @overload
455
+ def on(self, event: Literal['gollum'], action: None = ...) -> _Dec[GollumEvent]: ...
456
+ @overload
457
+ def on(self, event: Literal['installation'], action: Literal['created']) -> _Dec[InstallationCreatedEvent]: ...
458
+ @overload
459
+ def on(self, event: Literal['installation'], action: Literal['deleted']) -> _Dec[InstallationDeletedEvent]: ...
460
+ @overload
461
+ def on(self, event: Literal['installation'], action: Literal['new_permissions_accepted']) -> _Dec[InstallationNewPermissionsAcceptedEvent]: ...
462
+ @overload
463
+ def on(self, event: Literal['installation'], action: Literal['suspend']) -> _Dec[InstallationSuspendEvent]: ...
464
+ @overload
465
+ def on(self, event: Literal['installation'], action: Literal['unsuspend']) -> _Dec[InstallationUnsuspendEvent]: ...
466
+ @overload
467
+ def on(self, event: Literal['installation'], action: list[Literal['created', 'deleted', 'new_permissions_accepted', 'suspend', 'unsuspend']] | None = ...) -> _Dec[InstallationEvent]: ...
468
+ @overload
469
+ def on(self, event: Literal['installation_repositories'], action: Literal['added']) -> _Dec[InstallationRepositoriesAddedEvent]: ...
470
+ @overload
471
+ def on(self, event: Literal['installation_repositories'], action: Literal['removed']) -> _Dec[InstallationRepositoriesRemovedEvent]: ...
472
+ @overload
473
+ def on(self, event: Literal['installation_repositories'], action: list[Literal['added', 'removed']] | None = ...) -> _Dec[InstallationRepositoriesEvent]: ...
474
+ @overload
475
+ def on(self, event: Literal['installation_target'], action: Literal['renamed']) -> _Dec[InstallationTargetRenamedEvent]: ...
476
+ @overload
477
+ def on(self, event: Literal['installation_target'], action: list[Literal['renamed']] | None = ...) -> _Dec[InstallationTargetEvent]: ...
478
+ @overload
479
+ def on(self, event: Literal['issue_comment'], action: Literal['created']) -> _Dec[IssueCommentCreatedEvent]: ...
480
+ @overload
481
+ def on(self, event: Literal['issue_comment'], action: Literal['deleted']) -> _Dec[IssueCommentDeletedEvent]: ...
482
+ @overload
483
+ def on(self, event: Literal['issue_comment'], action: Literal['edited']) -> _Dec[IssueCommentEditedEvent]: ...
484
+ @overload
485
+ def on(self, event: Literal['issue_comment'], action: list[Literal['created', 'deleted', 'edited']] | None = ...) -> _Dec[IssueCommentEvent]: ...
486
+ @overload
487
+ def on(self, event: Literal['issues'], action: Literal['assigned']) -> _Dec[IssuesAssignedEvent]: ...
488
+ @overload
489
+ def on(self, event: Literal['issues'], action: Literal['closed']) -> _Dec[IssuesClosedEvent]: ...
490
+ @overload
491
+ def on(self, event: Literal['issues'], action: Literal['deleted']) -> _Dec[IssuesDeletedEvent]: ...
492
+ @overload
493
+ def on(self, event: Literal['issues'], action: Literal['demilestoned']) -> _Dec[IssuesDemilestonedEvent]: ...
494
+ @overload
495
+ def on(self, event: Literal['issues'], action: Literal['edited']) -> _Dec[IssuesEditedEvent]: ...
496
+ @overload
497
+ def on(self, event: Literal['issues'], action: Literal['labeled']) -> _Dec[IssuesLabeledEvent]: ...
498
+ @overload
499
+ def on(self, event: Literal['issues'], action: Literal['locked']) -> _Dec[IssuesLockedEvent]: ...
500
+ @overload
501
+ def on(self, event: Literal['issues'], action: Literal['milestoned']) -> _Dec[IssuesMilestonedEvent]: ...
502
+ @overload
503
+ def on(self, event: Literal['issues'], action: Literal['opened']) -> _Dec[IssuesOpenedEvent]: ...
504
+ @overload
505
+ def on(self, event: Literal['issues'], action: Literal['pinned']) -> _Dec[IssuesPinnedEvent]: ...
506
+ @overload
507
+ def on(self, event: Literal['issues'], action: Literal['reopened']) -> _Dec[IssuesReopenedEvent]: ...
508
+ @overload
509
+ def on(self, event: Literal['issues'], action: Literal['transferred']) -> _Dec[IssuesTransferredEvent]: ...
510
+ @overload
511
+ def on(self, event: Literal['issues'], action: Literal['unassigned']) -> _Dec[IssuesUnassignedEvent]: ...
512
+ @overload
513
+ def on(self, event: Literal['issues'], action: Literal['unlabeled']) -> _Dec[IssuesUnlabeledEvent]: ...
514
+ @overload
515
+ def on(self, event: Literal['issues'], action: Literal['unlocked']) -> _Dec[IssuesUnlockedEvent]: ...
516
+ @overload
517
+ def on(self, event: Literal['issues'], action: Literal['unpinned']) -> _Dec[IssuesUnpinnedEvent]: ...
518
+ @overload
519
+ def on(self, event: Literal['issues'], action: list[Literal['assigned', 'closed', 'deleted', 'demilestoned', 'edited', 'labeled', 'locked', 'milestoned', 'opened', 'pinned', 'reopened', 'transferred', 'unassigned', 'unlabeled', 'unlocked', 'unpinned']] | None = ...) -> _Dec[IssuesEvent]: ...
520
+ @overload
521
+ def on(self, event: Literal['label'], action: Literal['created']) -> _Dec[LabelCreatedEvent]: ...
522
+ @overload
523
+ def on(self, event: Literal['label'], action: Literal['deleted']) -> _Dec[LabelDeletedEvent]: ...
524
+ @overload
525
+ def on(self, event: Literal['label'], action: Literal['edited']) -> _Dec[LabelEditedEvent]: ...
526
+ @overload
527
+ def on(self, event: Literal['label'], action: list[Literal['created', 'deleted', 'edited']] | None = ...) -> _Dec[LabelEvent]: ...
528
+ @overload
529
+ def on(self, event: Literal['marketplace_purchase'], action: Literal['cancelled']) -> _Dec[MarketplacePurchaseCancelledEvent]: ...
530
+ @overload
531
+ def on(self, event: Literal['marketplace_purchase'], action: Literal['changed']) -> _Dec[MarketplacePurchaseChangedEvent]: ...
532
+ @overload
533
+ def on(self, event: Literal['marketplace_purchase'], action: Literal['pending_change']) -> _Dec[MarketplacePurchasePendingChangeEvent]: ...
534
+ @overload
535
+ def on(self, event: Literal['marketplace_purchase'], action: Literal['pending_change_cancelled']) -> _Dec[MarketplacePurchasePendingChangeCancelledEvent]: ...
536
+ @overload
537
+ def on(self, event: Literal['marketplace_purchase'], action: Literal['purchased']) -> _Dec[MarketplacePurchasePurchasedEvent]: ...
538
+ @overload
539
+ def on(self, event: Literal['marketplace_purchase'], action: list[Literal['cancelled', 'changed', 'pending_change', 'pending_change_cancelled', 'purchased']] | None = ...) -> _Dec[MarketplacePurchaseEvent]: ...
540
+ @overload
541
+ def on(self, event: Literal['member'], action: Literal['added']) -> _Dec[MemberAddedEvent]: ...
542
+ @overload
543
+ def on(self, event: Literal['member'], action: Literal['edited']) -> _Dec[MemberEditedEvent]: ...
544
+ @overload
545
+ def on(self, event: Literal['member'], action: Literal['removed']) -> _Dec[MemberRemovedEvent]: ...
546
+ @overload
547
+ def on(self, event: Literal['member'], action: list[Literal['added', 'edited', 'removed']] | None = ...) -> _Dec[MemberEvent]: ...
548
+ @overload
549
+ def on(self, event: Literal['membership'], action: Literal['added']) -> _Dec[MembershipAddedEvent]: ...
550
+ @overload
551
+ def on(self, event: Literal['membership'], action: Literal['removed']) -> _Dec[MembershipRemovedEvent]: ...
552
+ @overload
553
+ def on(self, event: Literal['membership'], action: list[Literal['added', 'removed']] | None = ...) -> _Dec[MembershipEvent]: ...
554
+ @overload
555
+ def on(self, event: Literal['merge_group'], action: Literal['checks_requested']) -> _Dec[MergeGroupChecksRequestedEvent]: ...
556
+ @overload
557
+ def on(self, event: Literal['merge_group'], action: Literal['destroyed']) -> _Dec[MergeGroupDestroyedEvent]: ...
558
+ @overload
559
+ def on(self, event: Literal['merge_group'], action: list[Literal['checks_requested', 'destroyed']] | None = ...) -> _Dec[MergeGroupEvent]: ...
560
+ @overload
561
+ def on(self, event: Literal['meta'], action: Literal['deleted']) -> _Dec[MetaDeletedEvent]: ...
562
+ @overload
563
+ def on(self, event: Literal['meta'], action: list[Literal['deleted']] | None = ...) -> _Dec[MetaEvent]: ...
564
+ @overload
565
+ def on(self, event: Literal['milestone'], action: Literal['closed']) -> _Dec[MilestoneClosedEvent]: ...
566
+ @overload
567
+ def on(self, event: Literal['milestone'], action: Literal['created']) -> _Dec[MilestoneCreatedEvent]: ...
568
+ @overload
569
+ def on(self, event: Literal['milestone'], action: Literal['deleted']) -> _Dec[MilestoneDeletedEvent]: ...
570
+ @overload
571
+ def on(self, event: Literal['milestone'], action: Literal['edited']) -> _Dec[MilestoneEditedEvent]: ...
572
+ @overload
573
+ def on(self, event: Literal['milestone'], action: Literal['opened']) -> _Dec[MilestoneOpenedEvent]: ...
574
+ @overload
575
+ def on(self, event: Literal['milestone'], action: list[Literal['closed', 'created', 'deleted', 'edited', 'opened']] | None = ...) -> _Dec[MilestoneEvent]: ...
576
+ @overload
577
+ def on(self, event: Literal['org_block'], action: Literal['blocked']) -> _Dec[OrgBlockBlockedEvent]: ...
578
+ @overload
579
+ def on(self, event: Literal['org_block'], action: Literal['unblocked']) -> _Dec[OrgBlockUnblockedEvent]: ...
580
+ @overload
581
+ def on(self, event: Literal['org_block'], action: list[Literal['blocked', 'unblocked']] | None = ...) -> _Dec[OrgBlockEvent]: ...
582
+ @overload
583
+ def on(self, event: Literal['organization'], action: Literal['deleted']) -> _Dec[OrganizationDeletedEvent]: ...
584
+ @overload
585
+ def on(self, event: Literal['organization'], action: Literal['member_added']) -> _Dec[OrganizationMemberAddedEvent]: ...
586
+ @overload
587
+ def on(self, event: Literal['organization'], action: Literal['member_invited']) -> _Dec[OrganizationMemberInvitedEvent]: ...
588
+ @overload
589
+ def on(self, event: Literal['organization'], action: Literal['member_removed']) -> _Dec[OrganizationMemberRemovedEvent]: ...
590
+ @overload
591
+ def on(self, event: Literal['organization'], action: Literal['renamed']) -> _Dec[OrganizationRenamedEvent]: ...
592
+ @overload
593
+ def on(self, event: Literal['organization'], action: list[Literal['deleted', 'member_added', 'member_invited', 'member_removed', 'renamed']] | None = ...) -> _Dec[OrganizationEvent]: ...
594
+ @overload
595
+ def on(self, event: Literal['package'], action: Literal['published']) -> _Dec[PackagePublishedEvent]: ...
596
+ @overload
597
+ def on(self, event: Literal['package'], action: Literal['updated']) -> _Dec[PackageUpdatedEvent]: ...
598
+ @overload
599
+ def on(self, event: Literal['package'], action: list[Literal['published', 'updated']] | None = ...) -> _Dec[PackageEvent]: ...
600
+ @overload
601
+ def on(self, event: Literal['page_build'], action: None = ...) -> _Dec[PageBuildEvent]: ...
602
+ @overload
603
+ def on(self, event: Literal['ping'], action: None = ...) -> _Dec[PingEvent]: ...
604
+ @overload
605
+ def on(self, event: Literal['project'], action: Literal['closed']) -> _Dec[ProjectClosedEvent]: ...
606
+ @overload
607
+ def on(self, event: Literal['project'], action: Literal['created']) -> _Dec[ProjectCreatedEvent]: ...
608
+ @overload
609
+ def on(self, event: Literal['project'], action: Literal['deleted']) -> _Dec[ProjectDeletedEvent]: ...
610
+ @overload
611
+ def on(self, event: Literal['project'], action: Literal['edited']) -> _Dec[ProjectEditedEvent]: ...
612
+ @overload
613
+ def on(self, event: Literal['project'], action: Literal['reopened']) -> _Dec[ProjectReopenedEvent]: ...
614
+ @overload
615
+ def on(self, event: Literal['project'], action: list[Literal['closed', 'created', 'deleted', 'edited', 'reopened']] | None = ...) -> _Dec[ProjectEvent]: ...
616
+ @overload
617
+ def on(self, event: Literal['project_card'], action: Literal['converted']) -> _Dec[ProjectCardConvertedEvent]: ...
618
+ @overload
619
+ def on(self, event: Literal['project_card'], action: Literal['created']) -> _Dec[ProjectCardCreatedEvent]: ...
620
+ @overload
621
+ def on(self, event: Literal['project_card'], action: Literal['deleted']) -> _Dec[ProjectCardDeletedEvent]: ...
622
+ @overload
623
+ def on(self, event: Literal['project_card'], action: Literal['edited']) -> _Dec[ProjectCardEditedEvent]: ...
624
+ @overload
625
+ def on(self, event: Literal['project_card'], action: Literal['moved']) -> _Dec[ProjectCardMovedEvent]: ...
626
+ @overload
627
+ def on(self, event: Literal['project_card'], action: list[Literal['converted', 'created', 'deleted', 'edited', 'moved']] | None = ...) -> _Dec[ProjectCardEvent]: ...
628
+ @overload
629
+ def on(self, event: Literal['project_column'], action: Literal['created']) -> _Dec[ProjectColumnCreatedEvent]: ...
630
+ @overload
631
+ def on(self, event: Literal['project_column'], action: Literal['deleted']) -> _Dec[ProjectColumnDeletedEvent]: ...
632
+ @overload
633
+ def on(self, event: Literal['project_column'], action: Literal['edited']) -> _Dec[ProjectColumnEditedEvent]: ...
634
+ @overload
635
+ def on(self, event: Literal['project_column'], action: Literal['moved']) -> _Dec[ProjectColumnMovedEvent]: ...
636
+ @overload
637
+ def on(self, event: Literal['project_column'], action: list[Literal['created', 'deleted', 'edited', 'moved']] | None = ...) -> _Dec[ProjectColumnEvent]: ...
638
+ @overload
639
+ def on(self, event: Literal['projects_v2_item'], action: Literal['archived']) -> _Dec[ProjectsV2ItemArchivedEvent]: ...
640
+ @overload
641
+ def on(self, event: Literal['projects_v2_item'], action: Literal['converted']) -> _Dec[ProjectsV2ItemConvertedEvent]: ...
642
+ @overload
643
+ def on(self, event: Literal['projects_v2_item'], action: Literal['created']) -> _Dec[ProjectsV2ItemCreatedEvent]: ...
644
+ @overload
645
+ def on(self, event: Literal['projects_v2_item'], action: Literal['deleted']) -> _Dec[ProjectsV2ItemDeletedEvent]: ...
646
+ @overload
647
+ def on(self, event: Literal['projects_v2_item'], action: Literal['edited']) -> _Dec[ProjectsV2ItemEditedEvent]: ...
648
+ @overload
649
+ def on(self, event: Literal['projects_v2_item'], action: Literal['reordered']) -> _Dec[ProjectsV2ItemReorderedEvent]: ...
650
+ @overload
651
+ def on(self, event: Literal['projects_v2_item'], action: Literal['restored']) -> _Dec[ProjectsV2ItemRestoredEvent]: ...
652
+ @overload
653
+ def on(self, event: Literal['projects_v2_item'], action: list[Literal['archived', 'converted', 'created', 'deleted', 'edited', 'reordered', 'restored']] | None = ...) -> _Dec[ProjectsV2ItemEvent]: ...
654
+ @overload
655
+ def on(self, event: Literal['public'], action: None = ...) -> _Dec[PublicEvent]: ...
656
+ @overload
657
+ def on(self, event: Literal['pull_request'], action: Literal['assigned']) -> _Dec[PullRequestAssignedEvent]: ...
658
+ @overload
659
+ def on(self, event: Literal['pull_request'], action: Literal['auto_merge_disabled']) -> _Dec[PullRequestAutoMergeDisabledEvent]: ...
660
+ @overload
661
+ def on(self, event: Literal['pull_request'], action: Literal['auto_merge_enabled']) -> _Dec[PullRequestAutoMergeEnabledEvent]: ...
662
+ @overload
663
+ def on(self, event: Literal['pull_request'], action: Literal['closed']) -> _Dec[PullRequestClosedEvent]: ...
664
+ @overload
665
+ def on(self, event: Literal['pull_request'], action: Literal['converted_to_draft']) -> _Dec[PullRequestConvertedToDraftEvent]: ...
666
+ @overload
667
+ def on(self, event: Literal['pull_request'], action: Literal['demilestoned']) -> _Dec[PullRequestDemilestonedEvent]: ...
668
+ @overload
669
+ def on(self, event: Literal['pull_request'], action: Literal['dequeued']) -> _Dec[PullRequestDequeuedEvent]: ...
670
+ @overload
671
+ def on(self, event: Literal['pull_request'], action: Literal['edited']) -> _Dec[PullRequestEditedEvent]: ...
672
+ @overload
673
+ def on(self, event: Literal['pull_request'], action: Literal['enqueued']) -> _Dec[PullRequestEnqueuedEvent]: ...
674
+ @overload
675
+ def on(self, event: Literal['pull_request'], action: Literal['labeled']) -> _Dec[PullRequestLabeledEvent]: ...
676
+ @overload
677
+ def on(self, event: Literal['pull_request'], action: Literal['locked']) -> _Dec[PullRequestLockedEvent]: ...
678
+ @overload
679
+ def on(self, event: Literal['pull_request'], action: Literal['milestoned']) -> _Dec[PullRequestMilestonedEvent]: ...
680
+ @overload
681
+ def on(self, event: Literal['pull_request'], action: Literal['opened']) -> _Dec[PullRequestOpenedEvent]: ...
682
+ @overload
683
+ def on(self, event: Literal['pull_request'], action: Literal['ready_for_review']) -> _Dec[PullRequestReadyForReviewEvent]: ...
684
+ @overload
685
+ def on(self, event: Literal['pull_request'], action: Literal['reopened']) -> _Dec[PullRequestReopenedEvent]: ...
686
+ @overload
687
+ def on(self, event: Literal['pull_request'], action: Literal['review_request_removed']) -> _Dec[PullRequestReviewRequestRemovedEvent]: ...
688
+ @overload
689
+ def on(self, event: Literal['pull_request'], action: Literal['review_requested']) -> _Dec[PullRequestReviewRequestedEvent]: ...
690
+ @overload
691
+ def on(self, event: Literal['pull_request'], action: Literal['synchronize']) -> _Dec[PullRequestSynchronizeEvent]: ...
692
+ @overload
693
+ def on(self, event: Literal['pull_request'], action: Literal['unassigned']) -> _Dec[PullRequestUnassignedEvent]: ...
694
+ @overload
695
+ def on(self, event: Literal['pull_request'], action: Literal['unlabeled']) -> _Dec[PullRequestUnlabeledEvent]: ...
696
+ @overload
697
+ def on(self, event: Literal['pull_request'], action: Literal['unlocked']) -> _Dec[PullRequestUnlockedEvent]: ...
698
+ @overload
699
+ def on(self, event: Literal['pull_request'], action: list[Literal['assigned', 'auto_merge_disabled', 'auto_merge_enabled', 'closed', 'converted_to_draft', 'demilestoned', 'dequeued', 'edited', 'enqueued', 'labeled', 'locked', 'milestoned', 'opened', 'ready_for_review', 'reopened', 'review_request_removed', 'review_requested', 'synchronize', 'unassigned', 'unlabeled', 'unlocked']] | None = ...) -> _Dec[PullRequestEvent]: ...
700
+ @overload
701
+ def on(self, event: Literal['pull_request_review'], action: Literal['dismissed']) -> _Dec[PullRequestReviewDismissedEvent]: ...
702
+ @overload
703
+ def on(self, event: Literal['pull_request_review'], action: Literal['edited']) -> _Dec[PullRequestReviewEditedEvent]: ...
704
+ @overload
705
+ def on(self, event: Literal['pull_request_review'], action: Literal['submitted']) -> _Dec[PullRequestReviewSubmittedEvent]: ...
706
+ @overload
707
+ def on(self, event: Literal['pull_request_review'], action: list[Literal['dismissed', 'edited', 'submitted']] | None = ...) -> _Dec[PullRequestReviewEvent]: ...
708
+ @overload
709
+ def on(self, event: Literal['pull_request_review_comment'], action: Literal['created']) -> _Dec[PullRequestReviewCommentCreatedEvent]: ...
710
+ @overload
711
+ def on(self, event: Literal['pull_request_review_comment'], action: Literal['deleted']) -> _Dec[PullRequestReviewCommentDeletedEvent]: ...
712
+ @overload
713
+ def on(self, event: Literal['pull_request_review_comment'], action: Literal['edited']) -> _Dec[PullRequestReviewCommentEditedEvent]: ...
714
+ @overload
715
+ def on(self, event: Literal['pull_request_review_comment'], action: list[Literal['created', 'deleted', 'edited']] | None = ...) -> _Dec[PullRequestReviewCommentEvent]: ...
716
+ @overload
717
+ def on(self, event: Literal['pull_request_review_thread'], action: Literal['resolved']) -> _Dec[PullRequestReviewThreadResolvedEvent]: ...
718
+ @overload
719
+ def on(self, event: Literal['pull_request_review_thread'], action: Literal['unresolved']) -> _Dec[PullRequestReviewThreadUnresolvedEvent]: ...
720
+ @overload
721
+ def on(self, event: Literal['pull_request_review_thread'], action: list[Literal['resolved', 'unresolved']] | None = ...) -> _Dec[PullRequestReviewThreadEvent]: ...
722
+ @overload
723
+ def on(self, event: Literal['push'], action: None = ...) -> _Dec[PushEvent]: ...
724
+ @overload
725
+ def on(self, event: Literal['registry_package'], action: Literal['published']) -> _Dec[RegistryPackagePublishedEvent]: ...
726
+ @overload
727
+ def on(self, event: Literal['registry_package'], action: Literal['updated']) -> _Dec[RegistryPackageUpdatedEvent]: ...
728
+ @overload
729
+ def on(self, event: Literal['registry_package'], action: list[Literal['published', 'updated']] | None = ...) -> _Dec[RegistryPackageEvent]: ...
730
+ @overload
731
+ def on(self, event: Literal['release'], action: Literal['created']) -> _Dec[ReleaseCreatedEvent]: ...
732
+ @overload
733
+ def on(self, event: Literal['release'], action: Literal['deleted']) -> _Dec[ReleaseDeletedEvent]: ...
734
+ @overload
735
+ def on(self, event: Literal['release'], action: Literal['edited']) -> _Dec[ReleaseEditedEvent]: ...
736
+ @overload
737
+ def on(self, event: Literal['release'], action: Literal['prereleased']) -> _Dec[ReleasePrereleasedEvent]: ...
738
+ @overload
739
+ def on(self, event: Literal['release'], action: Literal['published']) -> _Dec[ReleasePublishedEvent]: ...
740
+ @overload
741
+ def on(self, event: Literal['release'], action: Literal['released']) -> _Dec[ReleaseReleasedEvent]: ...
742
+ @overload
743
+ def on(self, event: Literal['release'], action: Literal['unpublished']) -> _Dec[ReleaseUnpublishedEvent]: ...
744
+ @overload
745
+ def on(self, event: Literal['release'], action: list[Literal['created', 'deleted', 'edited', 'prereleased', 'published', 'released', 'unpublished']] | None = ...) -> _Dec[ReleaseEvent]: ...
746
+ @overload
747
+ def on(self, event: Literal['repository'], action: Literal['archived']) -> _Dec[RepositoryArchivedEvent]: ...
748
+ @overload
749
+ def on(self, event: Literal['repository'], action: Literal['created']) -> _Dec[RepositoryCreatedEvent]: ...
750
+ @overload
751
+ def on(self, event: Literal['repository'], action: Literal['deleted']) -> _Dec[RepositoryDeletedEvent]: ...
752
+ @overload
753
+ def on(self, event: Literal['repository'], action: Literal['edited']) -> _Dec[RepositoryEditedEvent]: ...
754
+ @overload
755
+ def on(self, event: Literal['repository'], action: Literal['privatized']) -> _Dec[RepositoryPrivatizedEvent]: ...
756
+ @overload
757
+ def on(self, event: Literal['repository'], action: Literal['publicized']) -> _Dec[RepositoryPublicizedEvent]: ...
758
+ @overload
759
+ def on(self, event: Literal['repository'], action: Literal['renamed']) -> _Dec[RepositoryRenamedEvent]: ...
760
+ @overload
761
+ def on(self, event: Literal['repository'], action: Literal['transferred']) -> _Dec[RepositoryTransferredEvent]: ...
762
+ @overload
763
+ def on(self, event: Literal['repository'], action: Literal['unarchived']) -> _Dec[RepositoryUnarchivedEvent]: ...
764
+ @overload
765
+ def on(self, event: Literal['repository'], action: list[Literal['archived', 'created', 'deleted', 'edited', 'privatized', 'publicized', 'renamed', 'transferred', 'unarchived']] | None = ...) -> _Dec[RepositoryEvent]: ...
766
+ @overload
767
+ def on(self, event: Literal['repository_dispatch'], action: None = ...) -> _Dec[RepositoryDispatchEvent]: ...
768
+ @overload
769
+ def on(self, event: Literal['repository_import'], action: None = ...) -> _Dec[RepositoryImportEvent]: ...
770
+ @overload
771
+ def on(self, event: Literal['repository_vulnerability_alert'], action: Literal['create']) -> _Dec[RepositoryVulnerabilityAlertCreateEvent]: ...
772
+ @overload
773
+ def on(self, event: Literal['repository_vulnerability_alert'], action: Literal['dismiss']) -> _Dec[RepositoryVulnerabilityAlertDismissEvent]: ...
774
+ @overload
775
+ def on(self, event: Literal['repository_vulnerability_alert'], action: Literal['reopen']) -> _Dec[RepositoryVulnerabilityAlertReopenEvent]: ...
776
+ @overload
777
+ def on(self, event: Literal['repository_vulnerability_alert'], action: Literal['resolve']) -> _Dec[RepositoryVulnerabilityAlertResolveEvent]: ...
778
+ @overload
779
+ def on(self, event: Literal['repository_vulnerability_alert'], action: list[Literal['create', 'dismiss', 'reopen', 'resolve']] | None = ...) -> _Dec[RepositoryVulnerabilityAlertEvent]: ...
780
+ @overload
781
+ def on(self, event: Literal['secret_scanning_alert'], action: Literal['created']) -> _Dec[SecretScanningAlertCreatedEvent]: ...
782
+ @overload
783
+ def on(self, event: Literal['secret_scanning_alert'], action: Literal['reopened']) -> _Dec[SecretScanningAlertReopenedEvent]: ...
784
+ @overload
785
+ def on(self, event: Literal['secret_scanning_alert'], action: Literal['resolved']) -> _Dec[SecretScanningAlertResolvedEvent]: ...
786
+ @overload
787
+ def on(self, event: Literal['secret_scanning_alert'], action: Literal['revoked']) -> _Dec[SecretScanningAlertRevokedEvent]: ...
788
+ @overload
789
+ def on(self, event: Literal['secret_scanning_alert'], action: list[Literal['created', 'reopened', 'resolved', 'revoked']] | None = ...) -> _Dec[SecretScanningAlertEvent]: ...
790
+ @overload
791
+ def on(self, event: Literal['secret_scanning_alert_location'], action: Literal['created']) -> _Dec[SecretScanningAlertLocationCreatedEvent]: ...
792
+ @overload
793
+ def on(self, event: Literal['secret_scanning_alert_location'], action: list[Literal['created']] | None = ...) -> _Dec[SecretScanningAlertLocationEvent]: ...
794
+ @overload
795
+ def on(self, event: Literal['security_advisory'], action: Literal['performed']) -> _Dec[SecurityAdvisoryPerformedEvent]: ...
796
+ @overload
797
+ def on(self, event: Literal['security_advisory'], action: Literal['published']) -> _Dec[SecurityAdvisoryPublishedEvent]: ...
798
+ @overload
799
+ def on(self, event: Literal['security_advisory'], action: Literal['updated']) -> _Dec[SecurityAdvisoryUpdatedEvent]: ...
800
+ @overload
801
+ def on(self, event: Literal['security_advisory'], action: Literal['withdrawn']) -> _Dec[SecurityAdvisoryWithdrawnEvent]: ...
802
+ @overload
803
+ def on(self, event: Literal['security_advisory'], action: list[Literal['performed', 'published', 'updated', 'withdrawn']] | None = ...) -> _Dec[SecurityAdvisoryEvent]: ...
804
+ @overload
805
+ def on(self, event: Literal['sponsorship'], action: Literal['cancelled']) -> _Dec[SponsorshipCancelledEvent]: ...
806
+ @overload
807
+ def on(self, event: Literal['sponsorship'], action: Literal['created']) -> _Dec[SponsorshipCreatedEvent]: ...
808
+ @overload
809
+ def on(self, event: Literal['sponsorship'], action: Literal['edited']) -> _Dec[SponsorshipEditedEvent]: ...
810
+ @overload
811
+ def on(self, event: Literal['sponsorship'], action: Literal['pending_cancellation']) -> _Dec[SponsorshipPendingCancellationEvent]: ...
812
+ @overload
813
+ def on(self, event: Literal['sponsorship'], action: Literal['pending_tier_change']) -> _Dec[SponsorshipPendingTierChangeEvent]: ...
814
+ @overload
815
+ def on(self, event: Literal['sponsorship'], action: Literal['tier_changed']) -> _Dec[SponsorshipTierChangedEvent]: ...
816
+ @overload
817
+ def on(self, event: Literal['sponsorship'], action: list[Literal['cancelled', 'created', 'edited', 'pending_cancellation', 'pending_tier_change', 'tier_changed']] | None = ...) -> _Dec[SponsorshipEvent]: ...
818
+ @overload
819
+ def on(self, event: Literal['star'], action: Literal['created']) -> _Dec[StarCreatedEvent]: ...
820
+ @overload
821
+ def on(self, event: Literal['star'], action: Literal['deleted']) -> _Dec[StarDeletedEvent]: ...
822
+ @overload
823
+ def on(self, event: Literal['star'], action: list[Literal['created', 'deleted']] | None = ...) -> _Dec[StarEvent]: ...
824
+ @overload
825
+ def on(self, event: Literal['status'], action: None = ...) -> _Dec[StatusEvent]: ...
826
+ @overload
827
+ def on(self, event: Literal['team'], action: Literal['added_to_repository']) -> _Dec[TeamAddedToRepositoryEvent]: ...
828
+ @overload
829
+ def on(self, event: Literal['team'], action: Literal['created']) -> _Dec[TeamCreatedEvent]: ...
830
+ @overload
831
+ def on(self, event: Literal['team'], action: Literal['deleted']) -> _Dec[TeamDeletedEvent]: ...
832
+ @overload
833
+ def on(self, event: Literal['team'], action: Literal['edited']) -> _Dec[TeamEditedEvent]: ...
834
+ @overload
835
+ def on(self, event: Literal['team'], action: Literal['removed_from_repository']) -> _Dec[TeamRemovedFromRepositoryEvent]: ...
836
+ @overload
837
+ def on(self, event: Literal['team'], action: list[Literal['added_to_repository', 'created', 'deleted', 'edited', 'removed_from_repository']] | None = ...) -> _Dec[TeamEvent]: ...
838
+ @overload
839
+ def on(self, event: Literal['team_add'], action: None = ...) -> _Dec[TeamAddEvent]: ...
840
+ @overload
841
+ def on(self, event: Literal['watch'], action: Literal['started']) -> _Dec[WatchStartedEvent]: ...
842
+ @overload
843
+ def on(self, event: Literal['watch'], action: list[Literal['started']] | None = ...) -> _Dec[WatchEvent]: ...
844
+ @overload
845
+ def on(self, event: Literal['workflow_dispatch'], action: None = ...) -> _Dec[WorkflowDispatchEvent]: ...
846
+ @overload
847
+ def on(self, event: Literal['workflow_job'], action: Literal['completed']) -> _Dec[WorkflowJobCompletedEvent]: ...
848
+ @overload
849
+ def on(self, event: Literal['workflow_job'], action: Literal['in_progress']) -> _Dec[WorkflowJobInProgressEvent]: ...
850
+ @overload
851
+ def on(self, event: Literal['workflow_job'], action: Literal['queued']) -> _Dec[WorkflowJobQueuedEvent]: ...
852
+ @overload
853
+ def on(self, event: Literal['workflow_job'], action: Literal['waiting']) -> _Dec[WorkflowJobWaitingEvent]: ...
854
+ @overload
855
+ def on(self, event: Literal['workflow_job'], action: list[Literal['completed', 'in_progress', 'queued', 'waiting']] | None = ...) -> _Dec[WorkflowJobEvent]: ...
856
+ @overload
857
+ def on(self, event: Literal['workflow_run'], action: Literal['completed']) -> _Dec[WorkflowRunCompletedEvent]: ...
858
+ @overload
859
+ def on(self, event: Literal['workflow_run'], action: Literal['in_progress']) -> _Dec[WorkflowRunInProgressEvent]: ...
860
+ @overload
861
+ def on(self, event: Literal['workflow_run'], action: Literal['requested']) -> _Dec[WorkflowRunRequestedEvent]: ...
862
+ @overload
863
+ def on(self, event: Literal['workflow_run'], action: list[Literal['completed', 'in_progress', 'requested']] | None = ...) -> _Dec[WorkflowRunEvent]: ...
864
+ @overload
865
+ def on(self, event: str, action: str | list[str] | None = ...) -> _Dec[Any]: ...
866
+ # Sequence, not list: `list` invariance would reject the list[Literal[...]]
867
+ # overloads above (the runtime dedupes any iterable anyway).
868
+ def on(self, event: str, action: str | Sequence[str] | None = ...) -> Callable[..., Any]: ...
869
+ def on_any(self, fn: _F) -> _F: ...
870
+ def verify_signature(self, body: bytes, signature_256: str | None) -> None: ...
871
+ async def dispatch(
872
+ self,
873
+ event: str,
874
+ body: bytes | str | dict[str, Any],
875
+ *,
876
+ signature_256: str | None = ...,
877
+ ) -> Any: ...
878
+ def as_fastapi_router(self, *, path: str = ...) -> Any: ...