import { Query } from 'elastic-builder'; import { DynamoResultObject } from './DynamoObjectResult'; import { IPepSmartFilterData } from '../ngx-filters'; export default abstract class Filter { protected apiName: string; constructor(apiName: string); abstract apply(value: any): boolean; abstract toSQLWhereClause(): string; abstract toKibanaFilter(timeZoneOffset?: string): Query; abstract toNgxFilter(): IPepSmartFilterData | IPepSmartFilterData[]; abstract toDynamoDBQuery(letterForMark: string, expressionAttributeNames: any, expressionAttributeValues: any, count: number): DynamoResultObject; filter(object: any, getValueFunc?: (object: any, apiName: string) => any): boolean; static filter(objects: any[], filter: Filter, getValueFunc?: (object: any, apiName: string) => any): any[]; getValue(object: any, apiName: string): any; AddFilterValueToDynamoResultObject(res: DynamoResultObject, letterForMark: string, count: number, value: any): string; AddFilterNameToDynamoResultObject(res: DynamoResultObject, letterForMark: string, count: number, name: any): string; }