import type { BodyRow } from '../bodyRows.js'; import type { NewTablePropSet, TablePlugin } from '../types/TablePlugin.js'; import { type RecordSetStore } from '../utils/store.js'; import { type Readable, type Writable } from 'svelte/store'; export interface SelectedRowsConfig { initialSelectedDataIds?: Record; linkDataSubRows?: boolean; } export interface SelectedRowsState { selectedDataIds: RecordSetStore; allRowsSelected: Writable; someRowsSelected: Readable; allPageRowsSelected: Writable; somePageRowsSelected: Readable; getRowState: (row: BodyRow) => SelectedRowsRowState; } export interface SelectedRowsRowState { isSelected: Writable; isSomeSubRowsSelected: Readable; isAllSubRowsSelected: Readable; } export type SelectedRowsPropSet = NewTablePropSet<{ 'tbody.tr': { selected: boolean; someSubRowsSelected: boolean; allSubRowsSelected: boolean; }; }>; export declare const addSelectedRows: ({ initialSelectedDataIds, linkDataSubRows, }?: SelectedRowsConfig) => TablePlugin, Record, SelectedRowsPropSet>;