/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { SimpleChange, OnInit, OnDestroy, OnChanges, DoCheck, ChangeDetectorRef } from '@angular/core'; import { State, SortDescriptor, GroupDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query'; import { GridComponent } from './grid.component'; import { DataStateChangeEvent } from './data/change-event-args.interface'; import { GridDataResult } from './data/data.collection'; import { LocalDataChangesService } from './editing/local-data-changes.service'; import { RowReorderEvent } from './row-reordering/types'; import { RowReorderService } from './row-reordering/row-reorder.service'; import { ContextService } from './common/provider.service'; import { SearchService } from './rendering/toolbar/tools/smartbox/search.service'; import * as i0 from "@angular/core"; /** * A directive that handles in-memory data operations like [paging](https://www.telerik.com/kendo-angular-ui/components/grid/paging/basics), * [sorting](https://www.telerik.com/kendo-angular-ui/components/grid/sorting/basics), and [grouping](https://www.telerik.com/kendo-angular-ui/components/grid/grouping/basics). * * Use this directive with local data and enable the Grid data operations with minimal configuration. * ([More information and examples](https://www.telerik.com/kendo-angular-ui/components/grid/data-binding/local-data#automatic-data-processing)). * * @example * ```html * * ``` * @remarks * Applied to: {@link GridComponent}. */ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck, OnChanges { protected grid: GridComponent; protected changeDetector?: ChangeDetectorRef; protected localDataChangesService?: LocalDataChangesService; private rowReorderService?; private searchService?; /** * Sets the number of records to skip in the Grid. * * @default 0 */ set skip(value: number); /** * Sets the sort descriptors for the Grid data. * */ set sort(value: SortDescriptor[]); /** * Sets the filter descriptor for the Grid data. * */ set filter(value: CompositeFilterDescriptor); /** * Sets the page size for the Grid pager. * */ set pageSize(value: number); /** * Sets the group descriptors for the Grid data. * */ set group(value: GroupDescriptor[]); /** * Sets the data array for the Grid. * */ set data(value: any[]); protected state: State; protected originalData: any[]; protected dataChanged: boolean; private stateChangeSubscription; private dataChangedSubscription; private rowReorderSubscription; private searchSubscription; private searchFilter; constructor(grid: GridComponent, changeDetector?: ChangeDetectorRef, localDataChangesService?: LocalDataChangesService, rowReorderService?: RowReorderService, searchService?: SearchService, ctx?: ContextService); /** * @hidden */ ngOnInit(): void; /** * @hidden */ ngOnDestroy(): void; ngOnChanges(changes: { [propertyName: string]: SimpleChange; }): void; ngDoCheck(): void; /** * @hidden */ onStateChange(state: DataStateChangeEvent): void; /** * @hidden */ onRowReorder(ev: RowReorderEvent): void; /** * @hidden */ onSearch(searchFilter: CompositeFilterDescriptor): void; /** * @hidden */ rebind(): void; /** * Notifies the Grid that its data has changed. */ notifyDataChange(): void; protected process(state: State): GridDataResult; protected applyState({ skip, take, sort, group, filter }: State): void; protected updateGridData(): void; private combineFilters; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }