@sisense/sdk-data 0.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/LICENSE.md +35 -0
  2. package/README.md +3 -0
  3. package/dist/dimensional-model/attributes.d.ts +124 -0
  4. package/dist/dimensional-model/attributes.js +280 -0
  5. package/dist/dimensional-model/base.d.ts +38 -0
  6. package/dist/dimensional-model/base.js +37 -0
  7. package/dist/dimensional-model/data-model.d.ts +13 -0
  8. package/dist/dimensional-model/data-model.js +32 -0
  9. package/dist/dimensional-model/dimensions.d.ts +165 -0
  10. package/dist/dimensional-model/dimensions.js +297 -0
  11. package/dist/dimensional-model/factory.d.ts +17 -0
  12. package/dist/dimensional-model/factory.js +50 -0
  13. package/dist/dimensional-model/filters/factory.d.ts +315 -0
  14. package/dist/dimensional-model/filters/factory.js +404 -0
  15. package/dist/dimensional-model/filters/filters.d.ts +288 -0
  16. package/dist/dimensional-model/filters/filters.js +534 -0
  17. package/dist/dimensional-model/interfaces.d.ts +341 -0
  18. package/dist/dimensional-model/interfaces.js +1 -0
  19. package/dist/dimensional-model/measures/factory.d.ts +437 -0
  20. package/dist/dimensional-model/measures/factory.js +632 -0
  21. package/dist/dimensional-model/measures/measures.d.ts +217 -0
  22. package/dist/dimensional-model/measures/measures.js +388 -0
  23. package/dist/dimensional-model/simple-column-types.d.ts +39 -0
  24. package/dist/dimensional-model/simple-column-types.js +124 -0
  25. package/dist/dimensional-model/types.d.ts +152 -0
  26. package/dist/dimensional-model/types.js +284 -0
  27. package/dist/index.d.ts +79 -0
  28. package/dist/index.js +79 -0
  29. package/dist/interfaces.d.ts +233 -0
  30. package/dist/interfaces.js +9 -0
  31. package/package.json +47 -0
@@ -0,0 +1,404 @@
1
+ import { TextOperators, NumericOperators, DateOperators, LogicalOperators, RankingOperators, LogicalAttributeFilter, MembersFilter, ExcludeFilter, NumericFilter, MeasureFilter, RankingFilter, TextFilter, DateRangeFilter, RelativeDateFilter, } from './filters.js';
2
+ // LOGICAL FILTERS
3
+ /**
4
+ * Creates a filter representing a union of multiple filters of the same attribute.
5
+ *
6
+ * @param filters - Filters, of the same attribute, to union
7
+ * @returns A filter representing a union of the given filters
8
+ */
9
+ export function union(filters) {
10
+ return new LogicalAttributeFilter(filters, LogicalOperators.Union);
11
+ }
12
+ /**
13
+ * Creates a filter representing an intersection of multiple filters of the same attribute.
14
+ *
15
+ * @param filters - Filters, of the same attribute, to intersect
16
+ * @returns A filter representing an intersection of the given filters
17
+ */
18
+ export function intersection(filters) {
19
+ return new LogicalAttributeFilter(filters, LogicalOperators.Intersection);
20
+ }
21
+ /**
22
+ * Creates a filter representing an exclusion of the given filter
23
+ * from all attribute members or from the optional input filter.
24
+ *
25
+ * @param filter - Filter to exclude
26
+ * @param input - Input filter to exclude from (optional)
27
+ * @returns A filter representing an exclusion of the given filter
28
+ * from all attribute members or from the optional input filter
29
+ */
30
+ export function exclude(filter, input) {
31
+ return new ExcludeFilter(filter, input);
32
+ }
33
+ // TEXT / NUMERIC FILTERS
34
+ /**
35
+ * Creates a "doesn't contain" filter.
36
+ *
37
+ * @param attribute - Text attribute to filter
38
+ * @param value - Value to filter by
39
+ * @returns A text filter of the given attribute
40
+ */
41
+ export function doesntContain(attribute, value) {
42
+ return new TextFilter(attribute, TextOperators.DoesntContain, value);
43
+ }
44
+ /**
45
+ * Creates a "doesn't end with" filter.
46
+ *
47
+ * @param attribute - Text attribute to filter
48
+ * @param value - Value to filter by
49
+ * @returns A text filter of the given attribute
50
+ */
51
+ export function doesntEndWith(attribute, value) {
52
+ return new TextFilter(attribute, TextOperators.DoesntEndWith, value);
53
+ }
54
+ /**
55
+ * Creates a "doesn't start with" filter.
56
+ *
57
+ * @param attribute - Text attribute to filter
58
+ * @param value - Value to filter by
59
+ * @returns A text filter of the given attribute
60
+ */
61
+ export function doesntStartWith(attribute, value) {
62
+ return new TextFilter(attribute, TextOperators.DoesntStartWith, value);
63
+ }
64
+ /**
65
+ * Creates a "contains" filter.
66
+ *
67
+ * @param attribute - Text attribute to filter
68
+ * @param value - Value to filter by
69
+ * @returns A text filter of the given attribute
70
+ */
71
+ export function contains(attribute, value) {
72
+ return new TextFilter(attribute, TextOperators.Contains, value);
73
+ }
74
+ /**
75
+ * Creates an "ends with" filter.
76
+ *
77
+ * @param attribute - Text attribute to filter
78
+ * @param value - Value to filter by
79
+ * @returns A text filter of the given attribute
80
+ */
81
+ export function endsWith(attribute, value) {
82
+ return new TextFilter(attribute, TextOperators.EndsWith, value);
83
+ }
84
+ /**
85
+ * Creates a "starts with" filter.
86
+ *
87
+ * @param attribute - Text attribute to filter
88
+ * @param value - Value to filter by
89
+ * @returns A text filter of the given attribute
90
+ */
91
+ export function startsWith(attribute, value) {
92
+ return new TextFilter(attribute, TextOperators.StartsWith, value);
93
+ }
94
+ /**
95
+ * Creates a "like" filter.
96
+ *
97
+ * @param attribute - Text attribute to filter
98
+ * @param value - Value to filter by
99
+ * @returns A text filter of the given attribute
100
+ */
101
+ export function like(attribute, value) {
102
+ return new TextFilter(attribute, TextOperators.Like, value);
103
+ }
104
+ /**
105
+ * Creates a "doesn't equal" filter.
106
+ *
107
+ * @param attribute - Text or numeric attribute to filter
108
+ * @param value - Value to filter by
109
+ * @returns A filter of the given attribute
110
+ */
111
+ export function doesntEqual(attribute, value) {
112
+ if (typeof value === 'string') {
113
+ return new TextFilter(attribute, TextOperators.DoesntEqual, value);
114
+ }
115
+ else {
116
+ return numeric(attribute, NumericOperators.DoesntEqual, value);
117
+ }
118
+ }
119
+ /**
120
+ * Creates an "equals" filter.
121
+ *
122
+ * @param attribute - Text or numeric attribute to filter
123
+ * @param value - Value to filter by
124
+ * @returns A filter of the given attribute
125
+ */
126
+ export function equals(attribute, value) {
127
+ if (typeof value === 'string') {
128
+ return new TextFilter(attribute, TextOperators.Equals, value);
129
+ }
130
+ else {
131
+ return numeric(attribute, NumericOperators.Equals, value);
132
+ }
133
+ }
134
+ /**
135
+ * Creates a "greater than" filter.
136
+ *
137
+ * @param attribute - Numeric attribute to filter
138
+ * @param value - Value to filter by
139
+ * @returns A numeric filter of the given attribute
140
+ */
141
+ export function greaterThan(attribute, value) {
142
+ return numeric(attribute, NumericOperators.FromNotEqual, value);
143
+ }
144
+ /**
145
+ * Creates a "greater than or equal" filter.
146
+ *
147
+ * @param attribute - Numeric attribute to filter
148
+ * @param value - Value to filter by
149
+ * @returns A numeric filter of the given attribute
150
+ */
151
+ export function greaterThanOrEqual(attribute, value) {
152
+ return numeric(attribute, NumericOperators.From, value);
153
+ }
154
+ /**
155
+ * Creates a "less than" filter.
156
+ *
157
+ * @param attribute - Numeric attribute to filter
158
+ * @param value - Value to filter by
159
+ * @returns A numeric filter of the given attribute
160
+ */
161
+ export function lessThan(attribute, value) {
162
+ return numeric(attribute, NumericOperators.ToNotEqual, value);
163
+ }
164
+ /**
165
+ * Creates a "less than or equal" filter.
166
+ *
167
+ * @param attribute - Numeric attribute to filter
168
+ * @param value - Value to filter by
169
+ * @returns A numeric filter of the given attribute
170
+ */
171
+ export function lessThanOrEqual(attribute, value) {
172
+ return numeric(attribute, NumericOperators.To, value);
173
+ }
174
+ /**
175
+ * Creates a "between" filter.
176
+ *
177
+ * @param attribute - Numeric attribute to filter
178
+ * @param valueA - Value to filter from
179
+ * @param valueB - Value to filter to
180
+ * @returns A numeric filter of the given attribute
181
+ */
182
+ export function between(attribute, valueA, valueB) {
183
+ return numeric(attribute, NumericOperators.From, valueA, NumericOperators.To, valueB);
184
+ }
185
+ /**
186
+ * Creates a "between, but not equal" filter.
187
+ *
188
+ * @param attribute - Numeric attribute to filter
189
+ * @param valueA - Value to filter from
190
+ * @param valueB - Value to filter to
191
+ * @returns A numeric filter of the given attribute
192
+ */
193
+ export function betweenNotEqual(attribute, valueA, valueB) {
194
+ return numeric(attribute, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
195
+ }
196
+ /**
197
+ * Creates a custom numeric filter.
198
+ *
199
+ * @param attribute - Numeric attribute to filter
200
+ * @param operatorA - First operator
201
+ * @param valueA - First value
202
+ * @param operatorB - Second operator
203
+ * @param valueB - Second value
204
+ * @returns A custom numeric filter of the given attribute
205
+ */
206
+ export function numeric(attribute, operatorA, valueA, operatorB, valueB) {
207
+ return new NumericFilter(attribute, operatorA, valueA, operatorB, valueB);
208
+ }
209
+ /**
210
+ * Creates a filter on the given members of the given attribute.
211
+ *
212
+ * @param attribute - Attribute to filter
213
+ * @param members - Array of member values to filter by
214
+ * @returns A filter instance representing the given members of the given attribute
215
+ */
216
+ export function members(attribute, members) {
217
+ return new MembersFilter(attribute, members);
218
+ }
219
+ // DATE FILTERS
220
+ /**
221
+ * Creates a filter on all values starting at the given date of the given level.
222
+ *
223
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
224
+ * @param from - Date or String representing the value to filter from
225
+ * @returns A filter instance filtering all values starting at the given value
226
+ */
227
+ export function dateFrom(level, from) {
228
+ return dateRange(level, from, undefined);
229
+ }
230
+ /**
231
+ * Creates a filter on all values ending at the given date of the given level.
232
+ *
233
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
234
+ * @param to - Date or String representing the last member to filter to
235
+ * @returns A filter instance filtering all values ending at the given value
236
+ */
237
+ export function dateTo(level, to) {
238
+ return dateRange(level, undefined, to);
239
+ }
240
+ /**
241
+ * Creates a range filter between the given "from" and "to" arguments.
242
+ *
243
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
244
+ * @param from - Date or String representing the start member to filter from
245
+ * @param to - Date or String representing the end member to filter to
246
+ * @returns A filter instance filtering all values ending at the given value
247
+ */
248
+ export function dateRange(level, from, to) {
249
+ return new DateRangeFilter(level, from, to);
250
+ }
251
+ /**
252
+ * Creates a relative date filter.
253
+ *
254
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
255
+ * @param offset - offset to skip from the given anchor, or Today if not provided,
256
+ * positive/negative to skip forward/backward
257
+ * @param count - number of members to filter
258
+ * @param anchor - Anchor to filter from, Today is used if not provided
259
+ * @returns A relative date filter
260
+ */
261
+ export function dateRelative(level, offset, count, anchor) {
262
+ return new RelativeDateFilter(level, offset, count, undefined, anchor);
263
+ }
264
+ /**
265
+ * Creates a relative date filter from the given anchor date.
266
+ *
267
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
268
+ * @param offset - offset to skip from the given anchor, or Today if not provided
269
+ * @param count - number of members to filter
270
+ * @param anchor - Anchor to filter from, Today is used if not provided
271
+ * @returns A relative date filter
272
+ */
273
+ export function dateRelativeFrom(level, offset, count, anchor) {
274
+ return new RelativeDateFilter(level, offset, count, DateOperators.Next, anchor);
275
+ }
276
+ /**
277
+ * Creates a relative date filter to the given anchor date.
278
+ *
279
+ * @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
280
+ * @param offset - offset to skip from the given anchor, or Today if not provided
281
+ * @param count - number of members to filter
282
+ * @param anchor - Anchor to filter from, Today is used if not provided
283
+ * @returns A relative date filter
284
+ */
285
+ export function dateRelativeTo(level, offset, count, anchor) {
286
+ return new RelativeDateFilter(level, offset, count, DateOperators.Last, anchor);
287
+ }
288
+ /**
289
+ * Creates a filter on "This Year" of the given date dimension.
290
+ *
291
+ * @param dimension - date dimension to filter
292
+ * @returns A "This Year" filter of the given dimension
293
+ */
294
+ export function thisYear(dimension) {
295
+ return dateRelativeTo(dimension.Years, 0, 1);
296
+ }
297
+ /**
298
+ * Creates a filter on "This Month" of the given date dimension.
299
+ *
300
+ * @param dimension - date dimension to filter
301
+ * @returns A "This Month" filter of the given dimension
302
+ */
303
+ export function thisMonth(dimension) {
304
+ return dateRelativeTo(dimension.Months, 0, 1);
305
+ }
306
+ /**
307
+ * Creates a filter on "This Quarter" of the given date dimension.
308
+ *
309
+ * @param dimension - date dimension to filter
310
+ * @returns A "This Quarter" filter of the given dimension
311
+ */
312
+ export function thisQuarter(dimension) {
313
+ return dateRelativeTo(dimension.Quarters, 0, 1);
314
+ }
315
+ /**
316
+ * Creates a filter on "Today" of the given date dimension.
317
+ *
318
+ * @param dimension - date dimension to filter
319
+ * @returns A "Today" filter of the given dimension
320
+ */
321
+ export function today(dimension) {
322
+ return dateRelativeTo(dimension.Days, 0, 1);
323
+ }
324
+ // MEASURE-RELATED FILTERS
325
+ /**
326
+ * Creates a filter on all measure values matching the provided criteria.
327
+ *
328
+ * @param attribute - Attribute to filter
329
+ * @param measure - Measure to filter by
330
+ * @param operatorA - Operator to apply on `valueA` ({@link NumericOperators})
331
+ * @param valueA - First value
332
+ * @param operatorB - Operator to apply on `valueB` ({@link NumericOperators})
333
+ * @param valueB - Second value
334
+ * @returns A filter representing the provided logic
335
+ * @internal
336
+ */
337
+ export function measureBase(attribute, measure, operatorA, valueA, operatorB, valueB) {
338
+ return new MeasureFilter(attribute, measure, operatorA, valueA, operatorB, valueB);
339
+ }
340
+ /**
341
+ * Creates a filter on all measure values that are greater than or equal to the given value.
342
+ *
343
+ * @param measure - Measure to filter by
344
+ * @param value - Min value
345
+ * @returns A filter representing the "greater than or equal to" logic
346
+ */
347
+ export function measureGreaterThanOrEqual(measure, value) {
348
+ return measureBase(measure.attribute, measure, NumericOperators.From, value);
349
+ }
350
+ /**
351
+ * Creates a filter on all measure values less than or equal to the given value.
352
+ *
353
+ * @param measure - Measure to filter by
354
+ * @param value - Max value
355
+ * @returns A filter representing the "less than or equal to" logic
356
+ */
357
+ export function measureLessThanOrEqual(measure, value) {
358
+ return measureBase(measure.attribute, measure, NumericOperators.To, value);
359
+ }
360
+ /**
361
+ * Creates a filter on all measure values within a range.
362
+ *
363
+ * @param measure - Measure to filter by
364
+ * @param valueA - Min value
365
+ * @param valueB - Max value
366
+ * @returns A filter representing the "between" logic
367
+ */
368
+ export function measureBetween(measure, valueA, valueB) {
369
+ return measureBase(measure.attribute, measure, NumericOperators.From, valueA, NumericOperators.To, valueB);
370
+ }
371
+ /**
372
+ * Creates a filter on all measure values within a range but not equal to the min and max values.
373
+ *
374
+ * @param measure - Measure to filter by
375
+ * @param valueA - Min value
376
+ * @param valueB - Max value
377
+ * @returns A filter representing the "between, not equal" logic
378
+ */
379
+ export function measureBetweenNotEqual(measure, valueA, valueB) {
380
+ return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
381
+ }
382
+ // RANKING FILTERS
383
+ /**
384
+ * Creates a filter representing a top ranking logic.
385
+ *
386
+ * @param attribute - Attribute to filter
387
+ * @param measure - Measure to filter by
388
+ * @param count - Number of members to return
389
+ * @returns A filter representing a top ranking logic on the given attribute by the given measure
390
+ */
391
+ export function topRanking(attribute, measure, count) {
392
+ return new RankingFilter(attribute, measure, RankingOperators.Top, count);
393
+ }
394
+ /**
395
+ * Creates a filter representing a bottom ranking logic.
396
+ *
397
+ * @param attribute - Attribute to filter
398
+ * @param measure - Measure to filter by
399
+ * @param count - Number of members to return
400
+ * @returns A filter representing a bottom ranking logic on the given attribute by the given measure
401
+ */
402
+ export function bottomRanking(attribute, measure, count) {
403
+ return new RankingFilter(attribute, measure, RankingOperators.Bottom, count);
404
+ }
@@ -0,0 +1,288 @@
1
+ import { LevelAttribute, Attribute, Measure, Filter } from '../interfaces.js';
2
+ import { DimensionalElement } from '../base.js';
3
+ /**
4
+ * Different text operators that can be used with text filters
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const TextOperators: {
9
+ Contains: string;
10
+ StartsWith: string;
11
+ EndsWith: string;
12
+ Equals: string;
13
+ DoesntEqual: string;
14
+ DoesntStartWith: string;
15
+ DoesntContain: string;
16
+ DoesntEndWith: string;
17
+ Like: string;
18
+ };
19
+ /**
20
+ * Different numeric operators that can be used with numeric filters
21
+ */
22
+ export declare const NumericOperators: {
23
+ Equals: string;
24
+ DoesntEqual: string;
25
+ From: string;
26
+ FromNotEqual: string;
27
+ To: string;
28
+ ToNotEqual: string;
29
+ };
30
+ /**
31
+ * Different date operators that can be used with date filters
32
+ *
33
+ * @internal
34
+ */
35
+ export declare const DateOperators: {
36
+ From: string;
37
+ To: string;
38
+ Last: string;
39
+ Next: string;
40
+ Anchor: string;
41
+ };
42
+ /**
43
+ * Different logical operators that can be used with logical filters
44
+ *
45
+ * @internal
46
+ */
47
+ export declare const LogicalOperators: {
48
+ Union: string;
49
+ Intersection: string;
50
+ Exclude: string;
51
+ };
52
+ /**
53
+ * Different ranking operators that can be used with ranking filter
54
+ *
55
+ * @internal
56
+ */
57
+ export declare const RankingOperators: {
58
+ Top: string;
59
+ Bottom: string;
60
+ };
61
+ /**
62
+ * Different filter types
63
+ *
64
+ * @internal
65
+ */
66
+ export declare const FilterTypes: {
67
+ logicalAttribute: string;
68
+ members: string;
69
+ exclude: string;
70
+ measure: string;
71
+ ranking: string;
72
+ text: string;
73
+ numeric: string;
74
+ date: string;
75
+ relativeDate: string;
76
+ };
77
+ /**
78
+ * base implementation for filter classes
79
+ *
80
+ * @internal
81
+ */
82
+ declare abstract class AbstractFilter extends DimensionalElement implements Filter {
83
+ /**
84
+ * Attribute this filter instance is filtering
85
+ */
86
+ readonly attribute: Attribute;
87
+ /**
88
+ * Filter type
89
+ */
90
+ readonly filterType: string;
91
+ constructor(att: Attribute, filterType: string);
92
+ /**
93
+ * Gets JAQL representing this Filter instance
94
+ */
95
+ abstract filterJaql(): any;
96
+ /**
97
+ * gets the element's ID
98
+ */
99
+ abstract get id(): string;
100
+ /**
101
+ * Defines whether the filter is a scope filters
102
+ */
103
+ isScope: boolean;
104
+ /**
105
+ * Gets a serializable representation of the element
106
+ */
107
+ serializable(): any;
108
+ /**
109
+ * Gets the JAQL representation of this instance
110
+ *
111
+ * @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
112
+ */
113
+ jaql(nested?: boolean): any;
114
+ static checkAttributeSupport(attribute: Attribute): void;
115
+ }
116
+ /**
117
+ * @internal
118
+ */
119
+ export declare class LogicalAttributeFilter extends AbstractFilter {
120
+ readonly filters: Filter[];
121
+ readonly operator: string;
122
+ constructor(filters: Filter[], operator: string);
123
+ /**
124
+ * gets the element's ID
125
+ */
126
+ get id(): string;
127
+ /**
128
+ * Gets a serializable representation of the element
129
+ */
130
+ serializable(): any;
131
+ /**
132
+ * Gets JAQL representing this Filter instance
133
+ */
134
+ filterJaql(): any;
135
+ }
136
+ /**
137
+ * @internal
138
+ */
139
+ export declare class MembersFilter extends AbstractFilter {
140
+ readonly members: any[];
141
+ constructor(attribute: Attribute, members?: any[]);
142
+ /**
143
+ * gets the element's ID
144
+ */
145
+ get id(): string;
146
+ /**
147
+ * Gets a serializable representation of the element
148
+ */
149
+ serializable(): any;
150
+ /**
151
+ * Gets JAQL representing this Filter instance
152
+ */
153
+ filterJaql(): any;
154
+ }
155
+ /**
156
+ * @internal
157
+ */
158
+ export declare class ExcludeFilter extends AbstractFilter {
159
+ readonly filter: Filter;
160
+ readonly input?: Filter;
161
+ constructor(filter: Filter, input?: Filter);
162
+ /**
163
+ * gets the element's ID
164
+ */
165
+ get id(): string;
166
+ /**
167
+ * Gets a serializable representation of the element
168
+ */
169
+ serializable(): any;
170
+ /**
171
+ * Gets JAQL representing this Filter instance
172
+ */
173
+ filterJaql(): any;
174
+ }
175
+ /**
176
+ * @internal
177
+ */
178
+ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
179
+ operatorA?: string;
180
+ operatorB?: string;
181
+ valueA?: Type;
182
+ valueB?: Type;
183
+ constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type);
184
+ /**
185
+ * gets the element's ID
186
+ */
187
+ get id(): string;
188
+ /**
189
+ * Gets a serializable representation of the element
190
+ */
191
+ serializable(): any;
192
+ /**
193
+ * Gets JAQL representing this Filter instance
194
+ */
195
+ filterJaql(): any;
196
+ }
197
+ /**
198
+ * @internal
199
+ */
200
+ export declare class MeasureFilter extends DoubleOperatorFilter<number> {
201
+ measure: Measure;
202
+ constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
203
+ /**
204
+ * gets the element's ID
205
+ */
206
+ get id(): string;
207
+ /**
208
+ * Gets a serializable representation of the element
209
+ */
210
+ serializable(): any;
211
+ jaql(nested?: boolean | undefined): any;
212
+ }
213
+ /**
214
+ * @internal
215
+ */
216
+ export declare class RankingFilter extends AbstractFilter {
217
+ count: number;
218
+ operator: string;
219
+ measure: Measure;
220
+ constructor(att: Attribute, measure: Measure, operator: string, count: number);
221
+ /**
222
+ * gets the element's ID
223
+ */
224
+ get id(): string;
225
+ /**
226
+ * Gets a serializable representation of the element
227
+ */
228
+ serializable(): any;
229
+ /**
230
+ * Gets JAQL representing this Filter instance
231
+ */
232
+ filterJaql(): any;
233
+ }
234
+ /**
235
+ * @internal
236
+ */
237
+ export declare class NumericFilter extends DoubleOperatorFilter<number> {
238
+ constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
239
+ }
240
+ /**
241
+ * @internal
242
+ */
243
+ export declare class TextFilter extends DoubleOperatorFilter<string> {
244
+ constructor(att: Attribute, operator: string, value: string);
245
+ }
246
+ /**
247
+ * @internal
248
+ */
249
+ export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
250
+ constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string);
251
+ get level(): LevelAttribute;
252
+ get from(): string;
253
+ get to(): string;
254
+ /**
255
+ * Gets JAQL representing this Filter instance
256
+ */
257
+ filterJaql(): any;
258
+ }
259
+ /**
260
+ * @internal
261
+ */
262
+ export declare class RelativeDateFilter extends AbstractFilter {
263
+ readonly offset: number;
264
+ readonly count: number;
265
+ readonly operator: string;
266
+ readonly anchor?: Date | string;
267
+ constructor(l: LevelAttribute, offset: number, count: number, operator?: string, anchor?: Date | string);
268
+ get level(): LevelAttribute;
269
+ /**
270
+ * gets the element's ID
271
+ */
272
+ get id(): string;
273
+ /**
274
+ * Gets a serializable representation of the element
275
+ */
276
+ serializable(): any;
277
+ /**
278
+ * Gets JAQL representing this Filter instance
279
+ *
280
+ */
281
+ filterJaql(): any;
282
+ }
283
+ /**
284
+ * @param json
285
+ * @internal
286
+ */
287
+ export declare function createFilter(json: any): Filter;
288
+ export {};