import { DataTableColumn, DataTableRow } from './mwa-data-table'; import { MDCDataTable, MDCDataTableAdapter, MDCDataTableFoundation } from '@material/data-table'; import { BaseElement } from '@material/mwc-base'; import { SelectedDetail } from '@material/mwc-list'; import '@material/mwc-icon-button'; import '@material/mwc-linear-progress'; import '@material/mwc-select'; import { LinearProgress } from '@material/mwc-linear-progress'; export interface RowSelectionChangedDetail { row: DataTableRow; rowIndex: number; selected: boolean; } export interface FilteredDetail { column: DataTableColumn; text: string; caseSensitive: boolean; columnIndex: number; } export declare class DataTableBase extends BaseElement { /** * Enable/disable pagination. */ paginated: boolean; /** * JSON array with the page sizes to be used in the pagination and shown as page size select options. */ pageSizes: string; /** * Label to show before the page size select. */ pageSizesLabel: string; /** * Index of the first row to be shown on the current page. */ firstRowOfPage: number; /** @internal */ protected pageSizesArray: number[]; /** * Size of the current page. */ currentPageSize: number; /** * Index of the last row to be shown on the current page. */ lastRowOfPage: number; /** * Label pattern to show after the page size select that indicates the current rows shown in the page. * It should contain the following parameters: `:firstRow`, `:lastRow`, `:totalRows` */ paginationTotalLabel: string; /** * Whether the loading indicator is active. */ inProgress: boolean; /** * Overall height of the table. Available in three different measures. */ density?: '' | 'tight' | 'comfortable' | 'dense' | 'compact'; /** @internal */ columns: DataTableColumn[]; /** @internal */ rows: DataTableRow[]; /** @internal */ protected tableElement: HTMLTableElement; /** @internal */ protected tableContainerElement: HTMLTableElement; /** @internal */ protected headerRowElement: HTMLTableSectionElement; /** @internal */ protected progressIndicator: LinearProgress; /** @internal */ protected mdcDataTable?: MDCDataTable; /** @internal */ protected mdcRoot: HTMLDivElement; /** @internal */ protected readonly mdcFoundationClass: typeof MDCDataTableFoundation; /** @internal */ protected mdcFoundation: MDCDataTableFoundation; /** @internal */ protected get headerCheckboxRow(): DataTableColumn; /** @internal */ protected get headerCheckbox(): import("@material/mwc-checkbox").Checkbox | undefined; render(): import("lit-html").TemplateResult<1>; /** @internal */ rowCallback: (e: Event) => void; /** @internal */ headerRowCallback: () => void; /** @internal */ filterColumnCallback: (e: Event) => void; protected renderPagination(): import("lit-html").TemplateResult<1> | undefined; protected onPageSizeSelected(e: CustomEvent): void; protected onPaginationButtonClicked(event: Event): void; protected paginate(action?: 'current' | 'first' | 'previous' | 'next' | 'last'): void; protected firstUpdated(): void; protected updated(_changedProperties: any): void; protected createAdapter(): MDCDataTableAdapter; protected renderTemplate(template: string, params: Object): string; protected hideRows(rows?: DataTableRow[]): void; protected showRows(rows?: DataTableRow[]): void; }