export type LogicExpression_Binary_Operator = 'INVALID' | 'AND' | 'OR'; /** * BinaryExpression is a kind of expression that allows to combine * two other expressions with application of some binary logic operator. */ export type LogicExpression_Binary = { operator: LogicExpression_Binary_Operator; left: LogicExpression; right: LogicExpression; }; export type LogicExpression_Field_Operator = 'INVALID' /** field = value */ | 'EQ' /** field != value */ | 'NEQ' /** field in value */ | 'IN' /** field > value */ | 'GT' /** field >= value */ | 'GTE' /** field < value */ | 'LT' /** field <= value */ | 'LTE' /** field like 'value%' */ | 'STARTS_WITH' /** field like '%value' */ | 'ENDS_WITH' /** field like '%value%' */ | 'LIKE' /** field is null */ | 'IS_NULL' /** field is not null */ | 'NOT_NULL' /** field is ilike '%value%' */ | 'ILIKE' /** field '@>' array */ | 'ARRAY_CONTAINS' /** field '<@' array */ | 'ARRAY_INCLUDES'; export type LogicExpression_Field_ID = { operator: LogicExpression_Field_Operator; value: number; values: number[]; }; export type LogicExpression_Field_Code = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_AccountID = { operator: LogicExpression_Field_Operator; value: number; values: number[]; }; export type LogicExpression_Field_Name = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_ApplicationID = { operator: LogicExpression_Field_Operator; value: number; values: number[]; }; export type LogicExpression_Field_IsFiltrationInProgress = { operator: LogicExpression_Field_Operator; value: boolean; values: boolean[]; }; export type LogicExpression_Field_FiltrationStartedAt = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_FiltrationLastFilteredAt = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_FiltrationLastCheckedAt = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_FiltrationScheduledAt = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_CheckerScheduledAt = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_IsSystem = { operator: LogicExpression_Field_Operator; value: boolean; values: boolean[]; }; export type LogicExpression_Field_ExpirationDate = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_Created = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_FilterExpressionRaw = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_FiltrationID = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_Updated = { operator: LogicExpression_Field_Operator; value: Date; values: Date[]; }; export type LogicExpression_Field_Description = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_DeviceLoadPolicy = { operator: LogicExpression_Field_Operator; value: string; values: string[]; }; export type LogicExpression_Field_HighSpeed = { operator: LogicExpression_Field_Operator; value: boolean; values: boolean[]; }; export type LogicExpression_Field_kind_CondID = { type: 'CondID'; data: LogicExpression_Field_ID; }; export type LogicExpression_Field_kind_CondCode = { type: 'CondCode'; data: LogicExpression_Field_Code; }; export type LogicExpression_Field_kind_CondAccountID = { type: 'CondAccountID'; data: LogicExpression_Field_AccountID; }; export type LogicExpression_Field_kind_CondName = { type: 'CondName'; data: LogicExpression_Field_Name; }; export type LogicExpression_Field_kind_CondApplicationID = { type: 'CondApplicationID'; data: LogicExpression_Field_ApplicationID; }; export type LogicExpression_Field_kind_CondIsFiltrationInProgress = { type: 'CondIsFiltrationInProgress'; data: LogicExpression_Field_IsFiltrationInProgress; }; export type LogicExpression_Field_kind_CondFiltrationStartedAt = { type: 'CondFiltrationStartedAt'; data: LogicExpression_Field_FiltrationStartedAt; }; export type LogicExpression_Field_kind_CondFiltrationLastFilteredAt = { type: 'CondFiltrationLastFilteredAt'; data: LogicExpression_Field_FiltrationLastFilteredAt; }; export type LogicExpression_Field_kind_CondFiltrationLastCheckedAt = { type: 'CondFiltrationLastCheckedAt'; data: LogicExpression_Field_FiltrationLastCheckedAt; }; export type LogicExpression_Field_kind_CondFiltrationScheduledAt = { type: 'CondFiltrationScheduledAt'; data: LogicExpression_Field_FiltrationScheduledAt; }; export type LogicExpression_Field_kind_CondCheckerScheduledAt = { type: 'CondCheckerScheduledAt'; data: LogicExpression_Field_CheckerScheduledAt; }; export type LogicExpression_Field_kind_CondIsSystem = { type: 'CondIsSystem'; data: LogicExpression_Field_IsSystem; }; export type LogicExpression_Field_kind_CondExpirationDate = { type: 'CondExpirationDate'; data: LogicExpression_Field_ExpirationDate; }; export type LogicExpression_Field_kind_CondCreated = { type: 'CondCreated'; data: LogicExpression_Field_Created; }; export type LogicExpression_Field_kind_CondFilterExpressionRaw = { type: 'CondFilterExpressionRaw'; data: LogicExpression_Field_FilterExpressionRaw; }; export type LogicExpression_Field_kind_CondFiltrationID = { type: 'CondFiltrationID'; data: LogicExpression_Field_FiltrationID; }; export type LogicExpression_Field_kind_CondUpdated = { type: 'CondUpdated'; data: LogicExpression_Field_Updated; }; export type LogicExpression_Field_kind_CondDescription = { type: 'CondDescription'; data: LogicExpression_Field_Description; }; export type LogicExpression_Field_kind_CondDeviceLoadPolicy = { type: 'CondDeviceLoadPolicy'; data: LogicExpression_Field_DeviceLoadPolicy; }; export type LogicExpression_Field_kind_CondHighSpeed = { type: 'CondHighSpeed'; data: LogicExpression_Field_HighSpeed; }; 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 | LogicExpression_Field_kind_CondDescription | LogicExpression_Field_kind_CondDeviceLoadPolicy | LogicExpression_Field_kind_CondHighSpeed; export type LogicExpression_Field = { kind: LogicExpression_Field_kind; }; export type LogicExpression_kind_binary = { type: 'binary'; data: LogicExpression_Binary; }; export type LogicExpression_kind_field = { type: 'field'; data: LogicExpression_Field; }; export type LogicExpression_kind = LogicExpression_kind_binary | LogicExpression_kind_field; /** Abstract expression structure. That's an expressions container */ export type LogicExpression = { kind: LogicExpression_kind; }; export type Sort = { field: string; order: SortOrder; }; export type SortOrder = 'INVALID' | 'ASC' | 'DESC' | 'ASC_NULLS_LAST' | 'DESC_NULLS_LAST' | 'ASC_NULLS_FIRST' | 'DESC_NULLS_FIRST'; export type SortExpression = { sorts: Sort[]; }; export type LockLevel = 'LOCK_LEVEL_UNDEFINED' | 'LOCK_LEVEL_UPDATE' | 'LOCK_LEVEL_NO_KEY_UPDATE' | 'LOCK_LEVEL_SHARE' | 'LOCK_LEVEL_KEY_SHARE'; export type LockWaitingOption = 'LOCK_WAITING_UNDEFINED' | 'LOCK_WAITING_NOWAIT' | 'LOCK_WAITING_SKIP_LOCKED'; export type ForExpression = { level: LockLevel; waiting: LockWaitingOption; }; export type Filter = { ID: number; Code: string; AccountID: number; Name: string; ApplicationID: number; IsFiltrationInProgress: boolean; FiltrationStartedAt: Date; FiltrationLastFilteredAt: Date; FiltrationLastCheckedAt: Date; FiltrationScheduledAt: Date; CheckerScheduledAt: Date; IsSystem: boolean; ExpirationDate: Date; Created: Date; FilterExpressionRaw: string; FiltrationID: string; Updated: Date; Description: string; DeviceLoadPolicy: string; HighSpeed: boolean; }; export type FilterExpression_Operation_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_INTERSECT' | 'OPERATOR_UNION' | 'OPERATOR_DIFFERENCE'; export type FilterExpression_Operation = { operator: FilterExpression_Operation_Operator; operands: FilterExpression[]; }; export type FilterExpression_Application_TokenPresence = 'TOKEN_PRESENCE_UNSPECIFIED' | 'TOKEN_PRESENCE_WITH_TOKENS' | 'TOKEN_PRESENCE_WITHOUT_TOKENS' | 'TOKEN_PRESENCE_ALL'; export type FilterExpression_Application_DevicePresence = 'DEVICE_PRESENCE_UNSPECIFIED' | 'DEVICE_PRESENCE_WITH_DEVICES' | 'DEVICE_PRESENCE_WITHOUT_DEVICES' | 'DEVICE_PRESENCE_ALL'; /** Application specifies set of devices that subscribed to given applications */ export type FilterExpression_Application = { codes: string[]; platforms: number[]; tokenPresence: FilterExpression_Application_TokenPresence; devicePresence: FilterExpression_Application_DevicePresence; }; /** Geo specifies set of devices located within given coordinate range */ export type FilterExpression_Geo = { application: string; lat: number; lon: number; range: number; }; export type FilterExpression_BestTimeToSend_Value_Eq = { value: number; }; export type FilterExpression_BestTimeToSend_Value_Neq = { value: number; }; export type FilterExpression_BestTimeToSend_Value_Lte = { value: number; }; export type FilterExpression_BestTimeToSend_Value_Gte = { value: number; }; export type FilterExpression_BestTimeToSend_Value_Any = {}; export type FilterExpression_BestTimeToSend_Value_kind_eq = { type: 'eq'; data: FilterExpression_BestTimeToSend_Value_Eq; }; export type FilterExpression_BestTimeToSend_Value_kind_neq = { type: 'neq'; data: FilterExpression_BestTimeToSend_Value_Neq; }; export type FilterExpression_BestTimeToSend_Value_kind_lte = { type: 'lte'; data: FilterExpression_BestTimeToSend_Value_Lte; }; export type FilterExpression_BestTimeToSend_Value_kind_gte = { type: 'gte'; data: FilterExpression_BestTimeToSend_Value_Gte; }; export type FilterExpression_BestTimeToSend_Value_kind_any = { type: 'any'; data: FilterExpression_BestTimeToSend_Value_Any; }; 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; export type FilterExpression_BestTimeToSend_Value = { kind: FilterExpression_BestTimeToSend_Value_kind; }; /** BestTimeToSend specifies set of devices associated with given best time to send value */ export type FilterExpression_BestTimeToSend = { applications: string[]; value: FilterExpression_BestTimeToSend_Value; }; export type FilterExpression_Segment = { application: string; segment: string; }; export type FilterExpression_List = { application: string; kind: string; users: string[]; devices: string[]; }; export type FilterExpression_ExternalSegment = { application: string; segment: string; }; /** UserID/HWID set stored in database */ export type FilterExpression_Static = { application: string; segment: string; }; export type FilterExpression_Event_Count_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE'; export type FilterExpression_Event_Count = { operator: FilterExpression_Event_Count_Operator; value: number; }; export type FilterExpression_Event_Date_Eq = { value: Date; }; export type FilterExpression_Event_Date_Neq = { value: Date; }; export type FilterExpression_Event_Date_Lte = { value: Date; }; export type FilterExpression_Event_Date_Gte = { value: Date; }; export type FilterExpression_Event_Date_In = { values: Date[]; }; export type FilterExpression_Event_Date_NotIn = { values: Date[]; }; export type FilterExpression_Event_Date_Between = { from: Date; to: Date; }; export type FilterExpression_Event_Date_Exists = { exists: boolean; }; export type FilterExpression_Event_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN'; export type FilterExpression_Event_Date_DaysAgo = { operator: FilterExpression_Event_Date_DaysAgo_Operator; value: number; values: number[]; }; export type FilterExpression_Event_Date_MinutesAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_LTE' | 'OPERATOR_GTE'; export type FilterExpression_Event_Date_MinutesAgo = { operator: FilterExpression_Event_Date_MinutesAgo_Operator; value: number; }; export type FilterExpression_Event_Date_DaysAhead = { from: number; to: number; }; export type FilterExpression_Event_Date_kind_eq = { type: 'eq'; data: FilterExpression_Event_Date_Eq; }; export type FilterExpression_Event_Date_kind_neq = { type: 'neq'; data: FilterExpression_Event_Date_Neq; }; export type FilterExpression_Event_Date_kind_lte = { type: 'lte'; data: FilterExpression_Event_Date_Lte; }; export type FilterExpression_Event_Date_kind_gte = { type: 'gte'; data: FilterExpression_Event_Date_Gte; }; export type FilterExpression_Event_Date_kind_in = { type: 'in'; data: FilterExpression_Event_Date_In; }; export type FilterExpression_Event_Date_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Date_NotIn; }; export type FilterExpression_Event_Date_kind_between = { type: 'between'; data: FilterExpression_Event_Date_Between; }; export type FilterExpression_Event_Date_kind_exists = { type: 'exists'; data: FilterExpression_Event_Date_Exists; }; export type FilterExpression_Event_Date_kind_daysAgo = { type: 'daysAgo'; data: FilterExpression_Event_Date_DaysAgo; }; export type FilterExpression_Event_Date_kind_minutesAgo = { type: 'minutesAgo'; data: FilterExpression_Event_Date_MinutesAgo; }; export type FilterExpression_Event_Date_kind_daysAhead = { type: 'daysAhead'; data: FilterExpression_Event_Date_DaysAhead; }; 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 | FilterExpression_Event_Date_kind_minutesAgo | FilterExpression_Event_Date_kind_daysAhead; export type FilterExpression_Event_Date = { kind: FilterExpression_Event_Date_kind; }; export type FilterExpression_Event_Attribute_Integer_Eq = { value: number; }; export type FilterExpression_Event_Attribute_Integer_Neq = { value: number; }; export type FilterExpression_Event_Attribute_Integer_Lte = { value: number; }; export type FilterExpression_Event_Attribute_Integer_Gte = { value: number; }; export type FilterExpression_Event_Attribute_Integer_In = { values: number[]; }; export type FilterExpression_Event_Attribute_Integer_NotIn = { values: number[]; }; export type FilterExpression_Event_Attribute_Integer_Between = { from: number; to: number; }; export type FilterExpression_Event_Attribute_Integer_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_Integer_kind_eq = { type: 'eq'; data: FilterExpression_Event_Attribute_Integer_Eq; }; export type FilterExpression_Event_Attribute_Integer_kind_neq = { type: 'neq'; data: FilterExpression_Event_Attribute_Integer_Neq; }; export type FilterExpression_Event_Attribute_Integer_kind_lte = { type: 'lte'; data: FilterExpression_Event_Attribute_Integer_Lte; }; export type FilterExpression_Event_Attribute_Integer_kind_gte = { type: 'gte'; data: FilterExpression_Event_Attribute_Integer_Gte; }; export type FilterExpression_Event_Attribute_Integer_kind_in = { type: 'in'; data: FilterExpression_Event_Attribute_Integer_In; }; export type FilterExpression_Event_Attribute_Integer_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Attribute_Integer_NotIn; }; export type FilterExpression_Event_Attribute_Integer_kind_between = { type: 'between'; data: FilterExpression_Event_Attribute_Integer_Between; }; export type FilterExpression_Event_Attribute_Integer_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_Integer_Exists; }; 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; export type FilterExpression_Event_Attribute_Integer = { kind: FilterExpression_Event_Attribute_Integer_kind; }; export type FilterExpression_Event_Attribute_String_Eq = { value: string; }; export type FilterExpression_Event_Attribute_String_Neq = { value: string; }; export type FilterExpression_Event_Attribute_String_In = { values: string[]; }; export type FilterExpression_Event_Attribute_String_NotIn = { values: string[]; }; export type FilterExpression_Event_Attribute_String_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_String_StartsWith = { value: string; }; export type FilterExpression_Event_Attribute_String_EndsWith = { value: string; }; export type FilterExpression_Event_Attribute_String_Contains = { value: string; }; export type FilterExpression_Event_Attribute_String_kind_eq = { type: 'eq'; data: FilterExpression_Event_Attribute_String_Eq; }; export type FilterExpression_Event_Attribute_String_kind_neq = { type: 'neq'; data: FilterExpression_Event_Attribute_String_Neq; }; export type FilterExpression_Event_Attribute_String_kind_in = { type: 'in'; data: FilterExpression_Event_Attribute_String_In; }; export type FilterExpression_Event_Attribute_String_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Attribute_String_NotIn; }; export type FilterExpression_Event_Attribute_String_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_String_Exists; }; export type FilterExpression_Event_Attribute_String_kind_startsWith = { type: 'startsWith'; data: FilterExpression_Event_Attribute_String_StartsWith; }; export type FilterExpression_Event_Attribute_String_kind_endsWith = { type: 'endsWith'; data: FilterExpression_Event_Attribute_String_EndsWith; }; export type FilterExpression_Event_Attribute_String_kind_contains = { type: 'contains'; data: FilterExpression_Event_Attribute_String_Contains; }; 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; export type FilterExpression_Event_Attribute_String = { kind: FilterExpression_Event_Attribute_String_kind; }; export type FilterExpression_Event_Attribute_List_In = { values: string[]; }; export type FilterExpression_Event_Attribute_List_NotIn = { values: string[]; }; export type FilterExpression_Event_Attribute_List_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_List_kind_in = { type: 'in'; data: FilterExpression_Event_Attribute_List_In; }; export type FilterExpression_Event_Attribute_List_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Attribute_List_NotIn; }; export type FilterExpression_Event_Attribute_List_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_List_Exists; }; 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; export type FilterExpression_Event_Attribute_List = { kind: FilterExpression_Event_Attribute_List_kind; }; export type FilterExpression_Event_Attribute_Date_Eq = { value: Date; }; export type FilterExpression_Event_Attribute_Date_Neq = { value: Date; }; export type FilterExpression_Event_Attribute_Date_Lte = { value: Date; }; export type FilterExpression_Event_Attribute_Date_Gte = { value: Date; }; export type FilterExpression_Event_Attribute_Date_In = { values: Date[]; }; export type FilterExpression_Event_Attribute_Date_NotIn = { values: Date[]; }; export type FilterExpression_Event_Attribute_Date_Between = { from: Date; to: Date; }; export type FilterExpression_Event_Attribute_Date_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN'; export type FilterExpression_Event_Attribute_Date_DaysAgo = { operator: FilterExpression_Event_Attribute_Date_DaysAgo_Operator; value: number; values: number[]; }; export type FilterExpression_Event_Attribute_Date_MinutesAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_LTE' | 'OPERATOR_GTE'; export type FilterExpression_Event_Attribute_Date_MinutesAgo = { operator: FilterExpression_Event_Attribute_Date_MinutesAgo_Operator; value: number; }; export type FilterExpression_Event_Attribute_Date_DaysAhead = { from: number; to: number; }; export type FilterExpression_Event_Attribute_Date_kind_eq = { type: 'eq'; data: FilterExpression_Event_Attribute_Date_Eq; }; export type FilterExpression_Event_Attribute_Date_kind_neq = { type: 'neq'; data: FilterExpression_Event_Attribute_Date_Neq; }; export type FilterExpression_Event_Attribute_Date_kind_lte = { type: 'lte'; data: FilterExpression_Event_Attribute_Date_Lte; }; export type FilterExpression_Event_Attribute_Date_kind_gte = { type: 'gte'; data: FilterExpression_Event_Attribute_Date_Gte; }; export type FilterExpression_Event_Attribute_Date_kind_in = { type: 'in'; data: FilterExpression_Event_Attribute_Date_In; }; export type FilterExpression_Event_Attribute_Date_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Attribute_Date_NotIn; }; export type FilterExpression_Event_Attribute_Date_kind_between = { type: 'between'; data: FilterExpression_Event_Attribute_Date_Between; }; export type FilterExpression_Event_Attribute_Date_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_Date_Exists; }; export type FilterExpression_Event_Attribute_Date_kind_daysAgo = { type: 'daysAgo'; data: FilterExpression_Event_Attribute_Date_DaysAgo; }; export type FilterExpression_Event_Attribute_Date_kind_minutesAgo = { type: 'minutesAgo'; data: FilterExpression_Event_Attribute_Date_MinutesAgo; }; export type FilterExpression_Event_Attribute_Date_kind_daysAhead = { type: 'daysAhead'; data: FilterExpression_Event_Attribute_Date_DaysAhead; }; 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 | FilterExpression_Event_Attribute_Date_kind_minutesAgo | FilterExpression_Event_Attribute_Date_kind_daysAhead; export type FilterExpression_Event_Attribute_Date = { kind: FilterExpression_Event_Attribute_Date_kind; }; export type FilterExpression_Event_Attribute_Boolean_Eq = { value: boolean; }; export type FilterExpression_Event_Attribute_Boolean_Neq = { value: boolean; }; export type FilterExpression_Event_Attribute_Boolean_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_Boolean_kind_eq = { type: 'eq'; data: FilterExpression_Event_Attribute_Boolean_Eq; }; export type FilterExpression_Event_Attribute_Boolean_kind_neq = { type: 'neq'; data: FilterExpression_Event_Attribute_Boolean_Neq; }; export type FilterExpression_Event_Attribute_Boolean_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_Boolean_Exists; }; 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; export type FilterExpression_Event_Attribute_Boolean = { kind: FilterExpression_Event_Attribute_Boolean_kind; }; export type FilterExpression_Event_Attribute_Price_Eq = { value: number; }; export type FilterExpression_Event_Attribute_Price_Neq = { value: number; }; export type FilterExpression_Event_Attribute_Price_Lte = { value: number; }; export type FilterExpression_Event_Attribute_Price_Gte = { value: number; }; export type FilterExpression_Event_Attribute_Price_In = { values: number[]; }; export type FilterExpression_Event_Attribute_Price_NotIn = { values: number[]; }; export type FilterExpression_Event_Attribute_Price_Between = { from: number; to: number; }; export type FilterExpression_Event_Attribute_Price_Exists = { exists: boolean; }; export type FilterExpression_Event_Attribute_Price_kind_eq = { type: 'eq'; data: FilterExpression_Event_Attribute_Price_Eq; }; export type FilterExpression_Event_Attribute_Price_kind_neq = { type: 'neq'; data: FilterExpression_Event_Attribute_Price_Neq; }; export type FilterExpression_Event_Attribute_Price_kind_lte = { type: 'lte'; data: FilterExpression_Event_Attribute_Price_Lte; }; export type FilterExpression_Event_Attribute_Price_kind_gte = { type: 'gte'; data: FilterExpression_Event_Attribute_Price_Gte; }; export type FilterExpression_Event_Attribute_Price_kind_in = { type: 'in'; data: FilterExpression_Event_Attribute_Price_In; }; export type FilterExpression_Event_Attribute_Price_kind_notIn = { type: 'notIn'; data: FilterExpression_Event_Attribute_Price_NotIn; }; export type FilterExpression_Event_Attribute_Price_kind_between = { type: 'between'; data: FilterExpression_Event_Attribute_Price_Between; }; export type FilterExpression_Event_Attribute_Price_kind_exists = { type: 'exists'; data: FilterExpression_Event_Attribute_Price_Exists; }; 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; export type FilterExpression_Event_Attribute_Price = { kind: FilterExpression_Event_Attribute_Price_kind; }; export type FilterExpression_Event_Attribute_kind_integer = { type: 'integer'; data: FilterExpression_Event_Attribute_Integer; }; export type FilterExpression_Event_Attribute_kind_string = { type: 'string'; data: FilterExpression_Event_Attribute_String; }; export type FilterExpression_Event_Attribute_kind_list = { type: 'list'; data: FilterExpression_Event_Attribute_List; }; export type FilterExpression_Event_Attribute_kind_date = { type: 'date'; data: FilterExpression_Event_Attribute_Date; }; export type FilterExpression_Event_Attribute_kind_boolean = { type: 'boolean'; data: FilterExpression_Event_Attribute_Boolean; }; export type FilterExpression_Event_Attribute_kind_price = { type: 'price'; data: FilterExpression_Event_Attribute_Price; }; 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; export type FilterExpression_Event_Attribute = { name: string; kind: FilterExpression_Event_Attribute_kind; }; /** Event specifies set of devices associated with given event parameters */ export type FilterExpression_Event = { application: string; event: string; count: FilterExpression_Event_Count; date: FilterExpression_Event_Date; attributes: FilterExpression_Event_Attribute[]; platforms: string[]; hwids: string[]; }; export type FilterExpression_Updated_Condition_Lte = { value: Date; }; export type FilterExpression_Updated_Condition_Gte = { value: Date; }; export type FilterExpression_Updated_Condition_Between = { from: Date; to: Date; }; export type FilterExpression_Updated_Condition_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN'; export type FilterExpression_Updated_Condition_kind_lte = { type: 'lte'; data: FilterExpression_Updated_Condition_Lte; }; export type FilterExpression_Updated_Condition_kind_gte = { type: 'gte'; data: FilterExpression_Updated_Condition_Gte; }; export type FilterExpression_Updated_Condition_kind_between = { type: 'between'; data: FilterExpression_Updated_Condition_Between; }; export type FilterExpression_Updated_Condition_kind = FilterExpression_Updated_Condition_kind_lte | FilterExpression_Updated_Condition_kind_gte | FilterExpression_Updated_Condition_kind_between; export type FilterExpression_Updated_Condition = { kind: FilterExpression_Updated_Condition_kind; }; /** Updated specifies set of devices that match restrictions for device updated at field */ export type FilterExpression_Updated = { application: string; condition: FilterExpression_Updated_Condition; }; export type FilterExpression_Tag_Integer_Eq = { value: number; }; export type FilterExpression_Tag_Integer_Neq = { value: number; }; export type FilterExpression_Tag_Integer_Lte = { value: number; }; export type FilterExpression_Tag_Integer_Gte = { value: number; }; export type FilterExpression_Tag_Integer_In = { values: number[]; }; export type FilterExpression_Tag_Integer_NotIn = { values: number[]; }; export type FilterExpression_Tag_Integer_Between = { from: number; to: number; }; export type FilterExpression_Tag_Integer_Exists = { exists: boolean; }; export type FilterExpression_Tag_Integer_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Integer_Eq; }; export type FilterExpression_Tag_Integer_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Integer_Neq; }; export type FilterExpression_Tag_Integer_kind_lte = { type: 'lte'; data: FilterExpression_Tag_Integer_Lte; }; export type FilterExpression_Tag_Integer_kind_gte = { type: 'gte'; data: FilterExpression_Tag_Integer_Gte; }; export type FilterExpression_Tag_Integer_kind_in = { type: 'in'; data: FilterExpression_Tag_Integer_In; }; export type FilterExpression_Tag_Integer_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_Integer_NotIn; }; export type FilterExpression_Tag_Integer_kind_between = { type: 'between'; data: FilterExpression_Tag_Integer_Between; }; export type FilterExpression_Tag_Integer_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Integer_Exists; }; 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; export type FilterExpression_Tag_Integer = { kind: FilterExpression_Tag_Integer_kind; }; export type FilterExpression_Tag_String_Eq = { value: string; }; export type FilterExpression_Tag_String_Neq = { value: string; }; export type FilterExpression_Tag_String_In = { values: string[]; }; export type FilterExpression_Tag_String_NotIn = { values: string[]; }; export type FilterExpression_Tag_String_Exists = { exists: boolean; }; export type FilterExpression_Tag_String_StartsWith = { value: string; }; export type FilterExpression_Tag_String_EndsWith = { value: string; }; export type FilterExpression_Tag_String_Contains = { value: string; }; export type FilterExpression_Tag_String_kind_eq = { type: 'eq'; data: FilterExpression_Tag_String_Eq; }; export type FilterExpression_Tag_String_kind_neq = { type: 'neq'; data: FilterExpression_Tag_String_Neq; }; export type FilterExpression_Tag_String_kind_in = { type: 'in'; data: FilterExpression_Tag_String_In; }; export type FilterExpression_Tag_String_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_String_NotIn; }; export type FilterExpression_Tag_String_kind_exists = { type: 'exists'; data: FilterExpression_Tag_String_Exists; }; export type FilterExpression_Tag_String_kind_startsWith = { type: 'startsWith'; data: FilterExpression_Tag_String_StartsWith; }; export type FilterExpression_Tag_String_kind_endsWith = { type: 'endsWith'; data: FilterExpression_Tag_String_EndsWith; }; export type FilterExpression_Tag_String_kind_contains = { type: 'contains'; data: FilterExpression_Tag_String_Contains; }; 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; export type FilterExpression_Tag_String = { kind: FilterExpression_Tag_String_kind; }; export type FilterExpression_Tag_List_In = { values: string[]; }; export type FilterExpression_Tag_List_NotIn = { values: string[]; }; export type FilterExpression_Tag_List_Exists = { exists: boolean; }; export type FilterExpression_Tag_List_kind_in = { type: 'in'; data: FilterExpression_Tag_List_In; }; export type FilterExpression_Tag_List_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_List_NotIn; }; export type FilterExpression_Tag_List_kind_exists = { type: 'exists'; data: FilterExpression_Tag_List_Exists; }; export type FilterExpression_Tag_List_kind = FilterExpression_Tag_List_kind_in | FilterExpression_Tag_List_kind_notIn | FilterExpression_Tag_List_kind_exists; export type FilterExpression_Tag_List = { kind: FilterExpression_Tag_List_kind; }; export type FilterExpression_Tag_Date_Eq = { value: Date; }; export type FilterExpression_Tag_Date_Neq = { value: Date; }; export type FilterExpression_Tag_Date_Lte = { value: Date; }; export type FilterExpression_Tag_Date_Gte = { value: Date; }; export type FilterExpression_Tag_Date_In = { values: Date[]; }; export type FilterExpression_Tag_Date_NotIn = { values: Date[]; }; export type FilterExpression_Tag_Date_Between = { from: Date; to: Date; }; export type FilterExpression_Tag_Date_Exists = { exists: boolean; }; export type FilterExpression_Tag_Date_DaysAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_EQ' | 'OPERATOR_NEQ' | 'OPERATOR_LTE' | 'OPERATOR_GTE' | 'OPERATOR_BETWEEN'; export type FilterExpression_Tag_Date_DaysAgo = { operator: FilterExpression_Tag_Date_DaysAgo_Operator; value: number; values: number[]; }; export type FilterExpression_Tag_Date_MinutesAgo_Operator = 'OPERATOR_UNSPECIFIED' | 'OPERATOR_LTE' | 'OPERATOR_GTE'; export type FilterExpression_Tag_Date_MinutesAgo = { operator: FilterExpression_Tag_Date_MinutesAgo_Operator; value: number; }; export type FilterExpression_Tag_Date_DaysAhead = { from: number; to: number; }; export type FilterExpression_Tag_Date_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Date_Eq; }; export type FilterExpression_Tag_Date_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Date_Neq; }; export type FilterExpression_Tag_Date_kind_lte = { type: 'lte'; data: FilterExpression_Tag_Date_Lte; }; export type FilterExpression_Tag_Date_kind_gte = { type: 'gte'; data: FilterExpression_Tag_Date_Gte; }; export type FilterExpression_Tag_Date_kind_in = { type: 'in'; data: FilterExpression_Tag_Date_In; }; export type FilterExpression_Tag_Date_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_Date_NotIn; }; export type FilterExpression_Tag_Date_kind_between = { type: 'between'; data: FilterExpression_Tag_Date_Between; }; export type FilterExpression_Tag_Date_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Date_Exists; }; export type FilterExpression_Tag_Date_kind_daysAgo = { type: 'daysAgo'; data: FilterExpression_Tag_Date_DaysAgo; }; export type FilterExpression_Tag_Date_kind_minutesAgo = { type: 'minutesAgo'; data: FilterExpression_Tag_Date_MinutesAgo; }; export type FilterExpression_Tag_Date_kind_daysAhead = { type: 'daysAhead'; data: FilterExpression_Tag_Date_DaysAhead; }; 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 | FilterExpression_Tag_Date_kind_minutesAgo | FilterExpression_Tag_Date_kind_daysAhead; export type FilterExpression_Tag_Date = { kind: FilterExpression_Tag_Date_kind; }; export type FilterExpression_Tag_Boolean_Eq = { value: boolean; }; export type FilterExpression_Tag_Boolean_Neq = { value: boolean; }; export type FilterExpression_Tag_Boolean_Exists = { exists: boolean; }; export type FilterExpression_Tag_Boolean_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Boolean_Eq; }; export type FilterExpression_Tag_Boolean_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Boolean_Neq; }; export type FilterExpression_Tag_Boolean_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Boolean_Exists; }; export type FilterExpression_Tag_Boolean_kind = FilterExpression_Tag_Boolean_kind_eq | FilterExpression_Tag_Boolean_kind_neq | FilterExpression_Tag_Boolean_kind_exists; export type FilterExpression_Tag_Boolean = { kind: FilterExpression_Tag_Boolean_kind; }; export type FilterExpression_Tag_Price_Eq = { value: number; }; export type FilterExpression_Tag_Price_Neq = { value: number; }; export type FilterExpression_Tag_Price_Lte = { value: number; }; export type FilterExpression_Tag_Price_Gte = { value: number; }; export type FilterExpression_Tag_Price_In = { values: number[]; }; export type FilterExpression_Tag_Price_NotIn = { values: number[]; }; export type FilterExpression_Tag_Price_Between = { from: number; to: number; }; export type FilterExpression_Tag_Price_Exists = { exists: boolean; }; export type FilterExpression_Tag_Price_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Price_Eq; }; export type FilterExpression_Tag_Price_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Price_Neq; }; export type FilterExpression_Tag_Price_kind_lte = { type: 'lte'; data: FilterExpression_Tag_Price_Lte; }; export type FilterExpression_Tag_Price_kind_gte = { type: 'gte'; data: FilterExpression_Tag_Price_Gte; }; export type FilterExpression_Tag_Price_kind_in = { type: 'in'; data: FilterExpression_Tag_Price_In; }; export type FilterExpression_Tag_Price_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_Price_NotIn; }; export type FilterExpression_Tag_Price_kind_between = { type: 'between'; data: FilterExpression_Tag_Price_Between; }; export type FilterExpression_Tag_Price_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Price_Exists; }; 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; export type FilterExpression_Tag_Price = { kind: FilterExpression_Tag_Price_kind; }; export type FilterExpression_Tag_Version_Eq = { value: string; }; export type FilterExpression_Tag_Version_Neq = { value: string; }; export type FilterExpression_Tag_Version_Lte = { value: string; }; export type FilterExpression_Tag_Version_Gte = { value: string; }; export type FilterExpression_Tag_Version_In = { values: string[]; }; export type FilterExpression_Tag_Version_NotIn = { values: string[]; }; export type FilterExpression_Tag_Version_Between = { from: string; to: string; }; export type FilterExpression_Tag_Version_Exists = { exists: boolean; }; export type FilterExpression_Tag_Version_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Version_Eq; }; export type FilterExpression_Tag_Version_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Version_Neq; }; export type FilterExpression_Tag_Version_kind_lte = { type: 'lte'; data: FilterExpression_Tag_Version_Lte; }; export type FilterExpression_Tag_Version_kind_gte = { type: 'gte'; data: FilterExpression_Tag_Version_Gte; }; export type FilterExpression_Tag_Version_kind_in = { type: 'in'; data: FilterExpression_Tag_Version_In; }; export type FilterExpression_Tag_Version_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_Version_NotIn; }; export type FilterExpression_Tag_Version_kind_between = { type: 'between'; data: FilterExpression_Tag_Version_Between; }; export type FilterExpression_Tag_Version_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Version_Exists; }; 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; export type FilterExpression_Tag_Version = { kind: FilterExpression_Tag_Version_kind; }; export type FilterExpression_Tag_Timezone_Eq = { value: number; }; export type FilterExpression_Tag_Timezone_Neq = { value: number; }; export type FilterExpression_Tag_Timezone_Lte = { value: number; }; export type FilterExpression_Tag_Timezone_Gte = { value: number; }; export type FilterExpression_Tag_Timezone_In = { values: number[]; }; export type FilterExpression_Tag_Timezone_NotIn = { values: number[]; }; export type FilterExpression_Tag_Timezone_Between = { from: number; to: number; }; export type FilterExpression_Tag_Timezone_Exists = { exists: boolean; }; export type FilterExpression_Tag_Timezone_kind_eq = { type: 'eq'; data: FilterExpression_Tag_Timezone_Eq; }; export type FilterExpression_Tag_Timezone_kind_neq = { type: 'neq'; data: FilterExpression_Tag_Timezone_Neq; }; export type FilterExpression_Tag_Timezone_kind_lte = { type: 'lte'; data: FilterExpression_Tag_Timezone_Lte; }; export type FilterExpression_Tag_Timezone_kind_gte = { type: 'gte'; data: FilterExpression_Tag_Timezone_Gte; }; export type FilterExpression_Tag_Timezone_kind_in = { type: 'in'; data: FilterExpression_Tag_Timezone_In; }; export type FilterExpression_Tag_Timezone_kind_notIn = { type: 'notIn'; data: FilterExpression_Tag_Timezone_NotIn; }; export type FilterExpression_Tag_Timezone_kind_between = { type: 'between'; data: FilterExpression_Tag_Timezone_Between; }; export type FilterExpression_Tag_Timezone_kind_exists = { type: 'exists'; data: FilterExpression_Tag_Timezone_Exists; }; 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; export type FilterExpression_Tag_Timezone = { kind: FilterExpression_Tag_Timezone_kind; }; export type FilterExpression_Tag_kind_integer = { type: 'integer'; data: FilterExpression_Tag_Integer; }; export type FilterExpression_Tag_kind_string = { type: 'string'; data: FilterExpression_Tag_String; }; export type FilterExpression_Tag_kind_list = { type: 'list'; data: FilterExpression_Tag_List; }; export type FilterExpression_Tag_kind_date = { type: 'date'; data: FilterExpression_Tag_Date; }; export type FilterExpression_Tag_kind_boolean = { type: 'boolean'; data: FilterExpression_Tag_Boolean; }; export type FilterExpression_Tag_kind_price = { type: 'price'; data: FilterExpression_Tag_Price; }; export type FilterExpression_Tag_kind_version = { type: 'version'; data: FilterExpression_Tag_Version; }; export type FilterExpression_Tag_kind_timezone = { type: 'timezone'; data: FilterExpression_Tag_Timezone; }; 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; /** Tag specifies set of devices that match given tag conditions */ export type FilterExpression_Tag = { name: string; application: string; kind: FilterExpression_Tag_kind; }; /** Tag specifies set of devices that match given tag conditions */ export type FilterExpression_TagDateMatch = { name: string; application: string; month: number; day: number; addDays: number; }; export type FilterExpression_kind_operation = { type: 'operation'; data: FilterExpression_Operation; }; export type FilterExpression_kind_application = { type: 'application'; data: FilterExpression_Application; }; export type FilterExpression_kind_tag = { type: 'tag'; data: FilterExpression_Tag; }; export type FilterExpression_kind_geo = { type: 'geo'; data: FilterExpression_Geo; }; export type FilterExpression_kind_static = { type: 'static'; data: FilterExpression_Static; }; export type FilterExpression_kind_event = { type: 'event'; data: FilterExpression_Event; }; export type FilterExpression_kind_updated = { type: 'updated'; data: FilterExpression_Updated; }; export type FilterExpression_kind_bestTimeToSend = { type: 'bestTimeToSend'; data: FilterExpression_BestTimeToSend; }; export type FilterExpression_kind_tagDateMatch = { type: 'tagDateMatch'; data: FilterExpression_TagDateMatch; }; export type FilterExpression_kind_segment = { type: 'segment'; data: FilterExpression_Segment; }; export type FilterExpression_kind_list = { type: 'list'; data: FilterExpression_List; }; export type FilterExpression_kind_externalSegment = { type: 'externalSegment'; data: FilterExpression_ExternalSegment; }; 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 | FilterExpression_kind_segment | FilterExpression_kind_list | FilterExpression_kind_externalSegment; /** FilterExpression describes structures for querying devices from the database */ export type FilterExpression = { kind: FilterExpression_kind; };