import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; interface DataRowListProps { /** The filtered/sorted rows from `tableState.rows` (or wherever). */ rows: readonly TRow[]; /** Stable id used as the React `key` and (for virtualizer) the v-key. */ getRowId: (row: TRow, index: number) => string | number; /** Render the body of one row. Wrap with `` etc. */ renderRow: (row: TRow, index: number) => React.ReactNode; /** * Shown when `rows.length === 0`. Strings render as muted body copy; pass * a `ReactNode` for richer empty states (illustration, CTA, etc.). */ emptyState?: React.ReactNode; /** * Auto-virtualise when `rows.length >= virtualizeThreshold`. Default 100. * Pass `0` to never virtualise (preserves predictable layout for short * lists like dashboards / pinned tabs). */ virtualizeThreshold?: number; /** Hint for the virtualizer; clamps to measured size after first paint. */ estimatedRowHeight?: number; /** Override the default container padding / gap if needed. */ className?: string; /** Override the per-row `
  • ` className (e.g. tighter spacing). */ rowClassName?: string; /** `aria-label` for the `
      ` (screen-reader name for the list). */ ariaLabel?: string; /** * Id of the row a detail rail is currently showing, so the user can tell * which card the rail beside them is about. The list marks it with a ring * (a card's own rounded edge carries a ring better than the leading bar the * table view draws) plus `aria-current`. * * The row body comes from `renderRow`, so the ring is applied to whatever * that returns rather than to the `
    • ` — a square outline around a rounded * card would miss its corners. */ openRowId?: string | number | null; } declare function DataRowList(props: DataRowListProps): react_jsx_runtime.JSX.Element | null; export { DataRowList, type DataRowListProps };