/*!
 * Copyright (c) Microsoft. All rights reserved.
 * Licensed under the MIT license. See LICENSE file in the project.
 */
import type { SortDirection } 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 { ColumnClickFunction, DetailsListFeatures, DropdownOptionSelect } from '../index.js';
export interface ColumnOptions {
    features?: DetailsListFeatures;
    sortColumn?: string;
    sortDirection?: SortDirection;
    selectedColumn?: string;
    onColumnClick?: ColumnClickFunction;
    onCellDropdownSelect?: DropdownOptionSelect;
    isClickable?: boolean;
    isDefaultHeaderClickable?: 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, metadata?: TableMetadata, columns?: IColumn[], handleColumnHeaderClick?: ColumnClickFunction, options?: ColumnOptions, virtualColumns?: IColumn[]): IColumn[];
