import { Params } from '@angular/router'; import { DataGrouping, FilterRule, NameValue } from '../interfaces/WidgetInterfaces'; import { DataSet } from '../interfaces/DisplayInterfaces'; export declare class DataSetFilter { static FilterOperationMap(): NameValue[]; static NormalizePercent(dataSet: DataSet, columns: string[], fakeUpperPercentAdd?: number): void; static PivotDataSet(dataSet: DataSet, groupColumns: string[], pivotColumn: string, targetColumn: string, statistic: string, pivotColumnOrder?: string[]): DataSet; static SortDataSet(dataSet: DataSet, sorts: Params, sortColumns: NameValue[], columnType?: string): void; static ToNumeric(list: string[]): number[]; static ApplyStatistic(list: string[], statistic: string, separator?: string): any; static GroupDataSet(dataSet: DataSet, dataGrouping: DataGrouping): DataSet; static FilterDataSet(dataSet: DataSet, filterRules: FilterRule[], context: Params, filters: Params): DataSet; static GetFilterSpecs(dataSet: DataSet, filterRules: FilterRule[], context: Params, filters: Params): FilterSpec[]; static GetFilteredIndexes(dataSet: DataSet, specs: FilterSpec[]): number[]; static RecordPasses(record: string[], specs: FilterSpec[]): boolean; } export declare class FilterSpec { column: string; columnIndex: number; whereClause: string; whereCompare: number; formattedWhereClause: string; valid: boolean; predicate: string; userExpression: string; alwaysPass: boolean; filterMethod: (value: string) => boolean; static UserExpressionToFormattedCS(userExpression: string, caseSensitive: boolean): string; static UserExpressionToFormatted(userExpression: string): string; static FormattedExpressionToUser(filterParam: NameValue): NameValue; static FromFilters(filters: Params): FilterSpec[]; private SetAlwaysPass(); constructor(rule: FilterRule, existingName: string, existingWhereClause: string, context: Params, columns: string[]); Passes(v: string): boolean; CreateFilterMethod(): void; trySetAsNumber(s: string): boolean; }