import type { MenuItemData } from '../Menu/menu-types'; import type { TableColumn } from './table-types'; export declare function nextTableColumnCustomizerElementId(): string; export declare function isTableActionColumn(column: TableColumn): boolean; export declare function tableColumnCustomizerLabel(column: TableColumn): string; export declare function tableDataColumns(columns: TableColumn[]): TableColumn[]; /** Data-column ids in display order. Unknown, duplicate, and action ids are ignored. */ export declare function resolveTableColumnOrder(columns: TableColumn[], columnOrder: string[] | undefined): string[]; /** * Hidden data-column ids. Action and unknown ids are dropped. At least one data * column remains visible when the catalog has any data columns. */ export declare function resolveTableHiddenColumnIds(columns: TableColumn[], hiddenColumnIds: string[] | undefined): string[]; /** True when hidden ids or data-column order differ from the catalog default. */ export declare function isTableColumnsCustomized(columns: TableColumn[], hiddenColumnIds: string[] | undefined, columnOrder: string[] | undefined): boolean; export declare function resolveTableVisibleColumns(columns: TableColumn[], options?: { columnCustomizer?: boolean; hiddenColumnIds?: string[]; columnOrder?: string[]; }): TableColumn[]; export declare function canToggleTableColumnHidden(columns: TableColumn[], hiddenColumnIds: string[] | undefined, columnId: string): boolean; export declare function toggleTableColumnHidden(columns: TableColumn[], hiddenColumnIds: string[] | undefined, columnId: string): string[]; export declare function moveTableColumnOrder(order: string[], fromId: string, toId: string): string[]; export declare function moveTableColumnInOrder(order: string[], columnId: string, offset: number): string[]; export interface TableColumnCustomizerItem { column: TableColumn; label: string; visible: boolean; hideable: boolean; reorderable: boolean; } export declare function tableColumnCustomizerItems(columns: TableColumn[], hiddenColumnIds: string[] | undefined, columnOrder: string[] | undefined): TableColumnCustomizerItem[]; /** Menu switch rows for the table-owned column customizer. */ export declare function tableColumnCustomizerMenuItems(columns: TableColumn[], hiddenColumnIds: string[] | undefined, columnOrder: string[] | undefined): MenuItemData[]; //# sourceMappingURL=table-column-customizer.d.ts.map