import { DataTableProps, ColumnDef } from './types.js'; import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; import { useTableState } from './use-table-state.js'; import { ConditionalRule } from '../../lib/table-properties-types.js'; import '../../lib/column-cell-kind.js'; import '../../lib/column-filter-context.js'; import '../../lib/column-filter-person-options.js'; import '../../lib/row-height.js'; declare function DataTableToolbar>({ state, columns, searchable, /** When false, hides filter pills, search, and filter controls (e.g. dashboard canvas edit mode). */ showQueryControls, renderFilterOptionValue, toolbarSlot, searchAriaLabel, searchRecentQueries, onSearchRecentSelect, onSearchRecentClear, onSearchRecentRecord, edgeInset, }: { state: ReturnType>; columns: ColumnDef[]; searchable?: boolean; showQueryControls?: boolean; renderFilterOptionValue?: (fieldKey: string, value: string) => React.ReactNode; toolbarSlot?: (state: ReturnType>) => React.ReactNode; /** Passed to the search input `aria-label` (e.g. "Search placements") */ searchAriaLabel?: string; /** Recent toolbar queries — shown on focus when the field is empty. */ searchRecentQueries?: string[]; onSearchRecentSelect?: (query: string) => void; onSearchRecentClear?: () => void; /** Called when the user leaves the field with a non-empty query. */ onSearchRecentRecord?: (query: string) => void; /** When false, toolbar omits horizontal inset (parent owns page padding). */ edgeInset?: boolean; }): react_jsx_runtime.JSX.Element; interface DataTableExtendedProps> extends DataTableProps { /** Slot for a toolbar drawer button + drawer itself (e.g. TablePropertiesDrawer) */ toolbarSlot?: (state: ReturnType>) => React.ReactNode; /** Slot rendered inside the floating bulk-action bar (after the "N selected" label) */ bulkActionsSlot?: (selected: Set, rows: TData[]) => React.ReactNode; /** Optional "add new row" row text — pass false to hide */ addRowLabel?: string | false; /** Custom option-value renderer for filter pills */ renderFilterOptionValue?: (fieldKey: string, value: string) => React.ReactNode; /** When set by DataTablePaginated — drives row slicing inside useTableState */ paginationOverride?: { page: number; pageSize: number; }; /** When true, removes rounded bottom corners so a pagination bar can attach flush */ hasFooter?: boolean; /** * When false, table toolbar and grid omit `mx-4 lg:mx-6` / `px-4 lg:px-6` insets. * Use on embedded surfaces where the page shell or content rail already pads horizontally. */ edgeInset?: boolean; /** * When false, hides toolbar search/filter chrome (e.g. catalog API prop matrices). * Grid column resize, sort, and header menus still work. */ showQueryControls?: boolean; /** Conditional formatting rules — apply bg color to cells based on value */ conditionalRules?: ConditionalRule[]; /** When false, the column header row is hidden (Display options). */ showColumnHeaders?: boolean; /** When set, table uses this state (e.g. shared with board view) instead of internal useTableState. */ state?: ReturnType>; /** * Incremental row rendering for very large datasets. Keeps initial paint fast * and appends remaining rows in idle slices while showing a loading hint. */ lazyLoading?: { enabled?: boolean; threshold?: number; chunkSize?: number; intervalMs?: number; loadingLabel?: string; }; } declare function DataTable>(props: DataTableExtendedProps): react_jsx_runtime.JSX.Element; export { DataTable, type DataTableExtendedProps, DataTableToolbar };