import { PharosElement } from '../base/pharos-element'; import type { TemplateResult, CSSResultArray } from 'lit'; import { PharosSelect } from '../select/pharos-select'; import { PharosPagination } from '../pagination/pharos-pagination'; import { PharosTableRow } from '../table-row/pharos-table-row'; import { PharosTableCell } from '../table-cell/pharos-table-cell'; import { PharosTableColumnHeader } from '../table-column-header/pharos-table-column-header'; import { PharosTableHead } from '../table-head/pharos-table-head'; export type ColumnSpecification = { name: string; field: string; }; export type RowData = { [key: string]: unknown; }; declare const PharosTable_base: typeof PharosElement; /** * Pharos table component. * * @tag pharos-table * * @fires pharos-table-prev-page - Fires when the table goes to previous page * @fires pharos-table-next-page - Fires when the table goes to next page * */ export declare class PharosTable extends PharosTable_base { static elementDefinitions: { 'pharos-select': typeof PharosSelect; 'pharos-pagination': typeof PharosPagination; 'pharos-table-row': typeof PharosTableRow; 'pharos-table-cell': typeof PharosTableCell; 'pharos-table-column-header': typeof PharosTableColumnHeader; 'pharos-table-head': typeof PharosTableHead; }; /** * Column specification. * @attr columns * sample column: * [ * { * name: "ID" * field: "id" * }, * { * name: "Message" * field: "message" * } * ] */ columns: ColumnSpecification[]; /** * Row data. * @attr row-data * Example: * [ * { * id: 1, * message: "first one" * }, * { * id: 2, * message: "second one" * } * ] */ rowData: RowData[]; showPagination: boolean; totalResults: number; pageSizeOptions: number[]; caption: string; hideCaption: boolean; hasStickyHeader: boolean; private _tableHeadElement; private _slottedTableHeadElements; private _pageSize; private _currentPage; private header; private observer; protected firstUpdated(): void; protected updated(): void; private _toggleElevatedStickyHeader; private _initHeaderObserver; disconnectedCallback(): void; static get styles(): CSSResultArray; private _onPageSizeChange; private _pageStartNumber; private _pageEndNumber; private _onPrevPage; private _onNextPage; private _renderTableRows; private _renderPageSizeOptions; private _renderTableHeader; private _renderPagination; protected render(): TemplateResult; } export {}; //# sourceMappingURL=pharos-table.d.ts.map