/** * @private * @class DataFilter */ declare class DataFilter { /** * Reference to the instance of {ConditionCollection}. * * @type {ConditionCollection} */ conditionCollection: { getFilteredColumns: () => unknown[]; isMatch: (value: unknown, column: number) => boolean; }; /** * Function which provide source data factory for specified column. The optional second * argument narrows the read to the given physical rows only. * * @type {Function} */ columnDataFactory: (column: number, physicalRows?: number[]) => unknown[]; /** * Initializes the data filter with a condition collection that provides filtering logic and a factory function that supplies column source data. */ constructor(conditionCollection: { getFilteredColumns: () => unknown[]; isMatch: (value: unknown, column: number) => boolean; }, columnDataFactory?: (column: number, physicalRows?: number[]) => unknown[]); /** * Filter data based on the conditions collection. * * @returns {Array} */ filter(): unknown[]; /** * Filter data based on specified physical column index. * * @param {number} column The physical column index. * @param {Array} [dataSource] Data source as array of objects with `value` and `meta` keys (e.g. `{value: 'foo', meta: {}}`). * @returns {Array} Returns filtered data. */ filterByColumn(column: number, dataSource?: unknown[]): unknown[]; } export default DataFilter;