import { LitElement, PropertyValues } from 'lit'; import { TableRow } from './table-row'; /** * `kyn-table` Web Component. * This component provides a table with sorting, pagination, and selection capabilities. * It is designed to be used with the `kyn-table-toolbar` and `kyn-table-container` components. * @fires on-row-selection-change - Dispatched when the selection state of a row is toggled. `detail: { selectedRow: TableRow, selectedRows: Array }` * @fires on-all-rows-selection-change - Dispatched when the selection state of all rows is toggled. `detail:{ selectedRows: Array }` */ export declare class Table extends LitElement { static styles: import("lit").CSSResult; /** aria role. * @internal */ accessor role: string; /** * checkboxSelection: Boolean indicating whether rows should be * selectable using checkboxes. * @type {boolean} */ accessor checkboxSelection: boolean | undefined; /** * striped: Boolean indicating whether rows should have alternate * coloring. * @type {boolean} */ accessor striped: boolean; /** * stickyHeader: Boolean indicating whether the table header should be sticky. * Must also set a height or max-height on kyn-table-container. * @type {boolean} */ accessor stickyHeader: boolean; /** * dense: Boolean indicating whether the table should be displayed * in dense mode. * @type {boolean} * @default false */ accessor dense: boolean; /** * fixedLayout: Boolean indicating whether the table should have a fixed layout. * This will set the table's layout to fixed, which means the table and column widths * will be determined by the width of the columns and not by the content of the cells. * This can be useful when you want to have a consistent column width across multiple tables. * @type {boolean} * */ accessor fixedLayout: boolean; /** * _provider: Context provider for the table. * @ignore * @private */ private accessor _provider; /** * updated: Lifecycle method called when the element is updated. */ updated(changedProperties: PropertyValues): void; /** * tableHeaderRow: Reference to the header row of the table. * @ignore * @private */ private accessor _tableHeaderRow; /** * allRows: Array of objects representing each row in the data table. * @ignore * @private */ private accessor _allRows; /** * selectedRows: Set of row ids that are currently selected. * @ignore * @private */ private accessor _selectedRows; /** * selectedRowIds: Set of row ids that are currently selected. * @ignore * @private */ private accessor _selectedRowIds; /** * headerCheckboxIndeterminate: Boolean indicating whether the header * checkbox is in an indeterminate state. * @ignore * @private */ private accessor _headerCheckboxIndeterminate; /** * headerCheckboxChecked: Boolean indicating whether the header checkbox is * checked. * @ignore * @private */ private accessor _headerCheckboxChecked; /** * Updates the state of the header checkbox based on the number of * selected rows. * @private */ private _updateHeaderCheckbox; /** * Handles the change of selection state for a specific row. */ private _handleRowSelectionChange; /** * Toggles the selection state of all rows in the table. */ private _toggleSelectionAll; /** * Resets the selection state of all rows in the table. * This method is called when the table is reset or cleared. * @public * @returns void */ updateAfterExternalChanges(): void; /** * Returns the selected rows in the table. * @returns Array of selected rows. * @public */ getSelectedRows(): TableRow[]; /** * Handles the change of rows in the table body. * @param {CustomEvent} event - The custom event containing the updated rows. * @private */ private _handleRowsChange; private _updateSelectionStates; connectedCallback(): void; disconnectedCallback(): void; firstUpdated(): void; /** * Updates table width during column resize based on snapshot widths. * Called from kyn-th during drag to calculate and apply table width. * @param {Map} columnWidthsSnapshot - Map of column index to width * @param {number} resizingColumnIndex - Index of the column being resized * @param {number} resizedColumnWidth - New width of the resizing column * @internal */ updateTableWidthFromResize: (columnWidthsSnapshot: Map, resizingColumnIndex: number, resizedColumnWidth: number) => void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'kyn-table': Table; } } //# sourceMappingURL=table.d.ts.map