/// /*! * Copyright (c) Microsoft. All rights reserved. * Licensed under the MIT license. See LICENSE file in the project. */ import type { Field, SortDirection } from '@datashaper/schema'; import { type IColumn, type IDetailsGroupRenderProps, type IListProps } from '@fluentui/react'; import type ColumnTable from 'arquero/dist/types/table/column-table.js'; import type { ArqueroDetailsListFeatures, GroupHeaderFunction } from './ArqueroDetailsList.types.js'; import { groupBuilder } from './ArqueroDetailsList.utils.js'; import { useFill } from './hooks/useFill.js'; export declare function useVirtualizedItems(table: ColumnTable, columns: IColumn[] | undefined, features: ArqueroDetailsListFeatures, fill: boolean, compact: boolean, compactRowHeight: number): { ref: React.MutableRefObject; items: any[]; virtual: ReturnType; }; export declare function useGroups(table: ColumnTable, sliced: ColumnTable, items: any[], sortDirection: SortDirection | undefined, features: ArqueroDetailsListFeatures, sortColumn: string | undefined): undefined | Array>; /** * As in FluentUI documentation, when updating item we can update the list items with a spread operator. * since when adding a new column we're changing the columns prop too, this approach doesn't work for that. * a workaround found in the issues suggest to use this version property to use as comparison to force re-render */ export declare function useVersion(table: ColumnTable, columns: IColumn[] | undefined, compact: boolean): [number, React.Dispatch>]; export declare function useOnColumnResizeHandler(setVersion: React.Dispatch>): (column: IColumn | undefined, newWidth: number | undefined) => void; /** * Ensures every key is unique */ export declare function useGetKey(): (_: any, index?: number) => string; export declare function useGroupProps(table: ColumnTable, fields: Field[], onRenderGroupHeader: GroupHeaderFunction | undefined, features: ArqueroDetailsListFeatures): IDetailsGroupRenderProps; export declare function useListProps(version: number): IListProps; export declare function useFields(table: ColumnTable, fields?: Field[]): Field[];