@maxim_mazurok/gapi.client.firebasecrashlytics-v1alpha 0.0.0 → 0.0.20260709

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 (4) hide show
  1. package/index.d.ts +1025 -1
  2. package/package.json +16 -3
  3. package/readme.md +95 -0
  4. package/README.md +0 -3
package/index.d.ts CHANGED
@@ -1 +1,1025 @@
1
- export {};
1
+ /* Type definitions for non-npm package Firebase Crashlytics API v1alpha 0.0 */
2
+ // Project: https://firebase.google.com/docs/crashlytics
3
+ // Definitions by: Maxim Mazurok <https://github.com/Maxim-Mazurok>
4
+ // Nick Amoscato <https://github.com/namoscato>
5
+ // Declan Vong <https://github.com/declanvong>
6
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
7
+
8
+ // IMPORTANT
9
+ // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
10
+ // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
11
+ // Generated from: https://firebasecrashlytics.googleapis.com/$discovery/rest?version=v1alpha
12
+ // Revision: 20260709
13
+
14
+ /// <reference types="gapi.client" />
15
+
16
+ declare namespace gapi.client {
17
+ /** Load Firebase Crashlytics API v1alpha */
18
+ function load(
19
+ urlOrObject: 'https://firebasecrashlytics.googleapis.com/$discovery/rest?version=v1alpha',
20
+ ): Promise<void>;
21
+ /** @deprecated Please load APIs with discovery documents. */
22
+ function load(name: 'firebasecrashlytics', version: 'v1alpha'): Promise<void>;
23
+ /** @deprecated Please load APIs with discovery documents. */
24
+ function load(
25
+ name: 'firebasecrashlytics',
26
+ version: 'v1alpha',
27
+ callback: () => any,
28
+ ): void;
29
+
30
+ namespace firebasecrashlytics {
31
+ interface BatchGetEventsResponse {
32
+ /** The list of retrieved events. */
33
+ events?: Event[];
34
+ }
35
+ interface BatchUpdateIssuesRequest {
36
+ /** Required. The request message specifying the resources to update. A maximum of 100 issues can be modified in a batch. */
37
+ requests?: UpdateIssueRequest[];
38
+ /** Optional. The list of Issue fields to update. If this is set, the update_mask field in the UpdateIssueRequest messages must either be empty or match this field. */
39
+ updateMask?: string;
40
+ }
41
+ interface BatchUpdateIssuesResponse {
42
+ /** Issues updated in the same order as in BatchUpdateIssuesRequest. */
43
+ issues?: Issue[];
44
+ }
45
+ interface Breadcrumb {
46
+ /** Device timestamp for the event. */
47
+ eventTime?: string;
48
+ /** Event parameters. */
49
+ params?: {[P in string]: string};
50
+ /** Analytic event name. */
51
+ title?: string;
52
+ }
53
+ interface Browser {
54
+ /** Browser name. */
55
+ browser?: string;
56
+ /** Browser name and version number. Formatted to be suitable for passing to BrowserFilter. */
57
+ displayName?: string;
58
+ /** Browser display version number. */
59
+ displayVersion?: string;
60
+ }
61
+ interface DeleteUserCrashReportsResponse {
62
+ /** Target time to complete the delete crash reports operation. */
63
+ targetCompleteTime?: string;
64
+ }
65
+ interface Device {
66
+ /** Device processor architecture. */
67
+ architecture?: string;
68
+ /** An invariant name of the manufacturer that submitted this product in its most recognizable public form, e.g. "Google". */
69
+ companyName?: string;
70
+ /** Full device name, suitable for passing to DeviceFilter. Format: "manufacturer (model)". */
71
+ displayName?: string;
72
+ /** See FormFactor message. */
73
+ formFactor?:
74
+ | 'FORM_FACTOR_UNSPECIFIED'
75
+ | 'PHONE'
76
+ | 'TABLET'
77
+ | 'DESKTOP'
78
+ | 'TV'
79
+ | 'WATCH';
80
+ /** Device brand name which is consistent with android.os.Build.BRAND. */
81
+ manufacturer?: string;
82
+ /** Marketing name, most recognizable public form, e.g. "Pixel 6". */
83
+ marketingName?: string;
84
+ /** The model name which is consistent with android.os.Build.MODEL, e.g. ("SPH-L710", "GT-I9300"). */
85
+ model?: string;
86
+ }
87
+ interface Empty {}
88
+ interface Error {
89
+ /** True when the Crashlytics analysis has determined that the stacktrace in this error is where the fault occurred. */
90
+ blamed?: boolean;
91
+ /** Error code associated with the app's custom logged NSError. */
92
+ code?: string;
93
+ /** The frames in the error's stacktrace. */
94
+ frames?: Frame[];
95
+ /** The queue on which the thread was running. */
96
+ queue?: string;
97
+ /** The subtitle of the error. */
98
+ subtitle?: string;
99
+ /** The title of the error. */
100
+ title?: string;
101
+ }
102
+ interface Event {
103
+ /** App orientation at the time of the crash (portrait or landscape). */
104
+ appOrientation?: string;
105
+ /** The stack trace frame blamed by Crashlytics processing. May not be present in future analyzer. */
106
+ blameFrame?: Frame;
107
+ /** Analytics events recorded by the analytics SDK during the session. */
108
+ breadcrumbs?: Breadcrumb[];
109
+ /** Browser and version. */
110
+ browser?: Browser;
111
+ /** Metadata provided by the app's build system, including version control repository info. */
112
+ buildStamp?: string;
113
+ /** The bundle name for iOS apps or the package name of Android apps. Format: "com.mycompany.myapp". */
114
+ bundleOrPackage?: string;
115
+ /** Crashlytics SDK version. */
116
+ crashlyticsSdkVersion?: string;
117
+ /** Custom keys set by the developer during the session. */
118
+ customKeys?: {[P in string]: string};
119
+ /** Mobile device metadata. */
120
+ device?: Device;
121
+ /** Device orientation at the time of the crash (portrait or landscape). */
122
+ deviceOrientation?: string;
123
+ /** Apple only. A non-fatal error captured by the iOS SDK and its stacktrace. */
124
+ errors?: Error[];
125
+ /** Output only. Immutable. The unique event identifier is assigned during processing. */
126
+ eventId?: string;
127
+ /** Device timestamp that the event was recorded. */
128
+ eventTime?: string;
129
+ /** Android and web only. Exceptions that occurred during this event. Nested exceptions are presented in reverse chronological order, so that the last record is the first exception thrown. */
130
+ exceptions?: Exception[];
131
+ /** Unique identifier for the device-app installation. This field is used to compute the unique number of impacted users. */
132
+ installationUuid?: string;
133
+ /** Details for the [Issue] assigned to this [Event]. */
134
+ issue?: Issue;
135
+ /** The subtitle of the issue in which the event was grouped. This is usually a symbol or an exception message. */
136
+ issueSubtitle?: string;
137
+ /** The title of the issue in which the event was grouped. This is usually a source file or method name. */
138
+ issueTitle?: string;
139
+ /** Details for the [IssueVariant] assigned to this [Event]. */
140
+ issueVariant?: IssueVariant;
141
+ /** Log messages recorded by the developer during the session. */
142
+ logs?: Log[];
143
+ /** Mobile device memory usage. */
144
+ memory?: Memory;
145
+ /** Required. Output only. Immutable. Identifier. The name of the event resource. Format: "projects/{project}/apps/{app_id}/events/{event}". */
146
+ name?: string;
147
+ /** Operating system and version. */
148
+ operatingSystem?: OperatingSystem;
149
+ /** ANDROID, IOS, or WEB. */
150
+ platform?: string;
151
+ /** The state of the app process at the time of the event. */
152
+ processState?: string;
153
+ /** Server timestamp that the event was received by Crashlytics. */
154
+ receivedTime?: string;
155
+ /** Output only. Web only. The route path of the web application when the event occurred, excluding query parameters and fragment. */
156
+ routePath?: string;
157
+ /** Unique identifier for the Firebase session. */
158
+ sessionId?: string;
159
+ /** Mobile device disk/flash usage. */
160
+ storage?: Storage;
161
+ /** Application threads present at the time the event was recorded. Each contains a stacktrace. One thread will be blamed for the error. */
162
+ threads?: Thread[];
163
+ /** End user identifiers for the device owner. */
164
+ user?: User;
165
+ /** Mobile application version. */
166
+ version?: Version;
167
+ }
168
+ interface Exception {
169
+ /** True when the Crashlytics analysis has determined that this thread is where the fault occurred. */
170
+ blamed?: boolean;
171
+ /** A message associated with the exception. */
172
+ exceptionMessage?: string;
173
+ /** The frames in the exception's stacktrace. */
174
+ frames?: Frame[];
175
+ /** True for all but the last-thrown exception (i.e. the first record). */
176
+ nested?: boolean;
177
+ /** The subtitle of the exception. */
178
+ subtitle?: string;
179
+ /** The title of the exception. */
180
+ title?: string;
181
+ /** The exception type e.g. java.lang.IllegalStateException. */
182
+ type?: string;
183
+ }
184
+ interface FirebaseSessionEvent {
185
+ /** Mobile device metadata. */
186
+ device?: Device;
187
+ /** The start timestamp for the session event. */
188
+ eventTime?: string;
189
+ /** Session event type. The SDK only supports SESSION_START events at this time. */
190
+ eventType?: 'SESSION_EVENT_TYPE_UNKNOWN' | 'SESSION_START';
191
+ /** Uniquely identifies a device with Firebase apps installed. */
192
+ firebaseInstallationId?: string;
193
+ /** The identifier of the first session since the last cold start. This id and the session_id will be the same for app launches. */
194
+ firstSessionId?: string;
195
+ /** Operating system and version. */
196
+ operatingSystem?: OperatingSystem;
197
+ /** Unique identifier for the Firebase session. */
198
+ sessionId?: string;
199
+ /** Indicates the number of sessions since the last cold start. */
200
+ sessionIndex?: number;
201
+ /** Mobile application version numbers. */
202
+ version?: Version;
203
+ }
204
+ interface Frame {
205
+ /** The address in the binary image which contains the code. Present for native frames. */
206
+ address?: string;
207
+ /** True when the Crashlytics analysis has determined that this frame is likely to be the cause of the error. */
208
+ blamed?: boolean;
209
+ /** The column on the line. */
210
+ column?: string;
211
+ /** The name of the source file in which the frame is found. */
212
+ file?: string;
213
+ /** The display name of the library that includes the frame. */
214
+ library?: string;
215
+ /** The line number in the file of the frame. */
216
+ line?: string;
217
+ /** The byte offset into the binary image that contains the code. Present for native frames. */
218
+ offset?: string;
219
+ /** One of DEVELOPER, VENDOR, RUNTIME, PLATFORM, or SYSTEM. */
220
+ owner?: string;
221
+ /** The frame symbol after it has been deobfuscated or symbolicated. The raw symbol from the device if it could not be hydrated. */
222
+ symbol?: string;
223
+ }
224
+ interface IntervalMetrics {
225
+ /** The end of the interval covered by the computation. */
226
+ endTime?: string;
227
+ /** The total count of events in the interval. */
228
+ eventsCount?: string;
229
+ /** The number of distinct users in the set of events. */
230
+ impactedUsersCount?: string;
231
+ /** The number of distinct sessions in the set of events. */
232
+ sessionsCount?: string;
233
+ /** The start of the interval covered by the computation. */
234
+ startTime?: string;
235
+ }
236
+ interface Issue {
237
+ /** Output only. Immutable. Indicates whether this issue is a crash, non-fatal exception, or ANR. */
238
+ errorType?: 'ERROR_TYPE_UNSPECIFIED' | 'FATAL' | 'NON_FATAL' | 'ANR';
239
+ /** Output only. Immutable. The first time this issue was seen. */
240
+ firstSeenTime?: string;
241
+ /** Output only. Immutable. The first app display_version in which this issue was seen, populated for mobile issues only. */
242
+ firstSeenVersion?: string;
243
+ /** Output only. Immutable. Unique identifier for the issue. */
244
+ id?: string;
245
+ /** Output only. The most recent time this issue was seen. */
246
+ lastSeenTime?: string;
247
+ /** Output only. The most recent app display_version in which this issue was seen, populated for mobile issues only. */
248
+ lastSeenVersion?: string;
249
+ /** Required. Output only. Immutable. Identifier. The name of the issue resource. Format: "projects/{project}/apps/{app}/issues/{issue}". */
250
+ name?: string;
251
+ /** Output only. The number of notes attached to an issue. */
252
+ notesCount?: string;
253
+ /** Output only. The resource name for a sample event in this issue. */
254
+ sampleEvent?: string;
255
+ /** Output only. Immutable. Distinctive characteristics assigned by the Crashlytics analyzer. */
256
+ signals?: IssueSignals[];
257
+ /** Output only. Indicates whether this issue is open, closed or muted. For details on how issue states change without user actions, see [Regressed Issues](https://firebase.google.com/docs/crashlytics/troubleshooting?platform=ios#regressed-issues). */
258
+ state?: 'STATE_UNSPECIFIED' | 'OPEN' | 'CLOSED' | 'MUTED';
259
+ /** Output only. The time at which the issue state was last changed. */
260
+ stateUpdateTime?: string;
261
+ /** Output only. Immutable. Caption subtitle. This is usually a symbol or an exception message. */
262
+ subtitle?: string;
263
+ /** Output only. Immutable. Caption title. This is usually a source file or method name. */
264
+ title?: string;
265
+ /** Output only. Provides a link to the Issue on the Firebase console. When this Issue is obtained as part of a Report, then the link will be configured with the same time interval and filters as the request. */
266
+ uri?: string;
267
+ /** Output only. Immutable. The top 12 variants (subgroups) within the issue. Variants group events within an issue that are very similar. A single result implies that the variant is the same as the parent issue. This field will be empty when multiple issues are requested. Request a single issue to list variants. */
268
+ variants?: IssueVariant[];
269
+ }
270
+ interface IssueSignals {
271
+ /** Output only. Supporting detail information. */
272
+ description?: string;
273
+ /** Output only. The signal name. */
274
+ signal?:
275
+ | 'SIGNAL_UNSPECIFIED'
276
+ | 'SIGNAL_EARLY'
277
+ | 'SIGNAL_FRESH'
278
+ | 'SIGNAL_REGRESSED'
279
+ | 'SIGNAL_REPETITIVE';
280
+ }
281
+ interface IssueVariant {
282
+ /** Output only. Immutable. Distinct identifier for the variant. */
283
+ id?: string;
284
+ /** Output only. The resource name for a sample event in this variant. */
285
+ sampleEvent?: string;
286
+ /** Output only. Provides a link to the variant on the Firebase console. When this variant is obtained as part of a Report, then the link will be configured with the same time interval and filters as the request. */
287
+ uri?: string;
288
+ }
289
+ interface ListEventsResponse {
290
+ /** Returns one element per event, in descending order the by event timestamp. */
291
+ events?: Event[];
292
+ /** A pagination token to retrieve the next page of events. The next page will have earlier or later events depending on the request's ordering. If this field is not present, there are no subsequent events. */
293
+ nextPageToken?: string;
294
+ }
295
+ interface ListNotesResponse {
296
+ /** A pagination token to retrieve the next page of notes. If this field is not present, there are no subsequent notes. */
297
+ nextPageToken?: string;
298
+ /** Returns notes ordered descending by the timestamp. */
299
+ notes?: Note[];
300
+ }
301
+ interface ListReportsResponse {
302
+ /** The report objects returned will contain their names and usage instructions, but include no results. Use the `GetReport` method to run the report and obtain the paged results. */
303
+ reports?: Report[];
304
+ }
305
+ interface Log {
306
+ /** Device timestamp when the line was logged. */
307
+ logTime?: string;
308
+ /** Log message. */
309
+ message?: string;
310
+ }
311
+ interface Memory {
312
+ /** Bytes free. */
313
+ free?: string;
314
+ /** Bytes in use. */
315
+ used?: string;
316
+ }
317
+ interface Note {
318
+ /** Output only. The email of the author of the note. */
319
+ author?: string;
320
+ /** Immutable. The body of the note. */
321
+ body?: string;
322
+ /** Output only. Time when the note was created. */
323
+ createTime?: string;
324
+ /** Output only. Identifier. Format: "projects/{project}/apps/app/issues/{issue}/notes/{note}". */
325
+ name?: string;
326
+ }
327
+ interface OperatingSystem {
328
+ /** The device category (mobile, tablet, desktop). */
329
+ deviceType?: string;
330
+ /** Name and version number. Formatted to be suitable for passing to OperatingSystemFilter. */
331
+ displayName?: string;
332
+ /** Operating system display version number. */
333
+ displayVersion?: string;
334
+ /** Indicates if the OS has been modified or "jailbroken". */
335
+ modificationState?: string;
336
+ /** Operating system name. */
337
+ os?: string;
338
+ /** The OS type on Apple platforms (iOS, iPadOS, etc.). */
339
+ type?: string;
340
+ }
341
+ interface PlayTrack {
342
+ /** User-generated or auto-generated name of the track. PROD and INTERNAL track types always have auto-generated names, e.g. "prod" and "internal" respectively. Tracks of type EARLY_ACCESS always have a user-generated name. Other track types do not have any guarantees, might have user-generated or auto-generated names. */
343
+ title?: string;
344
+ /** The type of track (prod, internal, etc...). */
345
+ type?:
346
+ | 'TRACK_TYPE_UNSPECIFIED'
347
+ | 'TRACK_TYPE_PROD'
348
+ | 'TRACK_TYPE_INTERNAL'
349
+ | 'TRACK_TYPE_OPEN_TESTING'
350
+ | 'TRACK_TYPE_CLOSED_TESTING'
351
+ | 'TRACK_TYPE_EARLY_ACCESS';
352
+ }
353
+ interface Report {
354
+ /** Output only. The displayable title of the report. */
355
+ displayName?: string;
356
+ /** Aggregate event statistics in the report will be grouped by a dimension, such as by issue or by version. The response contains one element per group, and all ReportGroup messages will have the same parent field. */
357
+ groups?: ReportGroup[];
358
+ /** The name of the report. Format: "projects/{project}/apps/{app_id}/reports/{report}". */
359
+ name?: string;
360
+ /** Output only. A page token used to retrieve additional report groups. If this field is not present, there are no subsequent pages available to retrieve. */
361
+ nextPageToken?: string;
362
+ /** Output only. The total number of groups retrievable by the request. */
363
+ totalSize?: number;
364
+ /** Usage instructions for the report with a description of the result metrics. This field contains a description of the underlying query and describes the expected response data with any known caveats. This string can be displayed in the UI of any integration that offers comprehensive access to all Crashlytics reports. */
365
+ usage?: string;
366
+ }
367
+ interface ReportGroup {
368
+ /** Browser metrics group. */
369
+ browser?: Browser;
370
+ /** Device metrics group. */
371
+ device?: Device;
372
+ /** Issue metrics group. */
373
+ issue?: Issue;
374
+ /** Scalar metrics will contain a single object covering the entire interval, while time-dimensioned graphs will contain one per time grain. */
375
+ metrics?: IntervalMetrics[];
376
+ /** Operating system metrics group. */
377
+ operatingSystem?: OperatingSystem;
378
+ /** When applicable, this field contains additional nested groupings. For example, events can be grouped by operating system and by operating system version. */
379
+ subgroups?: ReportGroup[];
380
+ /** Issue variant metrics group. */
381
+ variant?: IssueVariant;
382
+ /** Version metrics group. */
383
+ version?: Version;
384
+ /** Web metrics group. */
385
+ webMetricsGroup?: WebMetricsGroup;
386
+ }
387
+ interface Storage {
388
+ /** Bytes free. */
389
+ free?: string;
390
+ /** Bytes used. */
391
+ used?: string;
392
+ }
393
+ interface Thread {
394
+ /** True when the Crashlytics analysis has determined that the stacktrace in this thread is where the fault occurred. */
395
+ blamed?: boolean;
396
+ /** The address of the signal that caused the application to crash. Only present on crashed native threads. */
397
+ crashAddress?: string;
398
+ /** True when the thread has crashed. */
399
+ crashed?: boolean;
400
+ /** The frames in the thread's stacktrace. */
401
+ frames?: Frame[];
402
+ /** The name of the thread. */
403
+ name?: string;
404
+ /** The queue on which the thread was running. */
405
+ queue?: string;
406
+ /** The name of the signal that caused the app to crash. Only present on crashed native threads. */
407
+ signal?: string;
408
+ /** The code of the signal that caused the app to crash. Only present on crashed native threads. */
409
+ signalCode?: string;
410
+ /** The subtitle of the thread. */
411
+ subtitle?: string;
412
+ /** The system id of the thread, only available for ANR threads. */
413
+ sysThreadId?: string;
414
+ /** The id of the thread, only available for ANR threads. */
415
+ threadId?: string;
416
+ /** Output only. The state of the thread at the time the ANR occurred. */
417
+ threadState?:
418
+ | 'STATE_UNSPECIFIED'
419
+ | 'THREAD_STATE_TERMINATED'
420
+ | 'THREAD_STATE_RUNNABLE'
421
+ | 'THREAD_STATE_TIMED_WAITING'
422
+ | 'THREAD_STATE_BLOCKED'
423
+ | 'THREAD_STATE_WAITING'
424
+ | 'THREAD_STATE_NEW'
425
+ | 'THREAD_STATE_NATIVE_RUNNABLE'
426
+ | 'THREAD_STATE_NATIVE_WAITING';
427
+ /** The title of the thread. */
428
+ title?: string;
429
+ }
430
+ interface UpdateIssueRequest {
431
+ /** Required. The issue to update. The issue's `name` field is used to identify the issue to update. Format: "projects/{project}/apps/{app}/issues/{issue}". */
432
+ issue?: Issue;
433
+ /** Optional. The list of Issue fields to update. Currently only "state" is mutable. */
434
+ updateMask?: string;
435
+ }
436
+ interface User {
437
+ /** User id if provided by the app developer. */
438
+ id?: string;
439
+ }
440
+ interface Version {
441
+ /** Mobile only. One display_version can have many build_version. On Android, strictly the same as "version code". On iOS, strictly the same as "build number" or CFBundleVersion. */
442
+ buildVersion?: string;
443
+ /** Compound readable string containing both display and build versions. Format: "display_version (build_version)" e.g. "1.2.3 (456)". This string can be used for filtering with the VersionFilter.display_name field. */
444
+ displayName?: string;
445
+ /** Readable version string, e.g. "1.2.3". On Android, strictly the same as "version name". On iOS, strictly the same as "version number" or CFBundleShortVersionString. */
446
+ displayVersion?: string;
447
+ /** Indicates releases which have artifacts that are currently available in the Play Store to the target audience of the track. Versions may be available in multiple tracks. */
448
+ tracks?: PlayTrack[];
449
+ }
450
+ interface WebMetricsGroup {
451
+ /** The id of the web metrics group */
452
+ id?: string;
453
+ }
454
+ interface EventsResource {
455
+ /** Fetch a batch of up to 100 events by name. */
456
+ batchGet(request?: {
457
+ /** V1 error format. */
458
+ '$.xgafv'?: '1' | '2';
459
+ /** OAuth access token. */
460
+ access_token?: string;
461
+ /** Data format for response. */
462
+ alt?: 'json' | 'media' | 'proto';
463
+ /** JSONP */
464
+ callback?: string;
465
+ /** Selector specifying which fields to include in a partial response. */
466
+ fields?: string;
467
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
468
+ key?: string;
469
+ /** Required. The resource names of the desired events. A maximum of 100 events can be retrieved in a batch. Format: "projects/{project}/apps/{app_id}/events/{event_id}". The app_id and event_id are required, but project may be "-" to conserve space in long URIs. */
470
+ names?: string | string[];
471
+ /** OAuth 2.0 token for the current user. */
472
+ oauth_token?: string;
473
+ /** Required. The firebase application. Format: "projects/{project}/apps/{app_id}". */
474
+ parent: string;
475
+ /** Returns response with indentations and line breaks. */
476
+ prettyPrint?: boolean;
477
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
478
+ quotaUser?: string;
479
+ /** Optional. The list of Event fields to include in the response. If omitted, the full event is returned. */
480
+ readMask?: string;
481
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
482
+ upload_protocol?: string;
483
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
484
+ uploadType?: string;
485
+ }): Request<BatchGetEventsResponse>;
486
+ /** List the events for an issue matching filter criteria, sorted in descending order by timestamp. */
487
+ list(request?: {
488
+ /** V1 error format. */
489
+ '$.xgafv'?: '1' | '2';
490
+ /** OAuth access token. */
491
+ access_token?: string;
492
+ /** Data format for response. */
493
+ alt?: 'json' | 'media' | 'proto';
494
+ /** JSONP */
495
+ callback?: string;
496
+ /** Selector specifying which fields to include in a partial response. */
497
+ fields?: string;
498
+ /** Optional. Only count events from the given browser. This string matches Browser.display_name. Format: "name (display_version)" e.g. "Chrome (123)", or just "name" for all possible versions, e.g. simply "Chrome". */
499
+ 'filter.browser.displayNames'?: string | string[];
500
+ /** Only counts events from the given Device model. This string matches Device.display_name. Format: "manufacturer (model)" e.g. "Google (Pixel 6)", or just "manufacturer" for all possible models, e.g. simply "Google". Note that a device's marketing_name field can not be used for filtering. */
501
+ 'filter.device.displayNames'?: string | string[];
502
+ /** Only counts events from devices with the given form factor (e.g. phone or tablet). */
503
+ 'filter.device.formFactors'?:
504
+ | 'FORM_FACTOR_UNSPECIFIED'
505
+ | 'PHONE'
506
+ | 'TABLET'
507
+ | 'DESKTOP'
508
+ | 'TV'
509
+ | 'WATCH'
510
+ | (
511
+ | 'FORM_FACTOR_UNSPECIFIED'
512
+ | 'PHONE'
513
+ | 'TABLET'
514
+ | 'DESKTOP'
515
+ | 'TV'
516
+ | 'WATCH'
517
+ )[];
518
+ /** Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. */
519
+ 'filter.interval.endTime'?: string;
520
+ /** Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. */
521
+ 'filter.interval.startTime'?: string;
522
+ /** Optional. A space separated list of filter terms matched against the contents of the issue. Contents include the title and the stack trace. Matches must begin at alphanumeric tokens, i.e., 'util.Sorted' matches 'java.util.SortedSet' but not 'myutil.SortedArray'. The filter matches if all filter terms match. All non-alphanumeric characters are ignored for matching. Filtering is assumed to be prefix-search and order-independent unless phrases are surrounded by "". Any terms contained in quotes are searched using exact-match (given filter term "foo", we will not return "foobar"), and must appear in the order given exactly. To get order-dependence but prefix-search, use a * within the quotes ("abc foo*" will match "abc foobar", but not "foo abc" "abcd foobar", or "abc xyz foobar"). */
523
+ 'filter.issue.content'?: string;
524
+ /** Optional. Only counts events of the given error types. This field matches [Issue.error_type]. */
525
+ 'filter.issue.errorTypes'?:
526
+ | 'ERROR_TYPE_UNSPECIFIED'
527
+ | 'FATAL'
528
+ | 'NON_FATAL'
529
+ | 'ANR'
530
+ | ('ERROR_TYPE_UNSPECIFIED' | 'FATAL' | 'NON_FATAL' | 'ANR')[];
531
+ /** Optional. Only counts events in the given issue ID. This field matches [Issue.id]. */
532
+ 'filter.issue.id'?: string;
533
+ /** Optional. Only returns issues currently marked with the given signals. This field matches [Issue.signals.signal]. */
534
+ 'filter.issue.signals'?:
535
+ | 'SIGNAL_UNSPECIFIED'
536
+ | 'SIGNAL_EARLY'
537
+ | 'SIGNAL_FRESH'
538
+ | 'SIGNAL_REGRESSED'
539
+ | 'SIGNAL_REPETITIVE'
540
+ | (
541
+ | 'SIGNAL_UNSPECIFIED'
542
+ | 'SIGNAL_EARLY'
543
+ | 'SIGNAL_FRESH'
544
+ | 'SIGNAL_REGRESSED'
545
+ | 'SIGNAL_REPETITIVE'
546
+ )[];
547
+ /** Optional. Deprecated: Prefer `states` field. Only includes events for issues with the given issue state. Only available for `topIssues` reports. */
548
+ 'filter.issue.state'?:
549
+ 'STATE_UNSPECIFIED' | 'OPEN' | 'CLOSED' | 'MUTED';
550
+ /** Optional. Only includes events for issues with the given issue states. Only available for `topIssues` reports. */
551
+ 'filter.issue.states'?:
552
+ | 'STATE_UNSPECIFIED'
553
+ | 'OPEN'
554
+ | 'CLOSED'
555
+ | 'MUTED'
556
+ | ('STATE_UNSPECIFIED' | 'OPEN' | 'CLOSED' | 'MUTED')[];
557
+ /** Optional. Only counts events for the given issue variant ID. This field matches [IssueVariant.id]. */
558
+ 'filter.issue.variantId'?: string;
559
+ /** Only counts events in the given operating system and version. This string matches OperatingSystem.display_name. Format: "osName (osVersion)" e.g. "Android (11)". or just "osName" for all versions, e.g. simply "iPadOS". */
560
+ 'filter.operatingSystem.displayNames'?: string | string[];
561
+ /** Only counts events in the given app version. This string matches Version.display_name. Format: "display_version (build_version)" e.g. "1.2.3 (456)". */
562
+ 'filter.version.displayNames'?: string | string[];
563
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
564
+ key?: string;
565
+ /** OAuth 2.0 token for the current user. */
566
+ oauth_token?: string;
567
+ /** Optional. The maximum number of events per page. If omitted, defaults to 10. */
568
+ pageSize?: number;
569
+ /** Optional. A page token, received from a previous calls. */
570
+ pageToken?: string;
571
+ /** Required. The Firebase application. Format: "projects/{project}/apps/{app_id}". */
572
+ parent: string;
573
+ /** Returns response with indentations and line breaks. */
574
+ prettyPrint?: boolean;
575
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
576
+ quotaUser?: string;
577
+ /** Optional. The list of Event fields to include in the response. If omitted, the full event is returned. */
578
+ readMask?: string;
579
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
580
+ upload_protocol?: string;
581
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
582
+ uploadType?: string;
583
+ }): Request<ListEventsResponse>;
584
+ }
585
+ interface NotesResource {
586
+ /** Create a new note for an issue. */
587
+ create(request: {
588
+ /** V1 error format. */
589
+ '$.xgafv'?: '1' | '2';
590
+ /** OAuth access token. */
591
+ access_token?: string;
592
+ /** Data format for response. */
593
+ alt?: 'json' | 'media' | 'proto';
594
+ /** JSONP */
595
+ callback?: string;
596
+ /** Selector specifying which fields to include in a partial response. */
597
+ fields?: string;
598
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
599
+ key?: string;
600
+ /** OAuth 2.0 token for the current user. */
601
+ oauth_token?: string;
602
+ /** Required. The parent resource where this note will be created. Format: "projects/{project}/apps/{app}/issues/{issue}". */
603
+ parent: string;
604
+ /** Returns response with indentations and line breaks. */
605
+ prettyPrint?: boolean;
606
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
607
+ quotaUser?: string;
608
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
609
+ upload_protocol?: string;
610
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
611
+ uploadType?: string;
612
+ /** Request body */
613
+ resource: Note;
614
+ }): Request<Note>;
615
+ create(
616
+ request: {
617
+ /** V1 error format. */
618
+ '$.xgafv'?: '1' | '2';
619
+ /** OAuth access token. */
620
+ access_token?: string;
621
+ /** Data format for response. */
622
+ alt?: 'json' | 'media' | 'proto';
623
+ /** JSONP */
624
+ callback?: string;
625
+ /** Selector specifying which fields to include in a partial response. */
626
+ fields?: string;
627
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
628
+ key?: string;
629
+ /** OAuth 2.0 token for the current user. */
630
+ oauth_token?: string;
631
+ /** Required. The parent resource where this note will be created. Format: "projects/{project}/apps/{app}/issues/{issue}". */
632
+ parent: string;
633
+ /** Returns response with indentations and line breaks. */
634
+ prettyPrint?: boolean;
635
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
636
+ quotaUser?: string;
637
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
638
+ upload_protocol?: string;
639
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
640
+ uploadType?: string;
641
+ },
642
+ body: Note,
643
+ ): Request<Note>;
644
+ /** Delete a note by its name. */
645
+ delete(request?: {
646
+ /** V1 error format. */
647
+ '$.xgafv'?: '1' | '2';
648
+ /** OAuth access token. */
649
+ access_token?: string;
650
+ /** Data format for response. */
651
+ alt?: 'json' | 'media' | 'proto';
652
+ /** JSONP */
653
+ callback?: string;
654
+ /** Selector specifying which fields to include in a partial response. */
655
+ fields?: string;
656
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
657
+ key?: string;
658
+ /** Required. The name of the note to delete. Format: projects/{project}/apps/{app}/issues/{issue}/notes/{note}. */
659
+ name: string;
660
+ /** OAuth 2.0 token for the current user. */
661
+ oauth_token?: string;
662
+ /** Returns response with indentations and line breaks. */
663
+ prettyPrint?: boolean;
664
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
665
+ quotaUser?: string;
666
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
667
+ upload_protocol?: string;
668
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
669
+ uploadType?: string;
670
+ }): Request<{}>;
671
+ /** List all notes for a certain issue, sorted in descending order by timestamp. */
672
+ list(request?: {
673
+ /** V1 error format. */
674
+ '$.xgafv'?: '1' | '2';
675
+ /** OAuth access token. */
676
+ access_token?: string;
677
+ /** Data format for response. */
678
+ alt?: 'json' | 'media' | 'proto';
679
+ /** JSONP */
680
+ callback?: string;
681
+ /** Selector specifying which fields to include in a partial response. */
682
+ fields?: string;
683
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
684
+ key?: string;
685
+ /** OAuth 2.0 token for the current user. */
686
+ oauth_token?: string;
687
+ /** Optional. The maximum number of notes per page. If omitted, defaults to 10. */
688
+ pageSize?: number;
689
+ /** Optional. A page token, received from a previous calls. */
690
+ pageToken?: string;
691
+ /** Required. The issue the notes belongs to. Format: "projects/{project}/apps/{app}/issues/{issue}". */
692
+ parent: string;
693
+ /** Returns response with indentations and line breaks. */
694
+ prettyPrint?: boolean;
695
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
696
+ quotaUser?: string;
697
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
698
+ upload_protocol?: string;
699
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
700
+ uploadType?: string;
701
+ }): Request<ListNotesResponse>;
702
+ }
703
+ interface IssuesResource {
704
+ /** Change the state of a group of issues. This method is not atomic, so partial failures can occur. In the event of a partial failure, the request will fail and you will need to call `GetIssue` to see which issues were not updated. */
705
+ batchUpdate(request: {
706
+ /** V1 error format. */
707
+ '$.xgafv'?: '1' | '2';
708
+ /** OAuth access token. */
709
+ access_token?: string;
710
+ /** Data format for response. */
711
+ alt?: 'json' | 'media' | 'proto';
712
+ /** JSONP */
713
+ callback?: string;
714
+ /** Selector specifying which fields to include in a partial response. */
715
+ fields?: string;
716
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
717
+ key?: string;
718
+ /** OAuth 2.0 token for the current user. */
719
+ oauth_token?: string;
720
+ /** Required. The parent resource shared by all issues being updated. Format: projects/{project}/apps/{app}. If this is set, the parent field in the UpdateIssueRequest messages must either be empty or match this field. */
721
+ parent: string;
722
+ /** Returns response with indentations and line breaks. */
723
+ prettyPrint?: boolean;
724
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
725
+ quotaUser?: string;
726
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
727
+ upload_protocol?: string;
728
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
729
+ uploadType?: string;
730
+ /** Request body */
731
+ resource: BatchUpdateIssuesRequest;
732
+ }): Request<BatchUpdateIssuesResponse>;
733
+ batchUpdate(
734
+ request: {
735
+ /** V1 error format. */
736
+ '$.xgafv'?: '1' | '2';
737
+ /** OAuth access token. */
738
+ access_token?: string;
739
+ /** Data format for response. */
740
+ alt?: 'json' | 'media' | 'proto';
741
+ /** JSONP */
742
+ callback?: string;
743
+ /** Selector specifying which fields to include in a partial response. */
744
+ fields?: string;
745
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
746
+ key?: string;
747
+ /** OAuth 2.0 token for the current user. */
748
+ oauth_token?: string;
749
+ /** Required. The parent resource shared by all issues being updated. Format: projects/{project}/apps/{app}. If this is set, the parent field in the UpdateIssueRequest messages must either be empty or match this field. */
750
+ parent: string;
751
+ /** Returns response with indentations and line breaks. */
752
+ prettyPrint?: boolean;
753
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
754
+ quotaUser?: string;
755
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
756
+ upload_protocol?: string;
757
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
758
+ uploadType?: string;
759
+ },
760
+ body: BatchUpdateIssuesRequest,
761
+ ): Request<BatchUpdateIssuesResponse>;
762
+ /** Retrieve an issue. */
763
+ get(request?: {
764
+ /** V1 error format. */
765
+ '$.xgafv'?: '1' | '2';
766
+ /** OAuth access token. */
767
+ access_token?: string;
768
+ /** Data format for response. */
769
+ alt?: 'json' | 'media' | 'proto';
770
+ /** JSONP */
771
+ callback?: string;
772
+ /** Selector specifying which fields to include in a partial response. */
773
+ fields?: string;
774
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
775
+ key?: string;
776
+ /** Required. The name of the issue to retrieve. Format: "projects/{project}/apps/{app}/issues/{issue}". */
777
+ name: string;
778
+ /** OAuth 2.0 token for the current user. */
779
+ oauth_token?: string;
780
+ /** Returns response with indentations and line breaks. */
781
+ prettyPrint?: boolean;
782
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
783
+ quotaUser?: string;
784
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
785
+ upload_protocol?: string;
786
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
787
+ uploadType?: string;
788
+ }): Request<Issue>;
789
+ /** Change the state of an issue. */
790
+ patch(request: {
791
+ /** V1 error format. */
792
+ '$.xgafv'?: '1' | '2';
793
+ /** OAuth access token. */
794
+ access_token?: string;
795
+ /** Data format for response. */
796
+ alt?: 'json' | 'media' | 'proto';
797
+ /** JSONP */
798
+ callback?: string;
799
+ /** Selector specifying which fields to include in a partial response. */
800
+ fields?: string;
801
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
802
+ key?: string;
803
+ /** Required. Output only. Immutable. Identifier. The name of the issue resource. Format: "projects/{project}/apps/{app}/issues/{issue}". */
804
+ name: string;
805
+ /** OAuth 2.0 token for the current user. */
806
+ oauth_token?: string;
807
+ /** Returns response with indentations and line breaks. */
808
+ prettyPrint?: boolean;
809
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
810
+ quotaUser?: string;
811
+ /** Optional. The list of Issue fields to update. Currently only "state" is mutable. */
812
+ updateMask?: string;
813
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
814
+ upload_protocol?: string;
815
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
816
+ uploadType?: string;
817
+ /** Request body */
818
+ resource: Issue;
819
+ }): Request<Issue>;
820
+ patch(
821
+ request: {
822
+ /** V1 error format. */
823
+ '$.xgafv'?: '1' | '2';
824
+ /** OAuth access token. */
825
+ access_token?: string;
826
+ /** Data format for response. */
827
+ alt?: 'json' | 'media' | 'proto';
828
+ /** JSONP */
829
+ callback?: string;
830
+ /** Selector specifying which fields to include in a partial response. */
831
+ fields?: string;
832
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
833
+ key?: string;
834
+ /** Required. Output only. Immutable. Identifier. The name of the issue resource. Format: "projects/{project}/apps/{app}/issues/{issue}". */
835
+ name: string;
836
+ /** OAuth 2.0 token for the current user. */
837
+ oauth_token?: string;
838
+ /** Returns response with indentations and line breaks. */
839
+ prettyPrint?: boolean;
840
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
841
+ quotaUser?: string;
842
+ /** Optional. The list of Issue fields to update. Currently only "state" is mutable. */
843
+ updateMask?: string;
844
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
845
+ upload_protocol?: string;
846
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
847
+ uploadType?: string;
848
+ },
849
+ body: Issue,
850
+ ): Request<Issue>;
851
+ notes: NotesResource;
852
+ }
853
+ interface ReportsResource {
854
+ /** Get a report with its computed results. */
855
+ get(request?: {
856
+ /** V1 error format. */
857
+ '$.xgafv'?: '1' | '2';
858
+ /** OAuth access token. */
859
+ access_token?: string;
860
+ /** Data format for response. */
861
+ alt?: 'json' | 'media' | 'proto';
862
+ /** JSONP */
863
+ callback?: string;
864
+ /** Selector specifying which fields to include in a partial response. */
865
+ fields?: string;
866
+ /** Optional. Only count events from the given browser. This string matches Browser.display_name. Format: "name (display_version)" e.g. "Chrome (123)", or just "name" for all possible versions, e.g. simply "Chrome". */
867
+ 'filter.browser.displayNames'?: string | string[];
868
+ /** Only counts events from the given Device model. This string matches Device.display_name. Format: "manufacturer (model)" e.g. "Google (Pixel 6)", or just "manufacturer" for all possible models, e.g. simply "Google". Note that a device's marketing_name field can not be used for filtering. */
869
+ 'filter.device.displayNames'?: string | string[];
870
+ /** Only counts events from devices with the given form factor (e.g. phone or tablet). */
871
+ 'filter.device.formFactors'?:
872
+ | 'FORM_FACTOR_UNSPECIFIED'
873
+ | 'PHONE'
874
+ | 'TABLET'
875
+ | 'DESKTOP'
876
+ | 'TV'
877
+ | 'WATCH'
878
+ | (
879
+ | 'FORM_FACTOR_UNSPECIFIED'
880
+ | 'PHONE'
881
+ | 'TABLET'
882
+ | 'DESKTOP'
883
+ | 'TV'
884
+ | 'WATCH'
885
+ )[];
886
+ /** Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. */
887
+ 'filter.interval.endTime'?: string;
888
+ /** Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. */
889
+ 'filter.interval.startTime'?: string;
890
+ /** Optional. A space separated list of filter terms matched against the contents of the issue. Contents include the title and the stack trace. Matches must begin at alphanumeric tokens, i.e., 'util.Sorted' matches 'java.util.SortedSet' but not 'myutil.SortedArray'. The filter matches if all filter terms match. All non-alphanumeric characters are ignored for matching. Filtering is assumed to be prefix-search and order-independent unless phrases are surrounded by "". Any terms contained in quotes are searched using exact-match (given filter term "foo", we will not return "foobar"), and must appear in the order given exactly. To get order-dependence but prefix-search, use a * within the quotes ("abc foo*" will match "abc foobar", but not "foo abc" "abcd foobar", or "abc xyz foobar"). */
891
+ 'filter.issue.content'?: string;
892
+ /** Optional. Only counts events of the given error types. This field matches [Issue.error_type]. */
893
+ 'filter.issue.errorTypes'?:
894
+ | 'ERROR_TYPE_UNSPECIFIED'
895
+ | 'FATAL'
896
+ | 'NON_FATAL'
897
+ | 'ANR'
898
+ | ('ERROR_TYPE_UNSPECIFIED' | 'FATAL' | 'NON_FATAL' | 'ANR')[];
899
+ /** Optional. Only counts events in the given issue ID. This field matches [Issue.id]. */
900
+ 'filter.issue.id'?: string;
901
+ /** Optional. Only returns issues currently marked with the given signals. This field matches [Issue.signals.signal]. */
902
+ 'filter.issue.signals'?:
903
+ | 'SIGNAL_UNSPECIFIED'
904
+ | 'SIGNAL_EARLY'
905
+ | 'SIGNAL_FRESH'
906
+ | 'SIGNAL_REGRESSED'
907
+ | 'SIGNAL_REPETITIVE'
908
+ | (
909
+ | 'SIGNAL_UNSPECIFIED'
910
+ | 'SIGNAL_EARLY'
911
+ | 'SIGNAL_FRESH'
912
+ | 'SIGNAL_REGRESSED'
913
+ | 'SIGNAL_REPETITIVE'
914
+ )[];
915
+ /** Optional. Deprecated: Prefer `states` field. Only includes events for issues with the given issue state. Only available for `topIssues` reports. */
916
+ 'filter.issue.state'?:
917
+ 'STATE_UNSPECIFIED' | 'OPEN' | 'CLOSED' | 'MUTED';
918
+ /** Optional. Only includes events for issues with the given issue states. Only available for `topIssues` reports. */
919
+ 'filter.issue.states'?:
920
+ | 'STATE_UNSPECIFIED'
921
+ | 'OPEN'
922
+ | 'CLOSED'
923
+ | 'MUTED'
924
+ | ('STATE_UNSPECIFIED' | 'OPEN' | 'CLOSED' | 'MUTED')[];
925
+ /** Optional. Only counts events for the given issue variant ID. This field matches [IssueVariant.id]. */
926
+ 'filter.issue.variantId'?: string;
927
+ /** Only counts events in the given operating system and version. This string matches OperatingSystem.display_name. Format: "osName (osVersion)" e.g. "Android (11)". or just "osName" for all versions, e.g. simply "iPadOS". */
928
+ 'filter.operatingSystem.displayNames'?: string | string[];
929
+ /** Only counts events in the given app version. This string matches Version.display_name. Format: "display_version (build_version)" e.g. "1.2.3 (456)". */
930
+ 'filter.version.displayNames'?: string | string[];
931
+ /** Optional. The report response will contain one data point per time grain. If omitted, the report will contain a single data point for the complete interval. */
932
+ granularity?:
933
+ | 'TIME_GRANULARITY_UNSPECIFIED'
934
+ | 'TIME_GRANULARITY_NONE'
935
+ | 'TIME_GRANULARITY_HOUR'
936
+ | 'TIME_GRANULARITY_DAY';
937
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
938
+ key?: string;
939
+ /** Required. The report name. Format: "projects/{project}/apps/{app_id}/reports/{report}". */
940
+ name: string;
941
+ /** OAuth 2.0 token for the current user. */
942
+ oauth_token?: string;
943
+ /** Optional. The maximum number of result groups to return. If omitted, defaults to 25. */
944
+ pageSize?: number;
945
+ /** Optional. A page token, received from a previous call. The page token is only valid for the exact same set of filters, which must also be sent in subsequent requests. This token is valid for 10 minutes after the first request. */
946
+ pageToken?: string;
947
+ /** Returns response with indentations and line breaks. */
948
+ prettyPrint?: boolean;
949
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
950
+ quotaUser?: string;
951
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
952
+ upload_protocol?: string;
953
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
954
+ uploadType?: string;
955
+ }): Request<Report>;
956
+ /** List all of the available reports. */
957
+ list(request?: {
958
+ /** V1 error format. */
959
+ '$.xgafv'?: '1' | '2';
960
+ /** OAuth access token. */
961
+ access_token?: string;
962
+ /** Data format for response. */
963
+ alt?: 'json' | 'media' | 'proto';
964
+ /** JSONP */
965
+ callback?: string;
966
+ /** Selector specifying which fields to include in a partial response. */
967
+ fields?: string;
968
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
969
+ key?: string;
970
+ /** OAuth 2.0 token for the current user. */
971
+ oauth_token?: string;
972
+ /** Required. The firebase application. Format: "projects/{project}/apps/{app_id}". */
973
+ parent: string;
974
+ /** Returns response with indentations and line breaks. */
975
+ prettyPrint?: boolean;
976
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
977
+ quotaUser?: string;
978
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
979
+ upload_protocol?: string;
980
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
981
+ uploadType?: string;
982
+ }): Request<ListReportsResponse>;
983
+ }
984
+ interface UsersResource {
985
+ /** Enqueues a request to permanently remove crash reports associated with the specified user. All reports belonging to the specified user will be deleted typically within 24 hours of receiving the crash report. */
986
+ deleteCrashReports(request?: {
987
+ /** V1 error format. */
988
+ '$.xgafv'?: '1' | '2';
989
+ /** OAuth access token. */
990
+ access_token?: string;
991
+ /** Data format for response. */
992
+ alt?: 'json' | 'media' | 'proto';
993
+ /** JSONP */
994
+ callback?: string;
995
+ /** Selector specifying which fields to include in a partial response. */
996
+ fields?: string;
997
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
998
+ key?: string;
999
+ /** Required. Resource name for user reports, in the format: projects/ PROJECT_IDENTIFIER/apps/APP_ID/users/USER_ID/crashReports - PROJECT_IDENTIFIER: The Firebase project's project number (recommended) or its project ID. Learn more about using project identifiers in Google's [AIP 2510 standard](https://google.aip.dev/cloud/2510). - APP_ID: The globally unique, Firebase-assigned identifier for the Firebase App. This is not your package name or bundle ID. Learn how to [find your app ID](https://firebase.google.com/support/faq/#find-app-id). - USER_ID: The user ID set using the Crashlytics SDK. Learn how to [set user identifiers](https://firebase.google.com/docs/crashlytics/customize-crash-reports#set-user-ids). */
1000
+ name: string;
1001
+ /** OAuth 2.0 token for the current user. */
1002
+ oauth_token?: string;
1003
+ /** Returns response with indentations and line breaks. */
1004
+ prettyPrint?: boolean;
1005
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1006
+ quotaUser?: string;
1007
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1008
+ upload_protocol?: string;
1009
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1010
+ uploadType?: string;
1011
+ }): Request<DeleteUserCrashReportsResponse>;
1012
+ }
1013
+ interface AppsResource {
1014
+ events: EventsResource;
1015
+ issues: IssuesResource;
1016
+ reports: ReportsResource;
1017
+ users: UsersResource;
1018
+ }
1019
+ interface ProjectsResource {
1020
+ apps: AppsResource;
1021
+ }
1022
+
1023
+ const projects: ProjectsResource;
1024
+ }
1025
+ }
package/package.json CHANGED
@@ -1,7 +1,20 @@
1
1
  {
2
2
  "name": "@maxim_mazurok/gapi.client.firebasecrashlytics-v1alpha",
3
- "version": "0.0.0",
4
- "description": "Initializer package used to configure npm trusted publishing.",
3
+ "version": "0.0.20260709",
4
+ "description": "TypeScript typings for Firebase Crashlytics API v1alpha",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Maxim-Mazurok/google-api-typings-generator.git"
8
+ },
5
9
  "license": "MIT",
6
- "types": "index.d.ts"
10
+ "author": {
11
+ "name": "Maxim Mazurok",
12
+ "email": "maxim@mazurok.com",
13
+ "url": "https://maxim.mazurok.com"
14
+ },
15
+ "types": "index.d.ts",
16
+ "dependencies": {
17
+ "@types/gapi.client": "*",
18
+ "@types/gapi.client.discovery-v1": "*"
19
+ }
7
20
  }
package/readme.md ADDED
@@ -0,0 +1,95 @@
1
+ # TypeScript typings for Firebase Crashlytics API v1alpha
2
+
3
+ This service provides an API for mobile app developers to request deletion of user's crash reports.
4
+ For detailed description please check [documentation](https://firebase.google.com/docs/crashlytics).
5
+
6
+ ## Installing
7
+
8
+ Install typings for Firebase Crashlytics API:
9
+
10
+ ```
11
+ npm install @types/gapi.client.firebasecrashlytics-v1alpha --save-dev
12
+ ```
13
+
14
+ ## TypeScript 6.0+
15
+
16
+ TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:
17
+
18
+ ```json
19
+ {
20
+ "compilerOptions": {
21
+ "types": [
22
+ "gapi",
23
+ "gapi.auth2",
24
+ "gapi.client",
25
+ "gapi.client.firebasecrashlytics-v1alpha"
26
+ ]
27
+ }
28
+ }
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ You need to initialize Google API client in your code:
34
+
35
+ ```typescript
36
+ gapi.load('client', () => {
37
+ // now we can use gapi.client
38
+ // ...
39
+ });
40
+ ```
41
+
42
+ Then load api client wrapper:
43
+
44
+ ```typescript
45
+ gapi.client.load(
46
+ 'https://firebasecrashlytics.googleapis.com/$discovery/rest?version=v1alpha',
47
+ () => {
48
+ // now we can use:
49
+ // gapi.client.firebasecrashlytics
50
+ },
51
+ );
52
+ ```
53
+
54
+ ```typescript
55
+ // Deprecated, use discovery document URL, see https://github.com/google/google-api-javascript-client/blob/master/docs/reference.md#----gapiclientloadname----version----callback--
56
+ gapi.client.load('firebasecrashlytics', 'v1alpha', () => {
57
+ // now we can use:
58
+ // gapi.client.firebasecrashlytics
59
+ });
60
+ ```
61
+
62
+ Don't forget to authenticate your client before sending any request to resources:
63
+
64
+ ```typescript
65
+ // declare client_id registered in Google Developers Console
66
+ var client_id = '',
67
+ scope = [
68
+ // See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
69
+ 'https://www.googleapis.com/auth/cloud-platform',
70
+
71
+ // View and administer all your Firebase data and settings
72
+ 'https://www.googleapis.com/auth/firebase',
73
+ ],
74
+ immediate = true;
75
+ // ...
76
+
77
+ gapi.auth.authorize(
78
+ {client_id: client_id, scope: scope, immediate: immediate},
79
+ authResult => {
80
+ if (authResult && !authResult.error) {
81
+ /* handle successful authorization */
82
+ } else {
83
+ /* handle authorization error */
84
+ }
85
+ },
86
+ );
87
+ ```
88
+
89
+ After that you can use Firebase Crashlytics API resources: <!-- TODO: make this work for multiple namespaces -->
90
+
91
+ ```typescript
92
+
93
+ ```
94
+
95
+ For provenance information see [Provenance section on NPM](https://www.npmjs.com/package/@maxim_mazurok/gapi.client.firebasecrashlytics-v1alpha#Provenance:~:text=none-,Provenance,-Built%20and%20signed)
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # @maxim_mazurok/gapi.client.firebasecrashlytics-v1alpha
2
-
3
- This temporary initializer version exists so npm trusted publishing can be configured for this package.