@pushwoosh/rpc-gateway-messaging 0.6.31

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,1513 @@
1
+ import { RpcMethod } from './commonTypes';
2
+ /**
3
+ * This struct is used to avoid protoc compiler warnings about unused includes in case when
4
+ * there are no usage for timestamp.* and wrappers.*
5
+ * This can be removed if you figure out how to remove unused includes.
6
+ */
7
+ export type __filter_collection_internal = {
8
+ f1: string;
9
+ f2: Date;
10
+ f3: Filter;
11
+ };
12
+ export type LogicExpression_Binary_Operator = 'INVALID' | 'AND' | 'OR';
13
+ /**
14
+ * BinaryExpression is a kind of expression that allows to combine
15
+ * two other expressions with application of some binary logic operator.
16
+ */
17
+ export type LogicExpression_Binary = {
18
+ operator: LogicExpression_Binary_Operator;
19
+ left: LogicExpression;
20
+ right: LogicExpression;
21
+ };
22
+ export type LogicExpression_Field_Operator = 'INVALID'
23
+ /** field = value */
24
+ | 'EQ'
25
+ /** field != value */
26
+ | 'NEQ'
27
+ /** field in value */
28
+ | 'IN'
29
+ /** field > value */
30
+ | 'GT'
31
+ /** field >= value */
32
+ | 'GTE'
33
+ /** field < value */
34
+ | 'LT'
35
+ /** field <= value */
36
+ | 'LTE'
37
+ /** field like 'value%' */
38
+ | 'STARTS_WITH'
39
+ /** field like '%value' */
40
+ | 'ENDS_WITH'
41
+ /** field like '%value%' */
42
+ | 'LIKE'
43
+ /** field is null */
44
+ | 'IS_NULL'
45
+ /** field is not null */
46
+ | 'NOT_NULL'
47
+ /** field is ilike '%value%' */
48
+ | 'ILIKE'
49
+ /** field '@>' array */
50
+ | 'ARRAY_CONTAINS'
51
+ /** field '<@' array */
52
+ | 'ARRAY_INCLUDES';
53
+ export type LogicExpression_Field_ID = {
54
+ operator: LogicExpression_Field_Operator;
55
+ value: number;
56
+ values: number[];
57
+ };
58
+ export type LogicExpression_Field_Code = {
59
+ operator: LogicExpression_Field_Operator;
60
+ value: string;
61
+ values: string[];
62
+ };
63
+ export type LogicExpression_Field_AccountID = {
64
+ operator: LogicExpression_Field_Operator;
65
+ value: number;
66
+ values: number[];
67
+ };
68
+ export type LogicExpression_Field_Name = {
69
+ operator: LogicExpression_Field_Operator;
70
+ value: string;
71
+ values: string[];
72
+ };
73
+ export type LogicExpression_Field_ApplicationID = {
74
+ operator: LogicExpression_Field_Operator;
75
+ value: number;
76
+ values: number[];
77
+ };
78
+ export type LogicExpression_Field_IsFiltrationInProgress = {
79
+ operator: LogicExpression_Field_Operator;
80
+ value: boolean;
81
+ values: boolean[];
82
+ };
83
+ export type LogicExpression_Field_FiltrationStartedAt = {
84
+ operator: LogicExpression_Field_Operator;
85
+ value: Date;
86
+ values: Date[];
87
+ };
88
+ export type LogicExpression_Field_FiltrationLastFilteredAt = {
89
+ operator: LogicExpression_Field_Operator;
90
+ value: Date;
91
+ values: Date[];
92
+ };
93
+ export type LogicExpression_Field_FiltrationLastCheckedAt = {
94
+ operator: LogicExpression_Field_Operator;
95
+ value: Date;
96
+ values: Date[];
97
+ };
98
+ export type LogicExpression_Field_FiltrationScheduledAt = {
99
+ operator: LogicExpression_Field_Operator;
100
+ value: Date;
101
+ values: Date[];
102
+ };
103
+ export type LogicExpression_Field_CheckerScheduledAt = {
104
+ operator: LogicExpression_Field_Operator;
105
+ value: Date;
106
+ values: Date[];
107
+ };
108
+ export type LogicExpression_Field_IsSystem = {
109
+ operator: LogicExpression_Field_Operator;
110
+ value: boolean;
111
+ values: boolean[];
112
+ };
113
+ export type LogicExpression_Field_ExpirationDate = {
114
+ operator: LogicExpression_Field_Operator;
115
+ value: Date;
116
+ values: Date[];
117
+ };
118
+ export type LogicExpression_Field_Created = {
119
+ operator: LogicExpression_Field_Operator;
120
+ value: Date;
121
+ values: Date[];
122
+ };
123
+ export type LogicExpression_Field_FilterExpressionRaw = {
124
+ operator: LogicExpression_Field_Operator;
125
+ value: string;
126
+ values: string[];
127
+ };
128
+ export type LogicExpression_Field_FiltrationID = {
129
+ operator: LogicExpression_Field_Operator;
130
+ value: string;
131
+ values: string[];
132
+ };
133
+ export type LogicExpression_Field_Updated = {
134
+ operator: LogicExpression_Field_Operator;
135
+ value: Date;
136
+ values: Date[];
137
+ };
138
+ export type LogicExpression_Field_kind_CondID = {
139
+ type: 'CondID';
140
+ data: LogicExpression_Field_ID;
141
+ };
142
+ export type LogicExpression_Field_kind_CondCode = {
143
+ type: 'CondCode';
144
+ data: LogicExpression_Field_Code;
145
+ };
146
+ export type LogicExpression_Field_kind_CondAccountID = {
147
+ type: 'CondAccountID';
148
+ data: LogicExpression_Field_AccountID;
149
+ };
150
+ export type LogicExpression_Field_kind_CondName = {
151
+ type: 'CondName';
152
+ data: LogicExpression_Field_Name;
153
+ };
154
+ export type LogicExpression_Field_kind_CondApplicationID = {
155
+ type: 'CondApplicationID';
156
+ data: LogicExpression_Field_ApplicationID;
157
+ };
158
+ export type LogicExpression_Field_kind_CondIsFiltrationInProgress = {
159
+ type: 'CondIsFiltrationInProgress';
160
+ data: LogicExpression_Field_IsFiltrationInProgress;
161
+ };
162
+ export type LogicExpression_Field_kind_CondFiltrationStartedAt = {
163
+ type: 'CondFiltrationStartedAt';
164
+ data: LogicExpression_Field_FiltrationStartedAt;
165
+ };
166
+ export type LogicExpression_Field_kind_CondFiltrationLastFilteredAt = {
167
+ type: 'CondFiltrationLastFilteredAt';
168
+ data: LogicExpression_Field_FiltrationLastFilteredAt;
169
+ };
170
+ export type LogicExpression_Field_kind_CondFiltrationLastCheckedAt = {
171
+ type: 'CondFiltrationLastCheckedAt';
172
+ data: LogicExpression_Field_FiltrationLastCheckedAt;
173
+ };
174
+ export type LogicExpression_Field_kind_CondFiltrationScheduledAt = {
175
+ type: 'CondFiltrationScheduledAt';
176
+ data: LogicExpression_Field_FiltrationScheduledAt;
177
+ };
178
+ export type LogicExpression_Field_kind_CondCheckerScheduledAt = {
179
+ type: 'CondCheckerScheduledAt';
180
+ data: LogicExpression_Field_CheckerScheduledAt;
181
+ };
182
+ export type LogicExpression_Field_kind_CondIsSystem = {
183
+ type: 'CondIsSystem';
184
+ data: LogicExpression_Field_IsSystem;
185
+ };
186
+ export type LogicExpression_Field_kind_CondExpirationDate = {
187
+ type: 'CondExpirationDate';
188
+ data: LogicExpression_Field_ExpirationDate;
189
+ };
190
+ export type LogicExpression_Field_kind_CondCreated = {
191
+ type: 'CondCreated';
192
+ data: LogicExpression_Field_Created;
193
+ };
194
+ export type LogicExpression_Field_kind_CondFilterExpressionRaw = {
195
+ type: 'CondFilterExpressionRaw';
196
+ data: LogicExpression_Field_FilterExpressionRaw;
197
+ };
198
+ export type LogicExpression_Field_kind_CondFiltrationID = {
199
+ type: 'CondFiltrationID';
200
+ data: LogicExpression_Field_FiltrationID;
201
+ };
202
+ export type LogicExpression_Field_kind_CondUpdated = {
203
+ type: 'CondUpdated';
204
+ data: LogicExpression_Field_Updated;
205
+ };
206
+ export type LogicExpression_Field_kind = LogicExpression_Field_kind_CondID | LogicExpression_Field_kind_CondCode | LogicExpression_Field_kind_CondAccountID | LogicExpression_Field_kind_CondName | LogicExpression_Field_kind_CondApplicationID | LogicExpression_Field_kind_CondIsFiltrationInProgress | LogicExpression_Field_kind_CondFiltrationStartedAt | LogicExpression_Field_kind_CondFiltrationLastFilteredAt | LogicExpression_Field_kind_CondFiltrationLastCheckedAt | LogicExpression_Field_kind_CondFiltrationScheduledAt | LogicExpression_Field_kind_CondCheckerScheduledAt | LogicExpression_Field_kind_CondIsSystem | LogicExpression_Field_kind_CondExpirationDate | LogicExpression_Field_kind_CondCreated | LogicExpression_Field_kind_CondFilterExpressionRaw | LogicExpression_Field_kind_CondFiltrationID | LogicExpression_Field_kind_CondUpdated;
207
+ export type LogicExpression_Field = {
208
+ kind: LogicExpression_Field_kind;
209
+ };
210
+ export type LogicExpression_kind_binary = {
211
+ type: 'binary';
212
+ data: LogicExpression_Binary;
213
+ };
214
+ export type LogicExpression_kind_field = {
215
+ type: 'field';
216
+ data: LogicExpression_Field;
217
+ };
218
+ export type LogicExpression_kind = LogicExpression_kind_binary | LogicExpression_kind_field;
219
+ /** Abstract expression structure. That's an expressions container */
220
+ export type LogicExpression = {
221
+ kind: LogicExpression_kind;
222
+ };
223
+ export type Sort = {
224
+ field: string;
225
+ order: SortOrder;
226
+ };
227
+ export type SortOrder = 'INVALID' | 'ASC' | 'DESC';
228
+ export type SortExpression = {
229
+ sorts: Sort[];
230
+ };
231
+ export type LockLevel = 'LOCK_LEVEL_UNDEFINED' | 'LOCK_LEVEL_UPDATE' | 'LOCK_LEVEL_NO_KEY_UPDATE' | 'LOCK_LEVEL_SHARE' | 'LOCK_LEVEL_KEY_SHARE';
232
+ export type LockWaitingOption = 'LOCK_WAITING_UNDEFINED' | 'LOCK_WAITING_NOWAIT' | 'LOCK_WAITING_SKIP_LOCKED';
233
+ export type ForExpression = {
234
+ level: LockLevel;
235
+ waiting: LockWaitingOption;
236
+ };
237
+ /**
238
+ * This struct is used to avoid protoc compiler warnings about unused includes in case when
239
+ * there are no usage for timestamp.* and wrappers.*
240
+ * This can be removed if you figure out how to remove unused includes.
241
+ */
242
+ export type __filter_crud_service_internal = {
243
+ f1: string;
244
+ f2: Date;
245
+ f3: {};
246
+ };
247
+ export type FiltersCrudService_Create = RpcMethod<CreateRequest, CreateResponse>;
248
+ export type FiltersCrudService_CreateMany = RpcMethod<CreateManyRequest, CreateManyResponse>;
249
+ export type FiltersCrudService_Get = RpcMethod<GetRequest, GetResponse>;
250
+ export type FiltersCrudService_LoadByCode = RpcMethod<LoadByCodeRequest, LoadByCodeResponse>;
251
+ export type FiltersCrudService_LoadByAccountIDName = RpcMethod<LoadByAccountIDNameRequest, LoadByAccountIDNameResponse>;
252
+ export type FiltersCrudService_Delete = RpcMethod<DeleteRequest, {}>;
253
+ export type FiltersCrudService_DeleteMany = RpcMethod<DeleteManyRequest, DeleteManyResponse>;
254
+ export type FiltersCrudService_Count = RpcMethod<CountRequest, CountResponse>;
255
+ export type FiltersCrudService_GetPage = RpcMethod<GetPageRequest, GetPageResponse>;
256
+ export type FiltersCrudService_List = RpcMethod<ListRequest, ListResponse>;
257
+ export type FiltersCrudService_Paginate = RpcMethod<PaginateRequest, PaginateResponse>;
258
+ export type FiltersCrudService_UpdateCode = RpcMethod<UpdateCodeRequest, {}>;
259
+ export type FiltersCrudService_UpdateAccountID = RpcMethod<UpdateAccountIDRequest, {}>;
260
+ export type FiltersCrudService_UpdateName = RpcMethod<UpdateNameRequest, {}>;
261
+ export type FiltersCrudService_UpdateApplicationID = RpcMethod<UpdateApplicationIDRequest, {}>;
262
+ export type FiltersCrudService_UpdateIsFiltrationInProgress = RpcMethod<UpdateIsFiltrationInProgressRequest, {}>;
263
+ export type FiltersCrudService_UpdateFiltrationStartedAt = RpcMethod<UpdateFiltrationStartedAtRequest, {}>;
264
+ export type FiltersCrudService_UpdateFiltrationLastFilteredAt = RpcMethod<UpdateFiltrationLastFilteredAtRequest, {}>;
265
+ export type FiltersCrudService_UpdateFiltrationLastCheckedAt = RpcMethod<UpdateFiltrationLastCheckedAtRequest, {}>;
266
+ export type FiltersCrudService_UpdateFiltrationScheduledAt = RpcMethod<UpdateFiltrationScheduledAtRequest, {}>;
267
+ export type FiltersCrudService_UpdateCheckerScheduledAt = RpcMethod<UpdateCheckerScheduledAtRequest, {}>;
268
+ export type FiltersCrudService_UpdateIsSystem = RpcMethod<UpdateIsSystemRequest, {}>;
269
+ export type FiltersCrudService_UpdateExpirationDate = RpcMethod<UpdateExpirationDateRequest, {}>;
270
+ export type FiltersCrudService_UpdateCreated = RpcMethod<UpdateCreatedRequest, {}>;
271
+ export type FiltersCrudService_UpdateFilterExpressionRaw = RpcMethod<UpdateFilterExpressionRawRequest, {}>;
272
+ export type FiltersCrudService_UpdateFiltrationID = RpcMethod<UpdateFiltrationIDRequest, {}>;
273
+ export type FiltersCrudService_UpdateUpdated = RpcMethod<UpdateUpdatedRequest, {}>;
274
+ export interface FiltersCrudService {
275
+ Create: FiltersCrudService_Create;
276
+ CreateMany: FiltersCrudService_CreateMany;
277
+ Get: FiltersCrudService_Get;
278
+ LoadByCode: FiltersCrudService_LoadByCode;
279
+ LoadByAccountIDName: FiltersCrudService_LoadByAccountIDName;
280
+ Delete: FiltersCrudService_Delete;
281
+ DeleteMany: FiltersCrudService_DeleteMany;
282
+ Count: FiltersCrudService_Count;
283
+ GetPage: FiltersCrudService_GetPage;
284
+ List: FiltersCrudService_List;
285
+ Paginate: FiltersCrudService_Paginate;
286
+ UpdateCode: FiltersCrudService_UpdateCode;
287
+ UpdateAccountID: FiltersCrudService_UpdateAccountID;
288
+ UpdateName: FiltersCrudService_UpdateName;
289
+ UpdateApplicationID: FiltersCrudService_UpdateApplicationID;
290
+ UpdateIsFiltrationInProgress: FiltersCrudService_UpdateIsFiltrationInProgress;
291
+ UpdateFiltrationStartedAt: FiltersCrudService_UpdateFiltrationStartedAt;
292
+ UpdateFiltrationLastFilteredAt: FiltersCrudService_UpdateFiltrationLastFilteredAt;
293
+ UpdateFiltrationLastCheckedAt: FiltersCrudService_UpdateFiltrationLastCheckedAt;
294
+ UpdateFiltrationScheduledAt: FiltersCrudService_UpdateFiltrationScheduledAt;
295
+ UpdateCheckerScheduledAt: FiltersCrudService_UpdateCheckerScheduledAt;
296
+ UpdateIsSystem: FiltersCrudService_UpdateIsSystem;
297
+ UpdateExpirationDate: FiltersCrudService_UpdateExpirationDate;
298
+ UpdateCreated: FiltersCrudService_UpdateCreated;
299
+ UpdateFilterExpressionRaw: FiltersCrudService_UpdateFilterExpressionRaw;
300
+ UpdateFiltrationID: FiltersCrudService_UpdateFiltrationID;
301
+ UpdateUpdated: FiltersCrudService_UpdateUpdated;
302
+ }
303
+ export type CreateRequest = {
304
+ Code: string;
305
+ AccountID: number;
306
+ Name: string;
307
+ ApplicationID: number;
308
+ IsFiltrationInProgress: boolean;
309
+ FiltrationStartedAt: Date;
310
+ FiltrationLastFilteredAt: Date;
311
+ FiltrationLastCheckedAt: Date;
312
+ FiltrationScheduledAt: Date;
313
+ CheckerScheduledAt: Date;
314
+ IsSystem: boolean;
315
+ ExpirationDate: Date;
316
+ Created: Date;
317
+ FilterExpressionRaw: string;
318
+ FiltrationID: string;
319
+ Updated: Date;
320
+ };
321
+ export type CreateResponse = {
322
+ filter: Filter;
323
+ };
324
+ export type CreateManyRequest = {
325
+ filters: CreateRequest[];
326
+ };
327
+ export type CreateManyResponse = {
328
+ filters: CreateResponse[];
329
+ };
330
+ export type DeleteRequest = {
331
+ ID: number;
332
+ };
333
+ export type DeleteManyRequest = {
334
+ where: LogicExpression;
335
+ };
336
+ export type DeleteManyResponse = {
337
+ count: number;
338
+ };
339
+ export type CountRequest = {
340
+ where: LogicExpression;
341
+ };
342
+ export type CountResponse = {
343
+ count: number;
344
+ };
345
+ export type GetPageRequest = {
346
+ where: LogicExpression;
347
+ sort: SortExpression;
348
+ pageSize: number;
349
+ pageNum: number;
350
+ forLock: ForExpression;
351
+ };
352
+ export type GetPageResponse = {
353
+ filters: Filter[];
354
+ total: number;
355
+ };
356
+ export type ListRequest = {
357
+ where: LogicExpression;
358
+ sort: SortExpression;
359
+ pageSize: number;
360
+ forLock: ForExpression;
361
+ };
362
+ export type ListResponse = {
363
+ paginationToken: string;
364
+ };
365
+ export type PaginateRequest = {
366
+ nextPageToken: string;
367
+ };
368
+ export type PaginateResponse = {
369
+ filters: Filter[];
370
+ nextPageToken: string;
371
+ };
372
+ export type UpdateCodeRequest = {
373
+ ID: number;
374
+ value: string;
375
+ };
376
+ export type UpdateAccountIDRequest = {
377
+ ID: number;
378
+ value: number;
379
+ };
380
+ export type UpdateNameRequest = {
381
+ ID: number;
382
+ value: string;
383
+ };
384
+ export type UpdateApplicationIDRequest = {
385
+ ID: number;
386
+ value: number;
387
+ };
388
+ export type UpdateIsFiltrationInProgressRequest = {
389
+ ID: number;
390
+ value: boolean;
391
+ };
392
+ export type UpdateFiltrationStartedAtRequest = {
393
+ ID: number;
394
+ value: Date;
395
+ };
396
+ export type UpdateFiltrationLastFilteredAtRequest = {
397
+ ID: number;
398
+ value: Date;
399
+ };
400
+ export type UpdateFiltrationLastCheckedAtRequest = {
401
+ ID: number;
402
+ value: Date;
403
+ };
404
+ export type UpdateFiltrationScheduledAtRequest = {
405
+ ID: number;
406
+ value: Date;
407
+ };
408
+ export type UpdateCheckerScheduledAtRequest = {
409
+ ID: number;
410
+ value: Date;
411
+ };
412
+ export type UpdateIsSystemRequest = {
413
+ ID: number;
414
+ value: boolean;
415
+ };
416
+ export type UpdateExpirationDateRequest = {
417
+ ID: number;
418
+ value: Date;
419
+ };
420
+ export type UpdateCreatedRequest = {
421
+ ID: number;
422
+ value: Date;
423
+ };
424
+ export type UpdateFilterExpressionRawRequest = {
425
+ ID: number;
426
+ value: string;
427
+ };
428
+ export type UpdateFiltrationIDRequest = {
429
+ ID: number;
430
+ value: string;
431
+ };
432
+ export type UpdateUpdatedRequest = {
433
+ ID: number;
434
+ value: Date;
435
+ };
436
+ export type GetRequest = {
437
+ ID: number;
438
+ };
439
+ export type GetResponse = {
440
+ filter: Filter;
441
+ };
442
+ export type LoadByCodeRequest = {
443
+ Code: string;
444
+ };
445
+ export type LoadByCodeResponse = {
446
+ filter: Filter;
447
+ };
448
+ export type LoadByAccountIDNameRequest = {
449
+ AccountID: number;
450
+ Name: string;
451
+ };
452
+ export type LoadByAccountIDNameResponse = {
453
+ filter: Filter;
454
+ };
455
+ export type JoinType = 'JOIN_INVALID' | 'JOIN_INNER' | 'JOIN_LEFT' | 'JOIN_RIGHT';
456
+ /**
457
+ * This struct is used to avoid protoc compiler warnings about unused includes in case when
458
+ * there are no usage for timestamp.* and wrappers.*
459
+ * This can be removed if you figure out how to remove unused includes.
460
+ */
461
+ export type __filter_model_internal = {
462
+ f1: string;
463
+ f2: Date;
464
+ };
465
+ export type Filter = {
466
+ ID: number;
467
+ Code: string;
468
+ AccountID: number;
469
+ Name: string;
470
+ ApplicationID: number;
471
+ IsFiltrationInProgress: boolean;
472
+ FiltrationStartedAt: Date;
473
+ FiltrationLastFilteredAt: Date;
474
+ FiltrationLastCheckedAt: Date;
475
+ FiltrationScheduledAt: Date;
476
+ CheckerScheduledAt: Date;
477
+ IsSystem: boolean;
478
+ ExpirationDate: Date;
479
+ Created: Date;
480
+ FilterExpressionRaw: string;
481
+ FiltrationID: string;
482
+ Updated: Date;
483
+ };
484
+ export type FilterExpression_Operation_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_INTERSECT' | 'OPERATOR_UNION' | 'OPERATOR_DIFFERENCE';
485
+ export type FilterExpression_Operation = {
486
+ operator: FilterExpression_Operation_Operator;
487
+ operands: FilterExpression[];
488
+ };
489
+ export type FilterExpression_Application_TokenPresence = 'TOKEN_PRESENCE_UNSPECIFIED' | 'TOKEN_PRESENCE_WITH_TOKENS' | 'TOKEN_PRESENCE_WITHOUT_TOKENS' | 'TOKEN_PRESENCE_ALL';
490
+ export type FilterExpression_Application_DevicePresence = 'DEVICE_PRESENCE_UNSPECIFIED' | 'DEVICE_PRESENCE_WITH_DEVICES' | 'DEVICE_PRESENCE_WITHOUT_DEVICES' | 'DEVICE_PRESENCE_ALL';
491
+ /** Application specifies set of devices that subscribed to given applications */
492
+ export type FilterExpression_Application = {
493
+ codes: string[];
494
+ platforms: number[];
495
+ tokenPresence: FilterExpression_Application_TokenPresence;
496
+ devicePresence: FilterExpression_Application_DevicePresence;
497
+ };
498
+ /** Geo specifies set of devices located within given coordinate range */
499
+ export type FilterExpression_Geo = {
500
+ application: string;
501
+ lat: number;
502
+ lon: number;
503
+ range: number;
504
+ };
505
+ export type FilterExpression_BestTimeToSend_Value_Eq = {
506
+ value: number;
507
+ };
508
+ export type FilterExpression_BestTimeToSend_Value_Neq = {
509
+ value: number;
510
+ };
511
+ export type FilterExpression_BestTimeToSend_Value_Lte = {
512
+ value: number;
513
+ };
514
+ export type FilterExpression_BestTimeToSend_Value_Gte = {
515
+ value: number;
516
+ };
517
+ export type FilterExpression_BestTimeToSend_Value_Any = {};
518
+ export type FilterExpression_BestTimeToSend_Value_kind_eq = {
519
+ type: 'eq';
520
+ data: FilterExpression_BestTimeToSend_Value_Eq;
521
+ };
522
+ export type FilterExpression_BestTimeToSend_Value_kind_neq = {
523
+ type: 'neq';
524
+ data: FilterExpression_BestTimeToSend_Value_Neq;
525
+ };
526
+ export type FilterExpression_BestTimeToSend_Value_kind_lte = {
527
+ type: 'lte';
528
+ data: FilterExpression_BestTimeToSend_Value_Lte;
529
+ };
530
+ export type FilterExpression_BestTimeToSend_Value_kind_gte = {
531
+ type: 'gte';
532
+ data: FilterExpression_BestTimeToSend_Value_Gte;
533
+ };
534
+ export type FilterExpression_BestTimeToSend_Value_kind_any = {
535
+ type: 'any';
536
+ data: FilterExpression_BestTimeToSend_Value_Any;
537
+ };
538
+ export type FilterExpression_BestTimeToSend_Value_kind = FilterExpression_BestTimeToSend_Value_kind_eq | FilterExpression_BestTimeToSend_Value_kind_neq | FilterExpression_BestTimeToSend_Value_kind_lte | FilterExpression_BestTimeToSend_Value_kind_gte | FilterExpression_BestTimeToSend_Value_kind_any;
539
+ export type FilterExpression_BestTimeToSend_Value = {
540
+ kind: FilterExpression_BestTimeToSend_Value_kind;
541
+ };
542
+ /** BestTimeToSend specifies set of devices associated with given best time to send value */
543
+ export type FilterExpression_BestTimeToSend = {
544
+ applications: string[];
545
+ value: FilterExpression_BestTimeToSend_Value;
546
+ };
547
+ /** UserID/HWID set stored in database */
548
+ export type FilterExpression_Static = {
549
+ application: string;
550
+ segment: string;
551
+ };
552
+ export type FilterExpression_Event_Count_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE';
553
+ export type FilterExpression_Event_Count = {
554
+ operator: FilterExpression_Event_Count_Operator;
555
+ value: number;
556
+ };
557
+ export type FilterExpression_Event_Date_Eq = {
558
+ value: Date;
559
+ };
560
+ export type FilterExpression_Event_Date_Neq = {
561
+ value: Date;
562
+ };
563
+ export type FilterExpression_Event_Date_Lte = {
564
+ value: Date;
565
+ };
566
+ export type FilterExpression_Event_Date_Gte = {
567
+ value: Date;
568
+ };
569
+ export type FilterExpression_Event_Date_In = {
570
+ values: Date[];
571
+ };
572
+ export type FilterExpression_Event_Date_NotIn = {
573
+ values: Date[];
574
+ };
575
+ export type FilterExpression_Event_Date_Between = {
576
+ from: Date;
577
+ to: Date;
578
+ };
579
+ export type FilterExpression_Event_Date_Exists = {
580
+ exists: boolean;
581
+ };
582
+ export type FilterExpression_Event_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN';
583
+ export type FilterExpression_Event_Date_DaysAgo = {
584
+ operator: FilterExpression_Event_Date_DaysAgo_Operator;
585
+ value: number;
586
+ values: number[];
587
+ };
588
+ export type FilterExpression_Event_Date_kind_eq = {
589
+ type: 'eq';
590
+ data: FilterExpression_Event_Date_Eq;
591
+ };
592
+ export type FilterExpression_Event_Date_kind_neq = {
593
+ type: 'neq';
594
+ data: FilterExpression_Event_Date_Neq;
595
+ };
596
+ export type FilterExpression_Event_Date_kind_lte = {
597
+ type: 'lte';
598
+ data: FilterExpression_Event_Date_Lte;
599
+ };
600
+ export type FilterExpression_Event_Date_kind_gte = {
601
+ type: 'gte';
602
+ data: FilterExpression_Event_Date_Gte;
603
+ };
604
+ export type FilterExpression_Event_Date_kind_in = {
605
+ type: 'in';
606
+ data: FilterExpression_Event_Date_In;
607
+ };
608
+ export type FilterExpression_Event_Date_kind_notIn = {
609
+ type: 'notIn';
610
+ data: FilterExpression_Event_Date_NotIn;
611
+ };
612
+ export type FilterExpression_Event_Date_kind_between = {
613
+ type: 'between';
614
+ data: FilterExpression_Event_Date_Between;
615
+ };
616
+ export type FilterExpression_Event_Date_kind_exists = {
617
+ type: 'exists';
618
+ data: FilterExpression_Event_Date_Exists;
619
+ };
620
+ export type FilterExpression_Event_Date_kind_daysAgo = {
621
+ type: 'daysAgo';
622
+ data: FilterExpression_Event_Date_DaysAgo;
623
+ };
624
+ export type FilterExpression_Event_Date_kind = FilterExpression_Event_Date_kind_eq | FilterExpression_Event_Date_kind_neq | FilterExpression_Event_Date_kind_lte | FilterExpression_Event_Date_kind_gte | FilterExpression_Event_Date_kind_in | FilterExpression_Event_Date_kind_notIn | FilterExpression_Event_Date_kind_between | FilterExpression_Event_Date_kind_exists | FilterExpression_Event_Date_kind_daysAgo;
625
+ export type FilterExpression_Event_Date = {
626
+ kind: FilterExpression_Event_Date_kind;
627
+ };
628
+ export type FilterExpression_Event_Attribute_Integer_Eq = {
629
+ value: number;
630
+ };
631
+ export type FilterExpression_Event_Attribute_Integer_Neq = {
632
+ value: number;
633
+ };
634
+ export type FilterExpression_Event_Attribute_Integer_Lte = {
635
+ value: number;
636
+ };
637
+ export type FilterExpression_Event_Attribute_Integer_Gte = {
638
+ value: number;
639
+ };
640
+ export type FilterExpression_Event_Attribute_Integer_In = {
641
+ values: number[];
642
+ };
643
+ export type FilterExpression_Event_Attribute_Integer_NotIn = {
644
+ values: number[];
645
+ };
646
+ export type FilterExpression_Event_Attribute_Integer_Between = {
647
+ from: number;
648
+ to: number;
649
+ };
650
+ export type FilterExpression_Event_Attribute_Integer_Exists = {
651
+ exists: boolean;
652
+ };
653
+ export type FilterExpression_Event_Attribute_Integer_kind_eq = {
654
+ type: 'eq';
655
+ data: FilterExpression_Event_Attribute_Integer_Eq;
656
+ };
657
+ export type FilterExpression_Event_Attribute_Integer_kind_neq = {
658
+ type: 'neq';
659
+ data: FilterExpression_Event_Attribute_Integer_Neq;
660
+ };
661
+ export type FilterExpression_Event_Attribute_Integer_kind_lte = {
662
+ type: 'lte';
663
+ data: FilterExpression_Event_Attribute_Integer_Lte;
664
+ };
665
+ export type FilterExpression_Event_Attribute_Integer_kind_gte = {
666
+ type: 'gte';
667
+ data: FilterExpression_Event_Attribute_Integer_Gte;
668
+ };
669
+ export type FilterExpression_Event_Attribute_Integer_kind_in = {
670
+ type: 'in';
671
+ data: FilterExpression_Event_Attribute_Integer_In;
672
+ };
673
+ export type FilterExpression_Event_Attribute_Integer_kind_notIn = {
674
+ type: 'notIn';
675
+ data: FilterExpression_Event_Attribute_Integer_NotIn;
676
+ };
677
+ export type FilterExpression_Event_Attribute_Integer_kind_between = {
678
+ type: 'between';
679
+ data: FilterExpression_Event_Attribute_Integer_Between;
680
+ };
681
+ export type FilterExpression_Event_Attribute_Integer_kind_exists = {
682
+ type: 'exists';
683
+ data: FilterExpression_Event_Attribute_Integer_Exists;
684
+ };
685
+ export type FilterExpression_Event_Attribute_Integer_kind = FilterExpression_Event_Attribute_Integer_kind_eq | FilterExpression_Event_Attribute_Integer_kind_neq | FilterExpression_Event_Attribute_Integer_kind_lte | FilterExpression_Event_Attribute_Integer_kind_gte | FilterExpression_Event_Attribute_Integer_kind_in | FilterExpression_Event_Attribute_Integer_kind_notIn | FilterExpression_Event_Attribute_Integer_kind_between | FilterExpression_Event_Attribute_Integer_kind_exists;
686
+ export type FilterExpression_Event_Attribute_Integer = {
687
+ kind: FilterExpression_Event_Attribute_Integer_kind;
688
+ };
689
+ export type FilterExpression_Event_Attribute_String_Eq = {
690
+ value: string;
691
+ };
692
+ export type FilterExpression_Event_Attribute_String_Neq = {
693
+ value: string;
694
+ };
695
+ export type FilterExpression_Event_Attribute_String_In = {
696
+ values: string[];
697
+ };
698
+ export type FilterExpression_Event_Attribute_String_NotIn = {
699
+ values: string[];
700
+ };
701
+ export type FilterExpression_Event_Attribute_String_Exists = {
702
+ exists: boolean;
703
+ };
704
+ export type FilterExpression_Event_Attribute_String_StartsWith = {
705
+ value: string;
706
+ };
707
+ export type FilterExpression_Event_Attribute_String_EndsWith = {
708
+ value: string;
709
+ };
710
+ export type FilterExpression_Event_Attribute_String_Contains = {
711
+ value: string;
712
+ };
713
+ export type FilterExpression_Event_Attribute_String_kind_eq = {
714
+ type: 'eq';
715
+ data: FilterExpression_Event_Attribute_String_Eq;
716
+ };
717
+ export type FilterExpression_Event_Attribute_String_kind_neq = {
718
+ type: 'neq';
719
+ data: FilterExpression_Event_Attribute_String_Neq;
720
+ };
721
+ export type FilterExpression_Event_Attribute_String_kind_in = {
722
+ type: 'in';
723
+ data: FilterExpression_Event_Attribute_String_In;
724
+ };
725
+ export type FilterExpression_Event_Attribute_String_kind_notIn = {
726
+ type: 'notIn';
727
+ data: FilterExpression_Event_Attribute_String_NotIn;
728
+ };
729
+ export type FilterExpression_Event_Attribute_String_kind_exists = {
730
+ type: 'exists';
731
+ data: FilterExpression_Event_Attribute_String_Exists;
732
+ };
733
+ export type FilterExpression_Event_Attribute_String_kind_startsWith = {
734
+ type: 'startsWith';
735
+ data: FilterExpression_Event_Attribute_String_StartsWith;
736
+ };
737
+ export type FilterExpression_Event_Attribute_String_kind_endsWith = {
738
+ type: 'endsWith';
739
+ data: FilterExpression_Event_Attribute_String_EndsWith;
740
+ };
741
+ export type FilterExpression_Event_Attribute_String_kind_contains = {
742
+ type: 'contains';
743
+ data: FilterExpression_Event_Attribute_String_Contains;
744
+ };
745
+ export type FilterExpression_Event_Attribute_String_kind = FilterExpression_Event_Attribute_String_kind_eq | FilterExpression_Event_Attribute_String_kind_neq | FilterExpression_Event_Attribute_String_kind_in | FilterExpression_Event_Attribute_String_kind_notIn | FilterExpression_Event_Attribute_String_kind_exists | FilterExpression_Event_Attribute_String_kind_startsWith | FilterExpression_Event_Attribute_String_kind_endsWith | FilterExpression_Event_Attribute_String_kind_contains;
746
+ export type FilterExpression_Event_Attribute_String = {
747
+ kind: FilterExpression_Event_Attribute_String_kind;
748
+ };
749
+ export type FilterExpression_Event_Attribute_List_In = {
750
+ values: string[];
751
+ };
752
+ export type FilterExpression_Event_Attribute_List_NotIn = {
753
+ values: string[];
754
+ };
755
+ export type FilterExpression_Event_Attribute_List_Exists = {
756
+ exists: boolean;
757
+ };
758
+ export type FilterExpression_Event_Attribute_List_kind_in = {
759
+ type: 'in';
760
+ data: FilterExpression_Event_Attribute_List_In;
761
+ };
762
+ export type FilterExpression_Event_Attribute_List_kind_notIn = {
763
+ type: 'notIn';
764
+ data: FilterExpression_Event_Attribute_List_NotIn;
765
+ };
766
+ export type FilterExpression_Event_Attribute_List_kind_exists = {
767
+ type: 'exists';
768
+ data: FilterExpression_Event_Attribute_List_Exists;
769
+ };
770
+ export type FilterExpression_Event_Attribute_List_kind = FilterExpression_Event_Attribute_List_kind_in | FilterExpression_Event_Attribute_List_kind_notIn | FilterExpression_Event_Attribute_List_kind_exists;
771
+ export type FilterExpression_Event_Attribute_List = {
772
+ kind: FilterExpression_Event_Attribute_List_kind;
773
+ };
774
+ export type FilterExpression_Event_Attribute_Date_Eq = {
775
+ value: Date;
776
+ };
777
+ export type FilterExpression_Event_Attribute_Date_Neq = {
778
+ value: Date;
779
+ };
780
+ export type FilterExpression_Event_Attribute_Date_Lte = {
781
+ value: Date;
782
+ };
783
+ export type FilterExpression_Event_Attribute_Date_Gte = {
784
+ value: Date;
785
+ };
786
+ export type FilterExpression_Event_Attribute_Date_In = {
787
+ values: Date[];
788
+ };
789
+ export type FilterExpression_Event_Attribute_Date_NotIn = {
790
+ values: Date[];
791
+ };
792
+ export type FilterExpression_Event_Attribute_Date_Between = {
793
+ from: Date;
794
+ to: Date;
795
+ };
796
+ export type FilterExpression_Event_Attribute_Date_Exists = {
797
+ exists: boolean;
798
+ };
799
+ export type FilterExpression_Event_Attribute_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN';
800
+ export type FilterExpression_Event_Attribute_Date_DaysAgo = {
801
+ operator: FilterExpression_Event_Attribute_Date_DaysAgo_Operator;
802
+ value: number;
803
+ values: number[];
804
+ };
805
+ export type FilterExpression_Event_Attribute_Date_kind_eq = {
806
+ type: 'eq';
807
+ data: FilterExpression_Event_Attribute_Date_Eq;
808
+ };
809
+ export type FilterExpression_Event_Attribute_Date_kind_neq = {
810
+ type: 'neq';
811
+ data: FilterExpression_Event_Attribute_Date_Neq;
812
+ };
813
+ export type FilterExpression_Event_Attribute_Date_kind_lte = {
814
+ type: 'lte';
815
+ data: FilterExpression_Event_Attribute_Date_Lte;
816
+ };
817
+ export type FilterExpression_Event_Attribute_Date_kind_gte = {
818
+ type: 'gte';
819
+ data: FilterExpression_Event_Attribute_Date_Gte;
820
+ };
821
+ export type FilterExpression_Event_Attribute_Date_kind_in = {
822
+ type: 'in';
823
+ data: FilterExpression_Event_Attribute_Date_In;
824
+ };
825
+ export type FilterExpression_Event_Attribute_Date_kind_notIn = {
826
+ type: 'notIn';
827
+ data: FilterExpression_Event_Attribute_Date_NotIn;
828
+ };
829
+ export type FilterExpression_Event_Attribute_Date_kind_between = {
830
+ type: 'between';
831
+ data: FilterExpression_Event_Attribute_Date_Between;
832
+ };
833
+ export type FilterExpression_Event_Attribute_Date_kind_exists = {
834
+ type: 'exists';
835
+ data: FilterExpression_Event_Attribute_Date_Exists;
836
+ };
837
+ export type FilterExpression_Event_Attribute_Date_kind_daysAgo = {
838
+ type: 'daysAgo';
839
+ data: FilterExpression_Event_Attribute_Date_DaysAgo;
840
+ };
841
+ export type FilterExpression_Event_Attribute_Date_kind = FilterExpression_Event_Attribute_Date_kind_eq | FilterExpression_Event_Attribute_Date_kind_neq | FilterExpression_Event_Attribute_Date_kind_lte | FilterExpression_Event_Attribute_Date_kind_gte | FilterExpression_Event_Attribute_Date_kind_in | FilterExpression_Event_Attribute_Date_kind_notIn | FilterExpression_Event_Attribute_Date_kind_between | FilterExpression_Event_Attribute_Date_kind_exists | FilterExpression_Event_Attribute_Date_kind_daysAgo;
842
+ export type FilterExpression_Event_Attribute_Date = {
843
+ kind: FilterExpression_Event_Attribute_Date_kind;
844
+ };
845
+ export type FilterExpression_Event_Attribute_Boolean_Eq = {
846
+ value: boolean;
847
+ };
848
+ export type FilterExpression_Event_Attribute_Boolean_Neq = {
849
+ value: boolean;
850
+ };
851
+ export type FilterExpression_Event_Attribute_Boolean_Exists = {
852
+ exists: boolean;
853
+ };
854
+ export type FilterExpression_Event_Attribute_Boolean_kind_eq = {
855
+ type: 'eq';
856
+ data: FilterExpression_Event_Attribute_Boolean_Eq;
857
+ };
858
+ export type FilterExpression_Event_Attribute_Boolean_kind_neq = {
859
+ type: 'neq';
860
+ data: FilterExpression_Event_Attribute_Boolean_Neq;
861
+ };
862
+ export type FilterExpression_Event_Attribute_Boolean_kind_exists = {
863
+ type: 'exists';
864
+ data: FilterExpression_Event_Attribute_Boolean_Exists;
865
+ };
866
+ export type FilterExpression_Event_Attribute_Boolean_kind = FilterExpression_Event_Attribute_Boolean_kind_eq | FilterExpression_Event_Attribute_Boolean_kind_neq | FilterExpression_Event_Attribute_Boolean_kind_exists;
867
+ export type FilterExpression_Event_Attribute_Boolean = {
868
+ kind: FilterExpression_Event_Attribute_Boolean_kind;
869
+ };
870
+ export type FilterExpression_Event_Attribute_Price_Eq = {
871
+ value: number;
872
+ };
873
+ export type FilterExpression_Event_Attribute_Price_Neq = {
874
+ value: number;
875
+ };
876
+ export type FilterExpression_Event_Attribute_Price_Lte = {
877
+ value: number;
878
+ };
879
+ export type FilterExpression_Event_Attribute_Price_Gte = {
880
+ value: number;
881
+ };
882
+ export type FilterExpression_Event_Attribute_Price_In = {
883
+ values: number[];
884
+ };
885
+ export type FilterExpression_Event_Attribute_Price_NotIn = {
886
+ values: number[];
887
+ };
888
+ export type FilterExpression_Event_Attribute_Price_Between = {
889
+ from: number;
890
+ to: number;
891
+ };
892
+ export type FilterExpression_Event_Attribute_Price_Exists = {
893
+ exists: boolean;
894
+ };
895
+ export type FilterExpression_Event_Attribute_Price_kind_eq = {
896
+ type: 'eq';
897
+ data: FilterExpression_Event_Attribute_Price_Eq;
898
+ };
899
+ export type FilterExpression_Event_Attribute_Price_kind_neq = {
900
+ type: 'neq';
901
+ data: FilterExpression_Event_Attribute_Price_Neq;
902
+ };
903
+ export type FilterExpression_Event_Attribute_Price_kind_lte = {
904
+ type: 'lte';
905
+ data: FilterExpression_Event_Attribute_Price_Lte;
906
+ };
907
+ export type FilterExpression_Event_Attribute_Price_kind_gte = {
908
+ type: 'gte';
909
+ data: FilterExpression_Event_Attribute_Price_Gte;
910
+ };
911
+ export type FilterExpression_Event_Attribute_Price_kind_in = {
912
+ type: 'in';
913
+ data: FilterExpression_Event_Attribute_Price_In;
914
+ };
915
+ export type FilterExpression_Event_Attribute_Price_kind_notIn = {
916
+ type: 'notIn';
917
+ data: FilterExpression_Event_Attribute_Price_NotIn;
918
+ };
919
+ export type FilterExpression_Event_Attribute_Price_kind_between = {
920
+ type: 'between';
921
+ data: FilterExpression_Event_Attribute_Price_Between;
922
+ };
923
+ export type FilterExpression_Event_Attribute_Price_kind_exists = {
924
+ type: 'exists';
925
+ data: FilterExpression_Event_Attribute_Price_Exists;
926
+ };
927
+ export type FilterExpression_Event_Attribute_Price_kind = FilterExpression_Event_Attribute_Price_kind_eq | FilterExpression_Event_Attribute_Price_kind_neq | FilterExpression_Event_Attribute_Price_kind_lte | FilterExpression_Event_Attribute_Price_kind_gte | FilterExpression_Event_Attribute_Price_kind_in | FilterExpression_Event_Attribute_Price_kind_notIn | FilterExpression_Event_Attribute_Price_kind_between | FilterExpression_Event_Attribute_Price_kind_exists;
928
+ export type FilterExpression_Event_Attribute_Price = {
929
+ kind: FilterExpression_Event_Attribute_Price_kind;
930
+ };
931
+ export type FilterExpression_Event_Attribute_kind_integer = {
932
+ type: 'integer';
933
+ data: FilterExpression_Event_Attribute_Integer;
934
+ };
935
+ export type FilterExpression_Event_Attribute_kind_string = {
936
+ type: 'string';
937
+ data: FilterExpression_Event_Attribute_String;
938
+ };
939
+ export type FilterExpression_Event_Attribute_kind_list = {
940
+ type: 'list';
941
+ data: FilterExpression_Event_Attribute_List;
942
+ };
943
+ export type FilterExpression_Event_Attribute_kind_date = {
944
+ type: 'date';
945
+ data: FilterExpression_Event_Attribute_Date;
946
+ };
947
+ export type FilterExpression_Event_Attribute_kind_boolean = {
948
+ type: 'boolean';
949
+ data: FilterExpression_Event_Attribute_Boolean;
950
+ };
951
+ export type FilterExpression_Event_Attribute_kind_price = {
952
+ type: 'price';
953
+ data: FilterExpression_Event_Attribute_Price;
954
+ };
955
+ export type FilterExpression_Event_Attribute_kind = FilterExpression_Event_Attribute_kind_integer | FilterExpression_Event_Attribute_kind_string | FilterExpression_Event_Attribute_kind_list | FilterExpression_Event_Attribute_kind_date | FilterExpression_Event_Attribute_kind_boolean | FilterExpression_Event_Attribute_kind_price;
956
+ export type FilterExpression_Event_Attribute = {
957
+ name: string;
958
+ kind: FilterExpression_Event_Attribute_kind;
959
+ };
960
+ /** Event specifies set of devices associated with given event parameters */
961
+ export type FilterExpression_Event = {
962
+ application: string;
963
+ event: string;
964
+ count: FilterExpression_Event_Count;
965
+ date: FilterExpression_Event_Date;
966
+ attributes: FilterExpression_Event_Attribute[];
967
+ platforms: string[];
968
+ };
969
+ export type FilterExpression_Updated_Condition_Lte = {
970
+ value: Date;
971
+ };
972
+ export type FilterExpression_Updated_Condition_Gte = {
973
+ value: Date;
974
+ };
975
+ export type FilterExpression_Updated_Condition_Between = {
976
+ from: Date;
977
+ to: Date;
978
+ };
979
+ export type FilterExpression_Updated_Condition_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN';
980
+ export type FilterExpression_Updated_Condition_kind_lte = {
981
+ type: 'lte';
982
+ data: FilterExpression_Updated_Condition_Lte;
983
+ };
984
+ export type FilterExpression_Updated_Condition_kind_gte = {
985
+ type: 'gte';
986
+ data: FilterExpression_Updated_Condition_Gte;
987
+ };
988
+ export type FilterExpression_Updated_Condition_kind_between = {
989
+ type: 'between';
990
+ data: FilterExpression_Updated_Condition_Between;
991
+ };
992
+ export type FilterExpression_Updated_Condition_kind = FilterExpression_Updated_Condition_kind_lte | FilterExpression_Updated_Condition_kind_gte | FilterExpression_Updated_Condition_kind_between;
993
+ export type FilterExpression_Updated_Condition = {
994
+ kind: FilterExpression_Updated_Condition_kind;
995
+ };
996
+ /** Updated specifies set of devices that match restrictions for device updated at field */
997
+ export type FilterExpression_Updated = {
998
+ application: string;
999
+ condition: FilterExpression_Updated_Condition;
1000
+ };
1001
+ export type FilterExpression_Tag_Integer_Eq = {
1002
+ value: number;
1003
+ };
1004
+ export type FilterExpression_Tag_Integer_Neq = {
1005
+ value: number;
1006
+ };
1007
+ export type FilterExpression_Tag_Integer_Lte = {
1008
+ value: number;
1009
+ };
1010
+ export type FilterExpression_Tag_Integer_Gte = {
1011
+ value: number;
1012
+ };
1013
+ export type FilterExpression_Tag_Integer_In = {
1014
+ values: number[];
1015
+ };
1016
+ export type FilterExpression_Tag_Integer_NotIn = {
1017
+ values: number[];
1018
+ };
1019
+ export type FilterExpression_Tag_Integer_Between = {
1020
+ from: number;
1021
+ to: number;
1022
+ };
1023
+ export type FilterExpression_Tag_Integer_Exists = {
1024
+ exists: boolean;
1025
+ };
1026
+ export type FilterExpression_Tag_Integer_kind_eq = {
1027
+ type: 'eq';
1028
+ data: FilterExpression_Tag_Integer_Eq;
1029
+ };
1030
+ export type FilterExpression_Tag_Integer_kind_neq = {
1031
+ type: 'neq';
1032
+ data: FilterExpression_Tag_Integer_Neq;
1033
+ };
1034
+ export type FilterExpression_Tag_Integer_kind_lte = {
1035
+ type: 'lte';
1036
+ data: FilterExpression_Tag_Integer_Lte;
1037
+ };
1038
+ export type FilterExpression_Tag_Integer_kind_gte = {
1039
+ type: 'gte';
1040
+ data: FilterExpression_Tag_Integer_Gte;
1041
+ };
1042
+ export type FilterExpression_Tag_Integer_kind_in = {
1043
+ type: 'in';
1044
+ data: FilterExpression_Tag_Integer_In;
1045
+ };
1046
+ export type FilterExpression_Tag_Integer_kind_notIn = {
1047
+ type: 'notIn';
1048
+ data: FilterExpression_Tag_Integer_NotIn;
1049
+ };
1050
+ export type FilterExpression_Tag_Integer_kind_between = {
1051
+ type: 'between';
1052
+ data: FilterExpression_Tag_Integer_Between;
1053
+ };
1054
+ export type FilterExpression_Tag_Integer_kind_exists = {
1055
+ type: 'exists';
1056
+ data: FilterExpression_Tag_Integer_Exists;
1057
+ };
1058
+ export type FilterExpression_Tag_Integer_kind = FilterExpression_Tag_Integer_kind_eq | FilterExpression_Tag_Integer_kind_neq | FilterExpression_Tag_Integer_kind_lte | FilterExpression_Tag_Integer_kind_gte | FilterExpression_Tag_Integer_kind_in | FilterExpression_Tag_Integer_kind_notIn | FilterExpression_Tag_Integer_kind_between | FilterExpression_Tag_Integer_kind_exists;
1059
+ export type FilterExpression_Tag_Integer = {
1060
+ kind: FilterExpression_Tag_Integer_kind;
1061
+ };
1062
+ export type FilterExpression_Tag_String_Eq = {
1063
+ value: string;
1064
+ };
1065
+ export type FilterExpression_Tag_String_Neq = {
1066
+ value: string;
1067
+ };
1068
+ export type FilterExpression_Tag_String_In = {
1069
+ values: string[];
1070
+ };
1071
+ export type FilterExpression_Tag_String_NotIn = {
1072
+ values: string[];
1073
+ };
1074
+ export type FilterExpression_Tag_String_Exists = {
1075
+ exists: boolean;
1076
+ };
1077
+ export type FilterExpression_Tag_String_StartsWith = {
1078
+ value: string;
1079
+ };
1080
+ export type FilterExpression_Tag_String_EndsWith = {
1081
+ value: string;
1082
+ };
1083
+ export type FilterExpression_Tag_String_Contains = {
1084
+ value: string;
1085
+ };
1086
+ export type FilterExpression_Tag_String_kind_eq = {
1087
+ type: 'eq';
1088
+ data: FilterExpression_Tag_String_Eq;
1089
+ };
1090
+ export type FilterExpression_Tag_String_kind_neq = {
1091
+ type: 'neq';
1092
+ data: FilterExpression_Tag_String_Neq;
1093
+ };
1094
+ export type FilterExpression_Tag_String_kind_in = {
1095
+ type: 'in';
1096
+ data: FilterExpression_Tag_String_In;
1097
+ };
1098
+ export type FilterExpression_Tag_String_kind_notIn = {
1099
+ type: 'notIn';
1100
+ data: FilterExpression_Tag_String_NotIn;
1101
+ };
1102
+ export type FilterExpression_Tag_String_kind_exists = {
1103
+ type: 'exists';
1104
+ data: FilterExpression_Tag_String_Exists;
1105
+ };
1106
+ export type FilterExpression_Tag_String_kind_startsWith = {
1107
+ type: 'startsWith';
1108
+ data: FilterExpression_Tag_String_StartsWith;
1109
+ };
1110
+ export type FilterExpression_Tag_String_kind_endsWith = {
1111
+ type: 'endsWith';
1112
+ data: FilterExpression_Tag_String_EndsWith;
1113
+ };
1114
+ export type FilterExpression_Tag_String_kind_contains = {
1115
+ type: 'contains';
1116
+ data: FilterExpression_Tag_String_Contains;
1117
+ };
1118
+ export type FilterExpression_Tag_String_kind = FilterExpression_Tag_String_kind_eq | FilterExpression_Tag_String_kind_neq | FilterExpression_Tag_String_kind_in | FilterExpression_Tag_String_kind_notIn | FilterExpression_Tag_String_kind_exists | FilterExpression_Tag_String_kind_startsWith | FilterExpression_Tag_String_kind_endsWith | FilterExpression_Tag_String_kind_contains;
1119
+ export type FilterExpression_Tag_String = {
1120
+ kind: FilterExpression_Tag_String_kind;
1121
+ };
1122
+ export type FilterExpression_Tag_List_In = {
1123
+ values: string[];
1124
+ };
1125
+ export type FilterExpression_Tag_List_NotIn = {
1126
+ values: string[];
1127
+ };
1128
+ export type FilterExpression_Tag_List_Exists = {
1129
+ exists: boolean;
1130
+ };
1131
+ export type FilterExpression_Tag_List_kind_in = {
1132
+ type: 'in';
1133
+ data: FilterExpression_Tag_List_In;
1134
+ };
1135
+ export type FilterExpression_Tag_List_kind_notIn = {
1136
+ type: 'notIn';
1137
+ data: FilterExpression_Tag_List_NotIn;
1138
+ };
1139
+ export type FilterExpression_Tag_List_kind_exists = {
1140
+ type: 'exists';
1141
+ data: FilterExpression_Tag_List_Exists;
1142
+ };
1143
+ export type FilterExpression_Tag_List_kind = FilterExpression_Tag_List_kind_in | FilterExpression_Tag_List_kind_notIn | FilterExpression_Tag_List_kind_exists;
1144
+ export type FilterExpression_Tag_List = {
1145
+ kind: FilterExpression_Tag_List_kind;
1146
+ };
1147
+ export type FilterExpression_Tag_Date_Eq = {
1148
+ value: Date;
1149
+ };
1150
+ export type FilterExpression_Tag_Date_Neq = {
1151
+ value: Date;
1152
+ };
1153
+ export type FilterExpression_Tag_Date_Lte = {
1154
+ value: Date;
1155
+ };
1156
+ export type FilterExpression_Tag_Date_Gte = {
1157
+ value: Date;
1158
+ };
1159
+ export type FilterExpression_Tag_Date_In = {
1160
+ values: Date[];
1161
+ };
1162
+ export type FilterExpression_Tag_Date_NotIn = {
1163
+ values: Date[];
1164
+ };
1165
+ export type FilterExpression_Tag_Date_Between = {
1166
+ from: Date;
1167
+ to: Date;
1168
+ };
1169
+ export type FilterExpression_Tag_Date_Exists = {
1170
+ exists: boolean;
1171
+ };
1172
+ export type FilterExpression_Tag_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN';
1173
+ export type FilterExpression_Tag_Date_DaysAgo = {
1174
+ operator: FilterExpression_Tag_Date_DaysAgo_Operator;
1175
+ value: number;
1176
+ values: number[];
1177
+ };
1178
+ export type FilterExpression_Tag_Date_kind_eq = {
1179
+ type: 'eq';
1180
+ data: FilterExpression_Tag_Date_Eq;
1181
+ };
1182
+ export type FilterExpression_Tag_Date_kind_neq = {
1183
+ type: 'neq';
1184
+ data: FilterExpression_Tag_Date_Neq;
1185
+ };
1186
+ export type FilterExpression_Tag_Date_kind_lte = {
1187
+ type: 'lte';
1188
+ data: FilterExpression_Tag_Date_Lte;
1189
+ };
1190
+ export type FilterExpression_Tag_Date_kind_gte = {
1191
+ type: 'gte';
1192
+ data: FilterExpression_Tag_Date_Gte;
1193
+ };
1194
+ export type FilterExpression_Tag_Date_kind_in = {
1195
+ type: 'in';
1196
+ data: FilterExpression_Tag_Date_In;
1197
+ };
1198
+ export type FilterExpression_Tag_Date_kind_notIn = {
1199
+ type: 'notIn';
1200
+ data: FilterExpression_Tag_Date_NotIn;
1201
+ };
1202
+ export type FilterExpression_Tag_Date_kind_between = {
1203
+ type: 'between';
1204
+ data: FilterExpression_Tag_Date_Between;
1205
+ };
1206
+ export type FilterExpression_Tag_Date_kind_exists = {
1207
+ type: 'exists';
1208
+ data: FilterExpression_Tag_Date_Exists;
1209
+ };
1210
+ export type FilterExpression_Tag_Date_kind_daysAgo = {
1211
+ type: 'daysAgo';
1212
+ data: FilterExpression_Tag_Date_DaysAgo;
1213
+ };
1214
+ export type FilterExpression_Tag_Date_kind = FilterExpression_Tag_Date_kind_eq | FilterExpression_Tag_Date_kind_neq | FilterExpression_Tag_Date_kind_lte | FilterExpression_Tag_Date_kind_gte | FilterExpression_Tag_Date_kind_in | FilterExpression_Tag_Date_kind_notIn | FilterExpression_Tag_Date_kind_between | FilterExpression_Tag_Date_kind_exists | FilterExpression_Tag_Date_kind_daysAgo;
1215
+ export type FilterExpression_Tag_Date = {
1216
+ kind: FilterExpression_Tag_Date_kind;
1217
+ };
1218
+ export type FilterExpression_Tag_Boolean_Eq = {
1219
+ value: boolean;
1220
+ };
1221
+ export type FilterExpression_Tag_Boolean_Neq = {
1222
+ value: boolean;
1223
+ };
1224
+ export type FilterExpression_Tag_Boolean_Exists = {
1225
+ exists: boolean;
1226
+ };
1227
+ export type FilterExpression_Tag_Boolean_kind_eq = {
1228
+ type: 'eq';
1229
+ data: FilterExpression_Tag_Boolean_Eq;
1230
+ };
1231
+ export type FilterExpression_Tag_Boolean_kind_neq = {
1232
+ type: 'neq';
1233
+ data: FilterExpression_Tag_Boolean_Neq;
1234
+ };
1235
+ export type FilterExpression_Tag_Boolean_kind_exists = {
1236
+ type: 'exists';
1237
+ data: FilterExpression_Tag_Boolean_Exists;
1238
+ };
1239
+ export type FilterExpression_Tag_Boolean_kind = FilterExpression_Tag_Boolean_kind_eq | FilterExpression_Tag_Boolean_kind_neq | FilterExpression_Tag_Boolean_kind_exists;
1240
+ export type FilterExpression_Tag_Boolean = {
1241
+ kind: FilterExpression_Tag_Boolean_kind;
1242
+ };
1243
+ export type FilterExpression_Tag_Price_Eq = {
1244
+ value: number;
1245
+ };
1246
+ export type FilterExpression_Tag_Price_Neq = {
1247
+ value: number;
1248
+ };
1249
+ export type FilterExpression_Tag_Price_Lte = {
1250
+ value: number;
1251
+ };
1252
+ export type FilterExpression_Tag_Price_Gte = {
1253
+ value: number;
1254
+ };
1255
+ export type FilterExpression_Tag_Price_In = {
1256
+ values: number[];
1257
+ };
1258
+ export type FilterExpression_Tag_Price_NotIn = {
1259
+ values: number[];
1260
+ };
1261
+ export type FilterExpression_Tag_Price_Between = {
1262
+ from: number;
1263
+ to: number;
1264
+ };
1265
+ export type FilterExpression_Tag_Price_Exists = {
1266
+ exists: boolean;
1267
+ };
1268
+ export type FilterExpression_Tag_Price_kind_eq = {
1269
+ type: 'eq';
1270
+ data: FilterExpression_Tag_Price_Eq;
1271
+ };
1272
+ export type FilterExpression_Tag_Price_kind_neq = {
1273
+ type: 'neq';
1274
+ data: FilterExpression_Tag_Price_Neq;
1275
+ };
1276
+ export type FilterExpression_Tag_Price_kind_lte = {
1277
+ type: 'lte';
1278
+ data: FilterExpression_Tag_Price_Lte;
1279
+ };
1280
+ export type FilterExpression_Tag_Price_kind_gte = {
1281
+ type: 'gte';
1282
+ data: FilterExpression_Tag_Price_Gte;
1283
+ };
1284
+ export type FilterExpression_Tag_Price_kind_in = {
1285
+ type: 'in';
1286
+ data: FilterExpression_Tag_Price_In;
1287
+ };
1288
+ export type FilterExpression_Tag_Price_kind_notIn = {
1289
+ type: 'notIn';
1290
+ data: FilterExpression_Tag_Price_NotIn;
1291
+ };
1292
+ export type FilterExpression_Tag_Price_kind_between = {
1293
+ type: 'between';
1294
+ data: FilterExpression_Tag_Price_Between;
1295
+ };
1296
+ export type FilterExpression_Tag_Price_kind_exists = {
1297
+ type: 'exists';
1298
+ data: FilterExpression_Tag_Price_Exists;
1299
+ };
1300
+ export type FilterExpression_Tag_Price_kind = FilterExpression_Tag_Price_kind_eq | FilterExpression_Tag_Price_kind_neq | FilterExpression_Tag_Price_kind_lte | FilterExpression_Tag_Price_kind_gte | FilterExpression_Tag_Price_kind_in | FilterExpression_Tag_Price_kind_notIn | FilterExpression_Tag_Price_kind_between | FilterExpression_Tag_Price_kind_exists;
1301
+ export type FilterExpression_Tag_Price = {
1302
+ kind: FilterExpression_Tag_Price_kind;
1303
+ };
1304
+ export type FilterExpression_Tag_Version_Eq = {
1305
+ value: string;
1306
+ };
1307
+ export type FilterExpression_Tag_Version_Neq = {
1308
+ value: string;
1309
+ };
1310
+ export type FilterExpression_Tag_Version_Lte = {
1311
+ value: string;
1312
+ };
1313
+ export type FilterExpression_Tag_Version_Gte = {
1314
+ value: string;
1315
+ };
1316
+ export type FilterExpression_Tag_Version_In = {
1317
+ values: string[];
1318
+ };
1319
+ export type FilterExpression_Tag_Version_NotIn = {
1320
+ values: string[];
1321
+ };
1322
+ export type FilterExpression_Tag_Version_Between = {
1323
+ from: string;
1324
+ to: string;
1325
+ };
1326
+ export type FilterExpression_Tag_Version_Exists = {
1327
+ exists: boolean;
1328
+ };
1329
+ export type FilterExpression_Tag_Version_kind_eq = {
1330
+ type: 'eq';
1331
+ data: FilterExpression_Tag_Version_Eq;
1332
+ };
1333
+ export type FilterExpression_Tag_Version_kind_neq = {
1334
+ type: 'neq';
1335
+ data: FilterExpression_Tag_Version_Neq;
1336
+ };
1337
+ export type FilterExpression_Tag_Version_kind_lte = {
1338
+ type: 'lte';
1339
+ data: FilterExpression_Tag_Version_Lte;
1340
+ };
1341
+ export type FilterExpression_Tag_Version_kind_gte = {
1342
+ type: 'gte';
1343
+ data: FilterExpression_Tag_Version_Gte;
1344
+ };
1345
+ export type FilterExpression_Tag_Version_kind_in = {
1346
+ type: 'in';
1347
+ data: FilterExpression_Tag_Version_In;
1348
+ };
1349
+ export type FilterExpression_Tag_Version_kind_notIn = {
1350
+ type: 'notIn';
1351
+ data: FilterExpression_Tag_Version_NotIn;
1352
+ };
1353
+ export type FilterExpression_Tag_Version_kind_between = {
1354
+ type: 'between';
1355
+ data: FilterExpression_Tag_Version_Between;
1356
+ };
1357
+ export type FilterExpression_Tag_Version_kind_exists = {
1358
+ type: 'exists';
1359
+ data: FilterExpression_Tag_Version_Exists;
1360
+ };
1361
+ export type FilterExpression_Tag_Version_kind = FilterExpression_Tag_Version_kind_eq | FilterExpression_Tag_Version_kind_neq | FilterExpression_Tag_Version_kind_lte | FilterExpression_Tag_Version_kind_gte | FilterExpression_Tag_Version_kind_in | FilterExpression_Tag_Version_kind_notIn | FilterExpression_Tag_Version_kind_between | FilterExpression_Tag_Version_kind_exists;
1362
+ export type FilterExpression_Tag_Version = {
1363
+ kind: FilterExpression_Tag_Version_kind;
1364
+ };
1365
+ export type FilterExpression_Tag_Timezone_Eq = {
1366
+ value: number;
1367
+ };
1368
+ export type FilterExpression_Tag_Timezone_Neq = {
1369
+ value: number;
1370
+ };
1371
+ export type FilterExpression_Tag_Timezone_Lte = {
1372
+ value: number;
1373
+ };
1374
+ export type FilterExpression_Tag_Timezone_Gte = {
1375
+ value: number;
1376
+ };
1377
+ export type FilterExpression_Tag_Timezone_In = {
1378
+ values: number[];
1379
+ };
1380
+ export type FilterExpression_Tag_Timezone_NotIn = {
1381
+ values: number[];
1382
+ };
1383
+ export type FilterExpression_Tag_Timezone_Between = {
1384
+ from: number;
1385
+ to: number;
1386
+ };
1387
+ export type FilterExpression_Tag_Timezone_Exists = {
1388
+ exists: boolean;
1389
+ };
1390
+ export type FilterExpression_Tag_Timezone_kind_eq = {
1391
+ type: 'eq';
1392
+ data: FilterExpression_Tag_Timezone_Eq;
1393
+ };
1394
+ export type FilterExpression_Tag_Timezone_kind_neq = {
1395
+ type: 'neq';
1396
+ data: FilterExpression_Tag_Timezone_Neq;
1397
+ };
1398
+ export type FilterExpression_Tag_Timezone_kind_lte = {
1399
+ type: 'lte';
1400
+ data: FilterExpression_Tag_Timezone_Lte;
1401
+ };
1402
+ export type FilterExpression_Tag_Timezone_kind_gte = {
1403
+ type: 'gte';
1404
+ data: FilterExpression_Tag_Timezone_Gte;
1405
+ };
1406
+ export type FilterExpression_Tag_Timezone_kind_in = {
1407
+ type: 'in';
1408
+ data: FilterExpression_Tag_Timezone_In;
1409
+ };
1410
+ export type FilterExpression_Tag_Timezone_kind_notIn = {
1411
+ type: 'notIn';
1412
+ data: FilterExpression_Tag_Timezone_NotIn;
1413
+ };
1414
+ export type FilterExpression_Tag_Timezone_kind_between = {
1415
+ type: 'between';
1416
+ data: FilterExpression_Tag_Timezone_Between;
1417
+ };
1418
+ export type FilterExpression_Tag_Timezone_kind_exists = {
1419
+ type: 'exists';
1420
+ data: FilterExpression_Tag_Timezone_Exists;
1421
+ };
1422
+ export type FilterExpression_Tag_Timezone_kind = FilterExpression_Tag_Timezone_kind_eq | FilterExpression_Tag_Timezone_kind_neq | FilterExpression_Tag_Timezone_kind_lte | FilterExpression_Tag_Timezone_kind_gte | FilterExpression_Tag_Timezone_kind_in | FilterExpression_Tag_Timezone_kind_notIn | FilterExpression_Tag_Timezone_kind_between | FilterExpression_Tag_Timezone_kind_exists;
1423
+ export type FilterExpression_Tag_Timezone = {
1424
+ kind: FilterExpression_Tag_Timezone_kind;
1425
+ };
1426
+ export type FilterExpression_Tag_kind_integer = {
1427
+ type: 'integer';
1428
+ data: FilterExpression_Tag_Integer;
1429
+ };
1430
+ export type FilterExpression_Tag_kind_string = {
1431
+ type: 'string';
1432
+ data: FilterExpression_Tag_String;
1433
+ };
1434
+ export type FilterExpression_Tag_kind_list = {
1435
+ type: 'list';
1436
+ data: FilterExpression_Tag_List;
1437
+ };
1438
+ export type FilterExpression_Tag_kind_date = {
1439
+ type: 'date';
1440
+ data: FilterExpression_Tag_Date;
1441
+ };
1442
+ export type FilterExpression_Tag_kind_boolean = {
1443
+ type: 'boolean';
1444
+ data: FilterExpression_Tag_Boolean;
1445
+ };
1446
+ export type FilterExpression_Tag_kind_price = {
1447
+ type: 'price';
1448
+ data: FilterExpression_Tag_Price;
1449
+ };
1450
+ export type FilterExpression_Tag_kind_version = {
1451
+ type: 'version';
1452
+ data: FilterExpression_Tag_Version;
1453
+ };
1454
+ export type FilterExpression_Tag_kind_timezone = {
1455
+ type: 'timezone';
1456
+ data: FilterExpression_Tag_Timezone;
1457
+ };
1458
+ export type FilterExpression_Tag_kind = FilterExpression_Tag_kind_integer | FilterExpression_Tag_kind_string | FilterExpression_Tag_kind_list | FilterExpression_Tag_kind_date | FilterExpression_Tag_kind_boolean | FilterExpression_Tag_kind_price | FilterExpression_Tag_kind_version | FilterExpression_Tag_kind_timezone;
1459
+ /** Tag specifies set of devices that match given tag conditions */
1460
+ export type FilterExpression_Tag = {
1461
+ name: string;
1462
+ application: string;
1463
+ kind: FilterExpression_Tag_kind;
1464
+ };
1465
+ /** Tag specifies set of devices that match given tag conditions */
1466
+ export type FilterExpression_TagDateMatch = {
1467
+ name: string;
1468
+ application: string;
1469
+ month: number;
1470
+ day: number;
1471
+ addDays: number;
1472
+ };
1473
+ export type FilterExpression_kind_operation = {
1474
+ type: 'operation';
1475
+ data: FilterExpression_Operation;
1476
+ };
1477
+ export type FilterExpression_kind_application = {
1478
+ type: 'application';
1479
+ data: FilterExpression_Application;
1480
+ };
1481
+ export type FilterExpression_kind_tag = {
1482
+ type: 'tag';
1483
+ data: FilterExpression_Tag;
1484
+ };
1485
+ export type FilterExpression_kind_geo = {
1486
+ type: 'geo';
1487
+ data: FilterExpression_Geo;
1488
+ };
1489
+ export type FilterExpression_kind_static = {
1490
+ type: 'static';
1491
+ data: FilterExpression_Static;
1492
+ };
1493
+ export type FilterExpression_kind_event = {
1494
+ type: 'event';
1495
+ data: FilterExpression_Event;
1496
+ };
1497
+ export type FilterExpression_kind_updated = {
1498
+ type: 'updated';
1499
+ data: FilterExpression_Updated;
1500
+ };
1501
+ export type FilterExpression_kind_bestTimeToSend = {
1502
+ type: 'bestTimeToSend';
1503
+ data: FilterExpression_BestTimeToSend;
1504
+ };
1505
+ export type FilterExpression_kind_tagDateMatch = {
1506
+ type: 'tagDateMatch';
1507
+ data: FilterExpression_TagDateMatch;
1508
+ };
1509
+ export type FilterExpression_kind = FilterExpression_kind_operation | FilterExpression_kind_application | FilterExpression_kind_tag | FilterExpression_kind_geo | FilterExpression_kind_static | FilterExpression_kind_event | FilterExpression_kind_updated | FilterExpression_kind_bestTimeToSend | FilterExpression_kind_tagDateMatch;
1510
+ /** FilterExpression describes structures for querying devices from the database */
1511
+ export type FilterExpression = {
1512
+ kind: FilterExpression_kind;
1513
+ };