import { Value } from '@tempots/dom'; import { DataSource } from './data-source'; import { ControlSize } from '../theme'; /** * Options for the {@link SelectionCheckbox} component. * * @typeParam T - The type of data rows in the data source */ export interface SelectionCheckboxOptions { /** The data source to wire selection into */ dataSource: DataSource; /** The unique row ID for this checkbox */ rowId: Value; isSelected: Value; /** Size variant. @default 'md' */ size?: Value; } /** * A checkbox for selecting/deselecting a single row in a {@link DataSource}. * * @typeParam T - The type of data rows * @param options - Checkbox configuration * @returns An `` element wired to the data source selection * * @example * ```ts * html.td( * SelectionCheckbox({ dataSource: ds, rowId: row.id }) * ) * ``` */ export declare function SelectionCheckbox({ dataSource, rowId, isSelected, size, }: SelectionCheckboxOptions): import("@tempots/dom").Renderable; /** * Options for the {@link SelectAllCheckbox} component. * * @typeParam T - The type of data rows in the data source */ export interface SelectAllCheckboxOptions { /** The data source to wire selection into */ dataSource: DataSource; /** Size variant. @default 'md' */ size?: Value; } /** * A checkbox for selecting/deselecting all filtered rows in a {@link DataSource}. * * Shows three states: * - Unchecked: no rows selected * - Indeterminate: some rows selected * - Checked: all rows selected * * @typeParam T - The type of data rows * @param options - Checkbox configuration * @returns An `` element with indeterminate support * * @example * ```ts * html.th( * SelectAllCheckbox({ dataSource: ds }) * ) * ``` */ export declare function SelectAllCheckbox({ dataSource, size, }: SelectAllCheckboxOptions): import("@tempots/dom").Renderable;