import type { XyTableColumn, XyTableFilterOption, XyTableNormalizedColumn, XyTableRecord, XyTableResizableOptions, XyTableRowKey, XyTableSortOrder, XyTableTreeOptions, XyTableVirtualOptions } from "./types"; export interface XyTableFlatRow { children: T[]; hasChildren: boolean; index: number; key: string; level: number; record: T; } export interface XyTableProcessOptions { filters: Record; page: number; pageSize: number; sorter: { columnKey: string; order: Exclude; } | null; tree?: XyTableTreeOptions | boolean; } export declare const DEFAULT_COLUMN_WIDTH = 160; export declare const DEFAULT_ROW_HEIGHT = 48; export declare const DEFAULT_VIRTUAL_HEIGHT = 320; export declare const MIN_COLUMN_WIDTH = 80; export declare const MIN_ROW_HEIGHT = 32; export declare function normalizeColumns(columns?: readonly XyTableColumn[]): Array>; export declare function normalizeDataIndex(dataIndex: unknown): string; export declare function getValueByDataIndex(record: T, dataIndex: XyTableColumn["dataIndex"], fallbackKey: string): unknown; export declare function getRowKey(record: T, index: number, rowKey: XyTableRowKey): string; export declare function toPixelValue(value: number | string | undefined): string | undefined; export declare function toNumber(value: number | string | undefined, fallback: number): number; export declare function clampSize(value: number, min: number, max?: number | string): number; export declare function normalizeVirtualOptions(virtual: XyTableVirtualOptions | boolean | undefined): { enabled: boolean; height: string | number; overscan: number; rowHeight: number; }; export declare function normalizeResizableOptions(resizable: XyTableResizableOptions | boolean | undefined): { columns: boolean; minColumnWidth: number; minRowHeight: number; rows: boolean; }; export declare function getColumnWidth(column: XyTableNormalizedColumn, columnWidths: Record | undefined): number; export declare function getChildren(record: T, tree: XyTableTreeOptions | boolean | undefined): T[]; export declare function flattenTableRows(rows: readonly T[], rowKey: XyTableRowKey, tree: XyTableTreeOptions | boolean | undefined, expandedRowKeys?: readonly string[]): XyTableFlatRow[]; export declare function applyFilters(rows: readonly T[], columns: readonly XyTableNormalizedColumn[], filters: Record): T[]; export declare function applySorter(rows: readonly T[], columns: readonly XyTableNormalizedColumn[], sorter: XyTableProcessOptions["sorter"]): T[]; export declare function paginateRows(rows: readonly T[], current: number, pageSize: number): T[]; export declare function getNextSortOrder(order: XyTableSortOrder): "ascend" | "descend" | null; export declare function getFilterOptions(filters: readonly XyTableFilterOption[] | undefined): readonly XyTableFilterOption[]; export declare function mergeSelectionKeys(currentKeys: readonly string[], key: string, checked: boolean, type: "checkbox" | "radio"): string[]; export declare function normalizeNumberMap(value: Record | undefined): { [x: string]: number; };