import { ReactNode } from 'react'; import { DataListTableLayoutDefaults } from './configTypes'; import { ColumnDef, DataListTableInfiniteConfig, DataListTableRowMeta, SortState } from './types'; export type DataListTableScrollMode = "fill-parent" | "content-height"; export interface ConfigurableDataListTableProps { columnOrder: readonly string[]; columns: ColumnDef[]; componentName: string; data: TData[]; layoutDefaults: DataListTableLayoutDefaults; currentScrollYOffset?: number; "data-testid"?: string; fillParent?: boolean; infiniteLoader?: DataListTableInfiniteConfig; isFirstLotLoading?: boolean; isLoadingNextPeriod?: boolean; /** True while a "load previous" period fetch is in progress (shows top skeleton row). */ isLoadingPreviousPeriod?: boolean; quickViewColumnOrder?: readonly string[]; quickViewColumns?: ColumnDef[]; /** * Controls the table's vertical sizing strategy. * - `"fill-parent"`: table fills its parent container and scrolls internally (default). * - `"content-height"`: table expands to the full height of its content with no * internal scrollbar; the parent / page scrolls instead. * * When set, takes precedence over the `fillParent` prop. */ scrollMode?: DataListTableScrollMode; scrollToBottomOnLoad?: boolean; selectedRowIds?: string[]; sortState?: SortState | null; trackPerformance?: boolean; getRowId: (row: TData) => string; getRowMeta?: (row: TData) => DataListTableRowMeta | undefined; onListInnerElementHeightChanged?: (listInnerElemHeight: number) => void; onScroll?: (scrollYOffset: number) => void; onSortChange?: (next: SortState | null) => void; renderFooterBelowFrame?: () => ReactNode; } declare const _default: (props: Readonly> & React.RefAttributes) => React.ReactElement | null; export default _default;