import { TNode, Value } from '@tempots/dom'; import { ControlSize } from '../theme'; import { DataSource } from './data-source'; import { ColumnFilterConfig, DataColumnDef, DataTablePaginationOptions, DataTableToolbarOptions } from './data-table-types'; import { RowGroup } from './data-source'; export declare function resolveToolbarOptions(toolbar: boolean | DataTableToolbarOptions): DataTableToolbarOptions | false; /** * Partition groups into pages, keeping whole groups together. * A group only spans multiple pages if it alone exceeds pageSize. * Collapsed groups count as 1 row (just the header) for page capacity. */ export declare function paginateGroups(groups: RowGroup[], pageSize: number, collapsed: Set): RowGroup[][]; export declare function resolvePaginationOptions(pagination: boolean | DataTablePaginationOptions): DataTablePaginationOptions | false; /** * Resolve a static ColumnFilterConfig into filter UI content. * Returns null when the config disables filtering. */ export declare function resolveFilterContent(config: ColumnFilterConfig | false | undefined, ds: DataSource, colId: C, size: Value): TNode; /** * Resolve a static ColumnFilterConfig into filter cell content (for 'row' layout). */ export declare function resolveFilterCell(config: ColumnFilterConfig | false | undefined, ds: DataSource, colId: C, size: Value): TNode; /** Resolve the current filter config for a column (static snapshot) */ export declare function getFilterConfig(col: DataColumnDef): ColumnFilterConfig | false | undefined; /** Check if a column has any filter configured (non-reactive check for setup) */ export declare function colHasFilter(col: DataColumnDef): boolean;