import type { ITableSortChangedEventDetail } from '../../../events'; import { ItemsElement } from '../Abstracts/Items/ItemsElement'; import type { IDataTableColumnDefinition } from './IDataTableColumnDefinition'; import type { IDataTableElementProps } from './IDataTableElementProps'; declare const DataTableElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new () => ItemsElement<{}>) & import("../../../Behaviors/Themeable").IThemeableCtor; /** * DataTable - A comprehensive data presentation component for displaying structured information in rows and columns. * * Provides advanced data table functionality including sorting, filtering, pagination, and selection * capabilities. Designed for displaying large datasets with efficient rendering and user interaction * features for data analysis and management tasks. * * @name DataTableElement * @element mosaik-data-table * @category Selectors * * @slot - Default content area for custom table content and additional elements * @slot header - Table header area for titles, filters, and actions * @slot footer - Table footer area for pagination, totals, and summary information * * @csspart table - Main table container element * @csspart header - Table header section * @csspart body - Table body containing data rows * @csspart footer - Table footer section * @csspart row - Individual table row * @csspart cell - Individual table cell * @csspart sort-button - Sortable column header buttons * @csspart pagination - Pagination controls container * * @cssprop {Color} --data-table-border-color - Color for table borders and grid lines * @cssprop {Color} --data-table-header-background - Background color for table headers * @cssprop {Color} --data-table-row-background - Background color for table rows * @cssprop {Color} --data-table-row-background-hover - Hover state background for rows * @cssprop {Color} --data-table-row-background-selected - Selected row background color * @cssprop {String} --data-table-cell-padding - Internal padding for table cells * @cssprop {String} --data-table-header-font-weight - Font weight for header text * * @dependency TableElement - Base table structure and layout * @dependency TableHeaderElement - For table header rows and column definitions * @dependency TableRowElement - For data rows and content presentation * @dependency TableCellElement - For individual data cells and content * * @example * ```html * * * * * * * * ``` * * @public */ export declare class DataTableElement extends DataTableElement_base implements IDataTableElementProps { private _alternating; private _autoGenerateColumns; private _columnDefinitions; private _sorted; private _sortedSource; /** * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `alternating` property. * * @public * @attr */ get alternating(): boolean; set alternating(value: boolean); /** * Gets or sets the `autoGenerateColumns` property. * * @public * @attr */ get autoGenerateColumns(): boolean; set autoGenerateColumns(value: boolean); /** * Gets or sets the `columnDefinitions` property. * * @public */ get columnDefinitions(): Array; set columnDefinitions(value: Array); /** * Gets a `boolean` that indecates the table header is sorted or not. * Returns `true` if the table header is sorted, otherwise `false`. * * @public * @readonly * @attr */ get sorted(): boolean; /** * @public * @readonly */ get sortedSource(): Array; /** * @protected * @override */ protected onSourceChanged(prev: Array, next: Array): void; /** * @template * @private */ getColumns(): Array; /** * @template * @private */ onSortChanged(e: CustomEvent): void; /** * @private */ private sortByColumn; } /** * @public */ export declare namespace DataTableElement { type Props = IDataTableElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-data-table': DataTableElement; } } export {}; //# sourceMappingURL=DataTableElement.d.ts.map