export type FilterTypes = 'greater' | 'lesser' | 'equal' | 'contains' | 'not equal'; export type Value = string | number; export type BooleanOperator = 'or' | 'and'; export type CompareValue = { value: Value; valueUndefined: boolean; valueIsNaN: boolean; lowercaseValue?: string; }; export type ComparableData = { readonly displayValue: string; compareValue?: CompareValue; rawValue?: string | number; blur?: boolean; color?: string; }; export type Row = readonly ComparableData[]; export type Column = { readonly name: string; readonly type: string; readonly index: number; direction: number; }; export type DataTable = { readonly columns: readonly Column[]; readonly rows: readonly Row[]; }; export type ColumnMeasure = { readonly column: string; readonly agg: string; readonly title: string; }; export type AggregationColumn = { readonly aggFunc: string; readonly aggName: string; readonly column: Column; }; export type IndexedRows = { [key: string]: Row[]; }; export declare const separateBy: (rows: readonly Row[], separateByColumns: Column[]) => Row[][]; export declare const orderBy: (table: DataTable, sortColumns: readonly Column[]) => { columns: readonly Column[]; rows: Row[]; }; export declare const groupBy: (table: DataTable, groupByColumns: Column[], aggregationColumns: ColumnMeasure[]) => { rows: ComparableData[][]; columns: { index: number; name: string; type: string; direction: number; }[]; }; export declare const getColumnByName: (table: DataTable, name: string) => Column | undefined; export declare const getColumnsByName: (table: DataTable, names: string[]) => Column[]; export declare const selectColumns: (table: DataTable, selectColumns: Column[]) => { columns: { index: number; name: string; type: string; direction: number; }[]; rows: ComparableData[][]; }; export declare const filterBy: (table: DataTable, filterColumns: Column[], filterValues: Value[], filterTypes: FilterTypes[], caseInsensitive?: boolean, booleanOperator?: BooleanOperator) => { columns: readonly Column[]; rows: Row[]; }; export declare const getValue: (row: Row, column: Column) => Value | undefined; export declare const isBlurred: (row: Row, column: Column) => boolean | undefined; export declare const getValues: (row: Row, columns: readonly Column[]) => ComparableData[]; export declare const getValuesAsString: (row: Row, columns: readonly Column[]) => string; export declare const getIndexedRows: (rows: readonly Row[], indexColumns: Column[]) => IndexedRows; export declare const getDistinctTable: (table: DataTable, distinctColumns: Column[]) => { rows: Row[]; columns: { index: number; name: string; type: string; direction: number; }[]; }; export declare const getColumnValues: (table: DataTable, column: Column) => (Value | undefined)[]; export declare const emptyTable: (table: DataTable) => boolean; export declare const limitRows: (table: DataTable, limit: number) => { columns: Column[]; rows: Row[]; }; export declare const innerJoin: (table: DataTable, joinTable: DataTable, joinKeys: string[]) => { rows: Row[]; columns: Column[]; }; //# sourceMappingURL=table-processor.d.ts.map