/** * @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. * * @type {Function} */ columnDataFactory: (column: 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) => 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[]; /** * Intersect data. * * @private * @param {Array} data The data to intersect. * @param {Array} needles The collection intersected rows with the data. * @returns {Array} */ _getIntersectData(data: unknown[], needles: unknown[]): unknown[]; } export default DataFilter;