import { UmbLitElement } from '../../lit-element/index.js'; export interface UmbTableItem { id: string; icon?: string | null; entityType?: string; data: Array; selectable?: boolean; } export interface UmbTableItemData { columnAlias: string; value: any; } export interface UmbTableColumn { name: string; alias: string; elementName?: string; width?: string; allowSorting?: boolean; align?: 'left' | 'center' | 'right'; labelTemplate?: string; clipText?: boolean; } export interface UmbTableColumnLayoutElement extends HTMLElement { column: UmbTableColumn; item: UmbTableItem; value: any; } export interface UmbTableConfig { allowSelection: boolean; selectOnly?: boolean; allowSelectAll?: boolean; hideIcon?: boolean; } export declare class UmbTableSelectedEvent extends Event { #private; constructor(args?: { itemId?: string; }); getItemId(): string | undefined; } export declare class UmbTableDeselectedEvent extends Event { #private; constructor(args?: { itemId: string; }); getItemId(): string | undefined; } export declare class UmbTableOrderedEvent extends Event { constructor(); } export declare class UmbTableSortedEvent extends Event { #private; constructor({ itemId }: { itemId: string; }); getItemId(): string; } /** * @element umb-table * @description - Element for displaying a table * @fires {UmbTableSelectedEvent} selected - fires when a row is selected * @fires {UmbTableDeselectedEvent} deselected - fires when a row is deselected * @fires {UmbTableOrderedEvent} sort - fires when a column order is changed * @augments LitElement */ export declare class UmbTableElement extends UmbLitElement { #private; /** * Table Items * @type {Array} * @memberof UmbTableElement */ private _items; get items(): Array; set items(value: Array); /** * @description Table Columns * @type {Array} * @memberof UmbTableElement */ columns: Array; /** * @description Table Config * @type {UmbTableConfig} * @memberof UmbTableElement */ config: UmbTableConfig; /** * @description Table Selection * @type {Array} * @memberof UmbTableElement */ selection: Array; orderingColumn: string; orderingDesc: boolean; private _sortable; get sortable(): boolean; set sortable(newVal: boolean); private _selectionMode; updated(changedProperties: Map): void; constructor(); private _isSelected; private _handleRowCheckboxChange; private _handleAllRowsCheckboxChange; private _handleOrderingChange; private _selectAllRows; private _deselectAllRows; private _selectRow; private _deselectRow; render(): import("lit-html").TemplateResult<1>; private _renderHeaderCell; private _renderSortingUI; private _renderHeaderCheckboxCell; private _renderRow; private _renderRowCheckboxCell; private _renderRowCell; private _renderCellContent; static styles: import("lit").CSSResult[]; } export default UmbTableElement; declare global { interface HTMLElementTagNameMap { 'umb-table': UmbTableElement; } }