import type { ReactiveController } from 'lit'; import type { GridHost } from '../internal/types.js'; import FilterDataOperation from '../operations/filter.js'; import QuickFilterDataOperation from '../operations/quick-filter.js'; import SortDataOperation from '../operations/sort.js'; import type { StateController } from './state.js'; export declare class DataOperationsController implements ReactiveController { protected host: GridHost; protected sorting: SortDataOperation; protected filtering: FilterDataOperation; protected quickFiltering: QuickFilterDataOperation; constructor(host: GridHost); hostConnected(): void; protected get hasCustomSort(): boolean; protected get hasCustomFilter(): boolean; protected get hasCustomQuickFilter(): boolean; protected get customFilter(): import("../index.js").DataPipelineHook; protected get customSort(): import("../index.js").DataPipelineHook; protected get customQuickFilter(): import("../index.js").DataPipelineHook; /** * Applies the quick-filter (global search), column-filter, and sort steps of the * data pipeline. * * @remarks * The returned dataset is the full post-filter, post-sort view. Pagination is * intentionally not applied here so callers can derive `totalItems` and the * paginator's `pageCount` from a stable value. The grid slices the page for * the virtualizer at render time. */ apply(data: T[], state: StateController): Promise; }