import { internalTableColumn, tableRow, internalTableRow } from '../ioSchema'; import { ColumnKey, MenuItem } from '../types'; import { z } from 'zod'; import { TableColumn } from '../types'; import Logger from '../classes/Logger'; export declare const TABLE_DATA_BUFFER_SIZE = 500; /** * Generates column config from an array of tabular data. * If custom columns aren't provided, the keys from `data` are used as headers. * * Returns an array of label/accessorKey OR label/renderCell. */ export declare function columnsBuilder>(props: { columns?: (TableColumn | ColumnKey)[]; data?: Row[]; }, logMissingColumn: (column: string) => void): TableColumn[]; /** * Removes the `render` function from column defs before sending data up to the server. */ export declare function columnsWithoutRender(columns: TableColumn[]): z.infer[]; export declare type TableDataFetcher> = (props: { queryTerm?: string; sortColumn?: string; sortDirection?: 'asc' | 'desc'; offset: number; pageSize: number; }) => Promise<{ data: Row[]; totalRecords?: number; }>; /** * Applies cell renderers to a row. */ export declare function tableRowSerializer>({ key, row, columns, menuBuilder, logger, }: { key: string; row: Row; columns: TableColumn[]; menuBuilder?: (row: Row) => MenuItem[]; logger: Logger; }): z.infer; declare type IsomorphicTableRow = { data: Record; key: string; filterValue?: string; }; export declare function sortRows({ data, column, direction, }: { data: T[]; column: string | null; direction: 'asc' | 'desc' | null; }): T[]; export declare function filterRows({ queryTerm, data, }: { queryTerm?: string | null; data: T[]; }): Omit[]; export declare function missingColumnMessage(component: string): (column: string) => string; export {};