/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { DetailExpandDescriptor, GroupExpandDescriptor, GroupState } from '@progress/kendo-vue-data-tools';
import { GridProps } from '../interfaces/GridProps';
import { ExtendedColumnProps } from '../interfaces/ExtendedColumnProps';
import { DataResult, GroupDescriptor, SortDescriptor } from '@progress/kendo-data-query';
import { GridRowType } from '../interfaces/GridRowType';
import { GridColumnProps } from '../interfaces/GridColumnProps';
import { IntlService } from '@progress/kendo-vue-intl';
import { GridColumnState } from '../interfaces/GridColumnState';
import { GridDetailExpandableSettings } from '../interfaces/GridDetailExpandableSettings';
import { GridRowSpannableSettings } from '../interfaces/GridRowSpannableSettings';
import { GridCellsSettings } from '../interfaces/GridCellsSettings';
/**
 * @hidden
 */
export declare function getNestedValue(fieldName: string, dataItem: any): any;
/**
 * @hidden
 */
export interface DataItemWrapper {
    dataItem: any;
    rowType: GridRowType;
    level: number;
    expanded: boolean;
    dataIndex: number;
    group?: GroupState;
}
/**
 * @hidden
 */
export declare function flatData(output: Array<DataItemWrapper>, input: Array<any>, footer: 'always' | 'visible' | 'none', dataIndex: {
    index: number;
}, groupDefined: boolean, expand?: DetailExpandDescriptor, groupExpand?: GroupExpandDescriptor[], defaultGroupExpand?: boolean, dataItemKey?: string, field?: string, level?: number, parentGroup?: GroupState | undefined): number;
/**
 * @hidden
 */
export declare function isRtl(element: Element | null): boolean;
/**
 * @hidden
 */
export declare function getIndex(event: any, parent: HTMLElement | null): number;
/**
 * @hidden
 */
export declare function checkPropCompatibility(props: GridProps): void;
/**
 * @hidden
 */
export declare function mapColumns(columns: Array<{
    parentIndex: number;
    rowSpan: number;
    depth: number;
    kFirst?: boolean;
    children: any[];
    headerColSpan: number;
    width?: string | number;
    locked?: boolean;
    index: number;
    left: number;
    right: number;
    rightBorder: boolean;
    ariaColumnIndex: number;
    virtualColumnOffset?: number;
}>, changedColumnLength?: boolean): number[][];
/**
 * @hidden
 */
export declare function readColumns(elements: (GridColumnProps)[], columnsState: GridColumnState[], idInfo: {
    prevId: number;
    idPrefix: string;
}, depth?: number, parentHidden?: boolean): ExtendedColumnProps[];
/**
 * @hidden
 */
export declare const getDataAsArray: (data: any[] | DataResult | null | undefined) => any[];
/**
 * @hidden
 */
export declare function autoGenerateColumns(data: any[] | DataResult | null | undefined, group: GroupDescriptor[] | undefined, expandable: GridDetailExpandableSettings, idInfo: {
    prevId: number;
    idPrefix: string;
}): ExtendedColumnProps[];
/**
 * @hidden
 */
export declare const footerColumns: (columns: ExtendedColumnProps[]) => ExtendedColumnProps[];
/**
 * @hidden
 */
export declare const parsers: {
    number: (value: any, intl: IntlService, format?: string) => number;
    date: (value: any, intl: IntlService, format?: string) => Date;
    boolean: (value: any) => any;
    string: (value: any) => any;
    default: (value: any) => any;
};
/**
 * @hidden
 */
export declare function applyExpandedState(sdata: DataResult, collapsed: any[], uniqueField: string): DataResult;
/**
 * @hidden
 */
export declare function groupedFirstItemValue(item: any, field: string): any;
/**
 * @hidden
 */
export declare const getFlatColumnsState: (state: GridColumnState[]) => GridColumnState[];
/**
 * @hidden
 */
export declare const firefox: boolean;
/**
 * @hidden
 */
export declare const firefoxMaxHeight = 17895697;
/**
 * @hidden
 */
export declare const getColumnWidth: (column: ExtendedColumnProps) => string | undefined;
/**
 * @hidden
 */
export declare const isSorted: (field: string | undefined, sort?: SortDescriptor[]) => boolean;
/**
 * @hidden
 */
export declare const sanitizeColumns: (columns: ExtendedColumnProps[]) => GridColumnProps[];
/**
 * @hidden
 */
export declare const getColSpan: (column: GridColumnProps, dataItem: any) => number;
/**
 * @hidden
 */
export declare const getRowSpanOptions: (rowSpannable?: boolean | GridRowSpannableSettings) => Required<GridRowSpannableSettings>;
/** @hidden */
export declare const calcRowHeight: (tableBody: HTMLTableSectionElement | null) => number;
/**
 * @hidden
 */
export declare const resolveCells: (gridCells?: GridCellsSettings, columnCells?: GridCellsSettings) => GridCellsSettings | undefined;
