@volter/twin-github 0.1.2 → 2.0.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 (215) hide show
  1. package/README.md +88 -36
  2. package/client/github-mirror.css +277 -319
  3. package/client/github-mirror.d.ts +418 -0
  4. package/client/github-mirror.js +485 -0
  5. package/client/github-mirror.tsx +153 -357
  6. package/client/pulls-rest.ts +159 -0
  7. package/client/pulls-workspace.tsx +841 -0
  8. package/dist/client/github-mirror.bundle.js +239 -0
  9. package/dist/client/github-mirror.css +916 -0
  10. package/dist/client/github-mirror.d.ts +418 -0
  11. package/dist/client/github-mirror.js +485 -0
  12. package/dist/client/github-mirror.tsx +1315 -0
  13. package/dist/client/pulls-rest.d.ts +42 -0
  14. package/dist/client/pulls-rest.js +140 -0
  15. package/dist/client/pulls-rest.ts +159 -0
  16. package/dist/client/pulls-workspace.bundle.js +22 -0
  17. package/dist/client/pulls-workspace.d.ts +114 -0
  18. package/dist/client/pulls-workspace.js +418 -0
  19. package/dist/client/pulls-workspace.tsx +841 -0
  20. package/dist/src/cli.d.ts +2 -0
  21. package/dist/src/cli.js +40 -0
  22. package/dist/src/generated/graphql-sdl.gen.json +1 -0
  23. package/dist/src/generated/graphql.gen.json +1 -0
  24. package/dist/src/generated/surface.gen.json +1 -0
  25. package/dist/src/generated/ui.gen.json +1 -0
  26. package/dist/src/github-budget.d.ts +69 -0
  27. package/dist/src/github-budget.js +172 -0
  28. package/dist/src/github-capabilities.d.ts +5 -0
  29. package/dist/src/github-capabilities.js +4468 -0
  30. package/dist/src/github-conformance.d.ts +43 -0
  31. package/dist/src/github-conformance.js +76 -0
  32. package/dist/src/github-connector.d.ts +307 -0
  33. package/dist/src/github-connector.js +1398 -0
  34. package/dist/src/github-events.d.ts +41 -0
  35. package/dist/src/github-events.js +230 -0
  36. package/dist/src/github-git-http.d.ts +49 -0
  37. package/dist/src/github-git-http.js +185 -0
  38. package/dist/src/github-git-plane.d.ts +114 -0
  39. package/dist/src/github-git-plane.js +407 -0
  40. package/dist/src/github-mirror-state.d.ts +2 -0
  41. package/dist/src/github-mirror-state.js +335 -0
  42. package/dist/src/github-mirror-ui.d.ts +20 -0
  43. package/dist/src/github-mirror-ui.js +101 -0
  44. package/dist/src/github-server.d.ts +14 -0
  45. package/dist/src/github-server.js +240 -0
  46. package/dist/src/github-shared.d.ts +12 -0
  47. package/dist/src/github-shared.js +21 -0
  48. package/dist/src/github-twin.d.ts +1411 -0
  49. package/dist/src/github-twin.js +4084 -0
  50. package/dist/src/github-ui-conformance.d.ts +4 -0
  51. package/dist/src/github-ui-conformance.js +105 -0
  52. package/dist/src/github-ui-structure.d.ts +18 -0
  53. package/dist/src/github-ui-structure.js +251 -0
  54. package/dist/src/graphql-wire.d.ts +22 -0
  55. package/dist/src/graphql-wire.js +89 -0
  56. package/dist/src/index.d.ts +17 -0
  57. package/dist/src/index.js +101 -0
  58. package/dist/src/manifest.d.ts +8 -0
  59. package/dist/src/manifest.js +597 -0
  60. package/dist/src/npm-registry.d.ts +7 -0
  61. package/dist/src/npm-registry.js +47 -0
  62. package/dist/src/screens/app-installation.d.ts +3 -0
  63. package/dist/src/screens/app-installation.js +166 -0
  64. package/dist/src/screens/app-manifest.d.ts +3 -0
  65. package/dist/src/screens/app-manifest.js +81 -0
  66. package/dist/src/screens/oauth.d.ts +15 -0
  67. package/dist/src/screens/oauth.js +257 -0
  68. package/dist/src/screens/session.d.ts +8 -0
  69. package/dist/src/screens/session.js +159 -0
  70. package/dist/src/semantics/actions.d.ts +2 -0
  71. package/dist/src/semantics/actions.js +413 -0
  72. package/dist/src/semantics/activity.d.ts +4 -0
  73. package/dist/src/semantics/activity.js +161 -0
  74. package/dist/src/semantics/apps.d.ts +2 -0
  75. package/dist/src/semantics/apps.js +144 -0
  76. package/dist/src/semantics/branches.d.ts +2 -0
  77. package/dist/src/semantics/branches.js +136 -0
  78. package/dist/src/semantics/checks.d.ts +2 -0
  79. package/dist/src/semantics/checks.js +176 -0
  80. package/dist/src/semantics/code-scanning-upload.d.ts +2 -0
  81. package/dist/src/semantics/code-scanning-upload.js +97 -0
  82. package/dist/src/semantics/codespaces.d.ts +2 -0
  83. package/dist/src/semantics/codespaces.js +58 -0
  84. package/dist/src/semantics/commits.d.ts +2 -0
  85. package/dist/src/semantics/commits.js +109 -0
  86. package/dist/src/semantics/contents.d.ts +2 -0
  87. package/dist/src/semantics/contents.js +131 -0
  88. package/dist/src/semantics/deployments.d.ts +2 -0
  89. package/dist/src/semantics/deployments.js +127 -0
  90. package/dist/src/semantics/gists.d.ts +2 -0
  91. package/dist/src/semantics/gists.js +86 -0
  92. package/dist/src/semantics/git.d.ts +2 -0
  93. package/dist/src/semantics/git.js +235 -0
  94. package/dist/src/semantics/graphql.d.ts +7 -0
  95. package/dist/src/semantics/graphql.js +512 -0
  96. package/dist/src/semantics/index.d.ts +5 -0
  97. package/dist/src/semantics/index.js +62 -0
  98. package/dist/src/semantics/issues.d.ts +2 -0
  99. package/dist/src/semantics/issues.js +456 -0
  100. package/dist/src/semantics/keys.d.ts +2 -0
  101. package/dist/src/semantics/keys.js +66 -0
  102. package/dist/src/semantics/labels.d.ts +2 -0
  103. package/dist/src/semantics/labels.js +100 -0
  104. package/dist/src/semantics/meta.d.ts +12 -0
  105. package/dist/src/semantics/meta.js +144 -0
  106. package/dist/src/semantics/notifications.d.ts +4 -0
  107. package/dist/src/semantics/notifications.js +62 -0
  108. package/dist/src/semantics/orgs.d.ts +2 -0
  109. package/dist/src/semantics/orgs.js +420 -0
  110. package/dist/src/semantics/packages.d.ts +2 -0
  111. package/dist/src/semantics/packages.js +55 -0
  112. package/dist/src/semantics/pages.d.ts +2 -0
  113. package/dist/src/semantics/pages.js +176 -0
  114. package/dist/src/semantics/projects.d.ts +2 -0
  115. package/dist/src/semantics/projects.js +239 -0
  116. package/dist/src/semantics/pulls.d.ts +2 -0
  117. package/dist/src/semantics/pulls.js +462 -0
  118. package/dist/src/semantics/push-reactions.d.ts +101 -0
  119. package/dist/src/semantics/push-reactions.js +513 -0
  120. package/dist/src/semantics/releases.d.ts +19 -0
  121. package/dist/src/semantics/releases.js +231 -0
  122. package/dist/src/semantics/repo-invitations.d.ts +2 -0
  123. package/dist/src/semantics/repo-invitations.js +98 -0
  124. package/dist/src/semantics/repos.d.ts +17 -0
  125. package/dist/src/semantics/repos.js +390 -0
  126. package/dist/src/semantics/rulesets.d.ts +2 -0
  127. package/dist/src/semantics/rulesets.js +111 -0
  128. package/dist/src/semantics/search.d.ts +2 -0
  129. package/dist/src/semantics/search.js +84 -0
  130. package/dist/src/semantics/security.d.ts +2 -0
  131. package/dist/src/semantics/security.js +177 -0
  132. package/dist/src/semantics/shared.d.ts +61 -0
  133. package/dist/src/semantics/shared.js +151 -0
  134. package/dist/src/semantics/users.d.ts +2 -0
  135. package/dist/src/semantics/users.js +255 -0
  136. package/dist/src/semantics/webhooks.d.ts +2 -0
  137. package/dist/src/semantics/webhooks.js +107 -0
  138. package/dist/test-fixtures/github-a11y-reference.pr-list.SOURCE.md +56 -0
  139. package/dist/test-fixtures/github-a11y-reference.pr-list.json +1447 -0
  140. package/dist/test-fixtures/github-comment-schema.SOURCE.md +11 -0
  141. package/dist/test-fixtures/github-comment-schema.json +702 -0
  142. package/dist/test-fixtures/github-known-deviations.json +94 -0
  143. package/dist/test-fixtures/github-openapi-operations.SOURCE.md +76 -0
  144. package/dist/test-fixtures/github-openapi-operations.json +362 -0
  145. package/dist/test-fixtures/github-pull-schema.SOURCE.md +37 -0
  146. package/dist/test-fixtures/github-pull-schema.json +3601 -0
  147. package/dist/test-fixtures/github-review-schema.SOURCE.md +12 -0
  148. package/dist/test-fixtures/github-review-schema.json +236 -0
  149. package/package.json +20 -11
  150. package/src/cli.ts +7 -6
  151. package/src/generated/graphql-sdl.gen.json +1 -0
  152. package/src/generated/graphql.gen.json +1 -0
  153. package/src/generated/surface.gen.json +1 -0
  154. package/src/generated/ui.gen.json +1 -0
  155. package/src/github-a11y-snapshot.uitest.ts +5 -5
  156. package/src/github-budget.ts +4 -4
  157. package/src/github-capabilities.ts +1993 -556
  158. package/src/github-conformance.ts +12 -7
  159. package/src/github-connector.ts +108 -96
  160. package/src/github-events.ts +223 -95
  161. package/src/github-git-http.ts +47 -83
  162. package/src/github-git-plane.ts +247 -385
  163. package/src/github-journey.uitest.ts +28 -44
  164. package/src/github-mirror-state.ts +23 -61
  165. package/src/github-mirror-ui.ts +16 -10
  166. package/src/github-server.ts +158 -60
  167. package/src/github-shared.ts +1 -1
  168. package/src/github-twin.ts +1525 -4494
  169. package/src/github-ui-conformance.ts +7 -8
  170. package/src/github-ui-structure.ts +19 -18
  171. package/src/graphql-wire.ts +115 -0
  172. package/src/index.ts +47 -7
  173. package/src/manifest.ts +605 -0
  174. package/src/npm-registry.ts +43 -0
  175. package/src/screens/app-installation.tsx +217 -0
  176. package/src/screens/app-manifest.tsx +97 -0
  177. package/src/screens/oauth.tsx +258 -0
  178. package/src/screens/session.tsx +186 -0
  179. package/src/semantics/actions.ts +395 -0
  180. package/src/semantics/activity.ts +171 -0
  181. package/src/semantics/apps.ts +133 -0
  182. package/src/semantics/branches.ts +133 -0
  183. package/src/semantics/checks.ts +163 -0
  184. package/src/semantics/code-scanning-upload.ts +92 -0
  185. package/src/semantics/codespaces.ts +58 -0
  186. package/src/semantics/commits.ts +109 -0
  187. package/src/semantics/contents.ts +112 -0
  188. package/src/semantics/deployments.ts +116 -0
  189. package/src/semantics/gists.ts +85 -0
  190. package/src/semantics/git.ts +226 -0
  191. package/src/semantics/graphql.ts +505 -0
  192. package/src/semantics/index.ts +68 -0
  193. package/src/semantics/issues.ts +434 -0
  194. package/src/semantics/keys.ts +66 -0
  195. package/src/semantics/labels.ts +91 -0
  196. package/src/semantics/meta.ts +139 -0
  197. package/src/semantics/notifications.ts +58 -0
  198. package/src/semantics/orgs.ts +383 -0
  199. package/src/semantics/packages.ts +59 -0
  200. package/src/semantics/pages.ts +154 -0
  201. package/src/semantics/projects.ts +246 -0
  202. package/src/semantics/pulls.ts +421 -0
  203. package/src/semantics/push-reactions.ts +471 -0
  204. package/src/semantics/releases.ts +213 -0
  205. package/src/semantics/repo-invitations.ts +112 -0
  206. package/src/semantics/repos.ts +373 -0
  207. package/src/semantics/rulesets.ts +107 -0
  208. package/src/semantics/search.ts +83 -0
  209. package/src/semantics/security.ts +153 -0
  210. package/src/semantics/shared.ts +181 -0
  211. package/src/semantics/users.ts +252 -0
  212. package/src/semantics/webhooks.ts +101 -0
  213. package/test-fixtures/github-known-deviations.json +7 -8
  214. package/test-fixtures/github-openapi-operations.json +46 -227
  215. package/src/github-graphql.ts +0 -398
@@ -0,0 +1,418 @@
1
+ import React from "react";
2
+ export type PullRequest = {
3
+ repo: string;
4
+ number: number;
5
+ title?: string;
6
+ body?: string;
7
+ state?: string;
8
+ url?: string;
9
+ baseBranch?: string;
10
+ headBranch?: string;
11
+ headSha?: string;
12
+ mergeCommit?: string;
13
+ mergedAt?: string;
14
+ sourceIssue?: string;
15
+ sourceIssueTitle?: string;
16
+ source?: string;
17
+ author?: string;
18
+ authorAvatarUrl?: string;
19
+ createdAt?: string;
20
+ updatedAt?: string;
21
+ additions?: number;
22
+ deletions?: number;
23
+ changedFiles?: number;
24
+ commitsCount?: number;
25
+ commentsCount?: number;
26
+ reviewCount?: number;
27
+ reviewCommentsCount?: number;
28
+ merged?: boolean;
29
+ labels?: Array<{
30
+ name: string;
31
+ color?: string;
32
+ description?: string;
33
+ }>;
34
+ assignees?: string[];
35
+ requestedReviewers?: string[];
36
+ milestone?: string;
37
+ ciStatus?: string;
38
+ };
39
+ export type LinkedRef = {
40
+ type: "pull_request" | "issue";
41
+ number: number;
42
+ url?: string;
43
+ };
44
+ export type Issue = {
45
+ repo: string;
46
+ number: number;
47
+ title?: string;
48
+ body?: string;
49
+ state?: string;
50
+ url?: string;
51
+ createdAt?: string;
52
+ updatedAt?: string;
53
+ labels?: Array<{
54
+ name: string;
55
+ color?: string;
56
+ description?: string;
57
+ }>;
58
+ assignees?: string[];
59
+ milestone?: string;
60
+ linked?: LinkedRef[];
61
+ stateReason?: string;
62
+ locked?: boolean;
63
+ comments?: Array<{
64
+ id: number;
65
+ author?: string;
66
+ body?: string;
67
+ createdAt?: string;
68
+ }>;
69
+ timeline?: Array<{
70
+ event: string;
71
+ detail?: string;
72
+ }>;
73
+ };
74
+ export type Review = {
75
+ repo: string;
76
+ number: number;
77
+ reviewer?: string;
78
+ state?: string;
79
+ body?: string;
80
+ score?: number;
81
+ reviewerAvatarUrl?: string;
82
+ submittedAt?: string;
83
+ observed?: boolean;
84
+ };
85
+ export type Commit = {
86
+ repo: string;
87
+ number: number;
88
+ sha: string;
89
+ message?: string;
90
+ author?: string;
91
+ authorLogin?: string;
92
+ authorAvatarUrl?: string;
93
+ date?: string;
94
+ url?: string;
95
+ };
96
+ export type Comment = {
97
+ repo: string;
98
+ number: number;
99
+ author?: string;
100
+ authorAvatarUrl?: string;
101
+ body?: string;
102
+ createdAt?: string;
103
+ url?: string;
104
+ path?: string;
105
+ observed?: boolean;
106
+ };
107
+ export type ChangedFile = {
108
+ repo: string;
109
+ number: number;
110
+ filename: string;
111
+ status?: string;
112
+ additions?: number;
113
+ deletions?: number;
114
+ changes?: number;
115
+ patch?: string;
116
+ };
117
+ export type Workflow = {
118
+ repo: string;
119
+ id: number;
120
+ name: string;
121
+ path: string;
122
+ state?: string;
123
+ };
124
+ export type JobStep = {
125
+ name: string;
126
+ status?: string;
127
+ conclusion?: string;
128
+ number: number;
129
+ };
130
+ export type Job = {
131
+ repo: string;
132
+ id: number;
133
+ runId: number;
134
+ name: string;
135
+ status?: string;
136
+ conclusion?: string;
137
+ steps?: JobStep[];
138
+ };
139
+ export type WorkflowRun = {
140
+ repo: string;
141
+ id: number;
142
+ workflowId: number;
143
+ workflowName?: string;
144
+ name?: string;
145
+ runNumber: number;
146
+ event?: string;
147
+ status?: string;
148
+ conclusion?: string;
149
+ headSha?: string;
150
+ headBranch?: string;
151
+ createdAt?: string;
152
+ updatedAt?: string;
153
+ url?: string;
154
+ jobCount?: number;
155
+ };
156
+ export type ReleaseAsset = {
157
+ id: number;
158
+ name: string;
159
+ label?: string;
160
+ contentType?: string;
161
+ size?: number;
162
+ downloadCount?: number;
163
+ };
164
+ export type Release = {
165
+ repo: string;
166
+ id: number;
167
+ tagName: string;
168
+ name?: string;
169
+ body?: string;
170
+ draft?: boolean;
171
+ prerelease?: boolean;
172
+ createdAt?: string;
173
+ publishedAt?: string;
174
+ targetCommitish?: string;
175
+ url?: string;
176
+ assets?: ReleaseAsset[];
177
+ };
178
+ export type Tag = {
179
+ repo: string;
180
+ name: string;
181
+ commitSha: string;
182
+ };
183
+ export type DiscussionComment = {
184
+ id: number;
185
+ parentId?: number | null;
186
+ body?: string;
187
+ isAnswer?: boolean;
188
+ createdAt?: string;
189
+ };
190
+ export type Discussion = {
191
+ repo: string;
192
+ number: number;
193
+ title?: string;
194
+ body?: string;
195
+ state?: string;
196
+ locked?: boolean;
197
+ categorySlug?: string;
198
+ categoryName?: string;
199
+ categoryEmoji?: string;
200
+ isAnswerable?: boolean;
201
+ answerCommentId?: number | null;
202
+ isAnswered?: boolean;
203
+ commentsCount?: number;
204
+ createdAt?: string;
205
+ updatedAt?: string;
206
+ url?: string;
207
+ comments?: DiscussionComment[];
208
+ };
209
+ export type DeploymentStatusEntry = {
210
+ id: number;
211
+ state: string;
212
+ description?: string;
213
+ createdAt?: string;
214
+ };
215
+ export type Deployment = {
216
+ repo: string;
217
+ id: number;
218
+ ref: string;
219
+ sha?: string;
220
+ environment: string;
221
+ task?: string;
222
+ description?: string;
223
+ production?: boolean;
224
+ transient?: boolean;
225
+ createdAt?: string;
226
+ state: string;
227
+ environmentUrl?: string;
228
+ url?: string;
229
+ statuses?: DeploymentStatusEntry[];
230
+ };
231
+ export type Environment = {
232
+ repo: string;
233
+ name: string;
234
+ waitTimer?: number;
235
+ reviewers?: string[];
236
+ protected?: boolean;
237
+ };
238
+ type ProjectCard = {
239
+ id: number;
240
+ title: string;
241
+ contentType: string;
242
+ };
243
+ type ProjectColumn = {
244
+ name: string;
245
+ cards: ProjectCard[];
246
+ };
247
+ type ProjectBoard = {
248
+ id: number;
249
+ number: number;
250
+ title: string;
251
+ owner: string;
252
+ closed: boolean;
253
+ views: Array<{
254
+ number: number;
255
+ name: string;
256
+ layout: string;
257
+ }>;
258
+ fields: Array<{
259
+ name: string;
260
+ dataType: string;
261
+ }>;
262
+ itemCount: number;
263
+ columns: ProjectColumn[];
264
+ noStatus: ProjectColumn;
265
+ url: string;
266
+ };
267
+ type RepoInsights = {
268
+ repo: string;
269
+ pulse: {
270
+ mergedPrs: number;
271
+ openPrs: number;
272
+ openedIssues: number;
273
+ closedIssues: number;
274
+ };
275
+ contributors: Array<{
276
+ login: string;
277
+ commits: number;
278
+ }>;
279
+ };
280
+ type RepoSettings = {
281
+ repo: string;
282
+ general: {
283
+ defaultBranch?: string;
284
+ private: boolean;
285
+ hasIssues: boolean;
286
+ hasProjects: boolean;
287
+ hasWiki: boolean;
288
+ hasDiscussions: boolean;
289
+ description: string | null;
290
+ };
291
+ collaborators: Array<{
292
+ login: string;
293
+ permission: string;
294
+ }>;
295
+ webhooks: Array<{
296
+ id: number;
297
+ url?: string;
298
+ active: boolean;
299
+ events: string[];
300
+ }>;
301
+ branches: Array<{
302
+ name: string;
303
+ protected: boolean;
304
+ }>;
305
+ };
306
+ export declare function CiStatus({ status }: {
307
+ status?: string;
308
+ }): React.JSX.Element | null;
309
+ export declare function RunStatusBadge({ status, conclusion }: {
310
+ status?: string;
311
+ conclusion?: string | null;
312
+ }): React.JSX.Element;
313
+ export declare function PrList({ prs, reviews, selectedKey, onSelect }: {
314
+ prs: PullRequest[];
315
+ reviews: Review[];
316
+ selectedKey?: string;
317
+ onSelect?: (key: string) => void;
318
+ }): React.JSX.Element;
319
+ export declare function IssuesTable({ issues, onSelect }: {
320
+ issues: Issue[];
321
+ onSelect?: (key: string) => void;
322
+ }): React.JSX.Element;
323
+ export declare function FilesDiff({ files }: {
324
+ files: ChangedFile[];
325
+ }): React.JSX.Element;
326
+ export declare function IssueDetail({ issue }: {
327
+ issue?: Issue;
328
+ }): React.JSX.Element;
329
+ export type ContentEntry = {
330
+ repo: string;
331
+ path: string;
332
+ size?: number;
333
+ sha?: string;
334
+ branch?: string;
335
+ };
336
+ export declare function CodeBrowser({ contents }: {
337
+ contents: ContentEntry[];
338
+ }): React.JSX.Element;
339
+ export declare function SearchView({ query, prs, issues, contents }: {
340
+ query: string;
341
+ prs: PullRequest[];
342
+ issues: Issue[];
343
+ contents: ContentEntry[];
344
+ }): React.JSX.Element;
345
+ export type NotificationEntry = {
346
+ id: string;
347
+ repo: string;
348
+ title: string;
349
+ type: string;
350
+ reason: string;
351
+ unread: boolean;
352
+ updatedAt?: string;
353
+ };
354
+ export declare function NotificationsView({ notifications }: {
355
+ notifications: NotificationEntry[];
356
+ }): React.JSX.Element;
357
+ export declare function DeploymentState({ state }: {
358
+ state?: string;
359
+ }): React.JSX.Element;
360
+ export declare function DeploymentsView({ deployments, environments }: {
361
+ deployments: Deployment[];
362
+ environments: Environment[];
363
+ }): React.JSX.Element;
364
+ export declare function ProjectBoardView({ boards, selectedId, onSelect }: {
365
+ boards: ProjectBoard[];
366
+ selectedId?: number;
367
+ onSelect: (id: number) => void;
368
+ }): React.JSX.Element;
369
+ export declare function InsightsView({ insights }: {
370
+ insights: RepoInsights[];
371
+ }): React.JSX.Element;
372
+ export declare function SettingsView({ settings }: {
373
+ settings: RepoSettings[];
374
+ }): React.JSX.Element;
375
+ export declare function ActionsView({ runs, jobs, selectedRunId, onSelect }: {
376
+ runs: WorkflowRun[];
377
+ jobs: Job[];
378
+ selectedRunId?: number;
379
+ onSelect?: (id: number) => void;
380
+ }): React.JSX.Element;
381
+ export declare function ReleaseBadge({ draft, prerelease }: {
382
+ draft?: boolean;
383
+ prerelease?: boolean;
384
+ }): React.JSX.Element;
385
+ export declare function ReleasesView({ releases, selectedReleaseId, onSelect }: {
386
+ releases: Release[];
387
+ selectedReleaseId?: number;
388
+ onSelect?: (id: number) => void;
389
+ }): React.JSX.Element;
390
+ export declare function DiscussionCategoryBadge({ name, emoji, answerable }: {
391
+ name?: string;
392
+ emoji?: string;
393
+ answerable?: boolean;
394
+ }): React.JSX.Element | null;
395
+ export declare function DiscussionAnswerBadge({ answerable, answered }: {
396
+ answerable?: boolean;
397
+ answered?: boolean;
398
+ }): React.JSX.Element | null;
399
+ export declare function DiscussionsView({ discussions, selectedKey, onSelect }: {
400
+ discussions: Discussion[];
401
+ selectedKey?: string;
402
+ onSelect?: (key: string) => void;
403
+ }): React.JSX.Element;
404
+ export declare function Conversation({ pr, reviews, commits, comments, reviewComments, files }: {
405
+ pr?: PullRequest;
406
+ reviews: Review[];
407
+ commits: Commit[];
408
+ comments: Comment[];
409
+ reviewComments: Comment[];
410
+ files: ChangedFile[];
411
+ }): React.JSX.Element;
412
+ export declare function Aside({ pr, reviews, commits, files }: {
413
+ pr?: PullRequest;
414
+ reviews: Review[];
415
+ commits: Commit[];
416
+ files: ChangedFile[];
417
+ }): React.JSX.Element;
418
+ export {};