/*! * Copyright (c) Microsoft. All rights reserved. * Licensed under the MIT license. See LICENSE file in the project. */ import type { Field, SortDirection, ValidationResult } from '@datashaper/schema'; import type { TableMetadata } from '@datashaper/tables'; import type { IColumn } from '@fluentui/react'; import type ColumnTable from 'arquero/dist/types/table/column-table'; import type { ArqueroDetailsListFeatures, ColumnSelectFunction, DropdownOptionSelect } from '../index.js'; export interface ColumnOptions { features?: ArqueroDetailsListFeatures; sortColumn?: string; sortDirection?: SortDirection; selectedColumn?: string; onCellDropdownSelect?: DropdownOptionSelect; sortable?: boolean; showColumnBorders?: boolean; compact?: boolean; resizable?: boolean; } /** * Overlays a number of special features onto the IColumn objects for a table. * This includes overridden renderers to support our sorting, selection, and data visualization. * @param table - * @param columns - * @param options - * @returns */ export declare function useColumns(table: ColumnTable, fields: Field[], metadata?: TableMetadata, columns?: IColumn[], onColumnSelect?: ColumnSelectFunction, onSort?: ColumnSelectFunction, validationResult?: ValidationResult, options?: ColumnOptions, virtualColumns?: IColumn[]): IColumn[];