/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { CompositeFilterDescriptor, GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
/**
 * @hidden
 */
export interface AutoProcessDataConfig {
    group?: boolean;
    sort?: boolean;
    filter?: boolean;
    search?: boolean;
    page?: boolean;
}
/**
 * Normalizes the autoProcessData prop value to a consistent config object.
 * When `true` is passed, returns all options enabled.
 * When an object is passed, returns it as-is.
 * When falsy, returns `undefined`.
 *
 * @param autoProcessData - The autoProcessData prop value (boolean or config object)
 * @returns Normalized config object or undefined
 *
 * @hidden
 */
export declare const normalizeAutoProcessData: (autoProcessData: boolean | AutoProcessDataConfig | undefined) => AutoProcessDataConfig | undefined;
/**
 * @hidden
 */
export interface ProcessDataOptions {
    autoProcessData: AutoProcessDataConfig;
    group?: GroupDescriptor[];
    defaultGroup?: GroupDescriptor[];
    sort?: SortDescriptor[];
    defaultSort?: SortDescriptor[];
    filter?: CompositeFilterDescriptor;
    defaultFilter?: CompositeFilterDescriptor;
    search?: CompositeFilterDescriptor;
    pageable?: boolean | object;
    take?: number;
    skip?: number;
    total?: number;
    isVirtualScroll?: boolean;
    includePaging?: boolean;
}
/**
 * @hidden
 */
export interface ProcessDataResult {
    data: any[];
    total: number;
}
/**
 * Processes data based on autoProcessData configuration.
 * Applies grouping, sorting, filtering, and optionally paging.
 *
 * @param data - The raw data array to process
 * @param options - Processing options including autoProcessData config and descriptors
 * @returns Processed data and total count
 *
 * @hidden
 */
export declare const processData: (data: any[], options: ProcessDataOptions) => ProcessDataResult;
