import { EventEmitter } from '../../stencil-public-runtime'; import type { PaginationChangeDetail } from '../Pagination/pagination-types'; import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableColumnsConfigChangeDetail, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types'; export declare class Table { el: HTMLElement; /** Stable column definitions. Assign through JavaScript. */ columns: TableColumn[]; /** Ungrouped row data. Ignored while grouping is active. Assign through JavaScript. */ rows: TableRow[]; /** One level of application-owned grouped data. Assign through JavaScript. */ groups: TableGroup[]; /** Controlled grouping column. Applications supply groups in their final fixed order. */ grouping: TableGroupingState | null; /** Controlled member-row sort state. */ sort: TableSortState | null; /** Controlled collapsed group identities. Groups not listed remain expanded. */ collapsedGroupIds: string[]; /** Required accessible table name, retained as a native caption. */ caption: string; /** Shows a matching presentational title bar above the native table frame. */ captionVisibility: TableCaptionVisibility; /** * Opt in to the table-owned column customizer. The `columns` prop remains the * catalog; hidden and ordered columns are controlled separately. The trigger * opens the shared Menu of live show/hide switch rows. */ columnCustomizer: boolean; /** Controlled hidden data-column identities. Action ids are ignored. */ hiddenColumnIds: string[]; /** Controlled data-column identities in display order. Omitted ids append in catalog order. */ columnOrder: string[]; /** * Optional result summary footer. When both `displayedCount` and `totalCount` * are finite numbers, infinite mode shows “Displaying {displayed} of {total}”. * Virtual mode ignores `displayedCount` and derives its total from the * complete supplied rows; a mismatched `totalCount` emits a warning. */ displayedCount: number | undefined; totalCount: number | undefined; /** Supports {displayed} and {total} placeholders. */ resultSummaryLabel: string; /** Supports the {total} placeholder. Used when dataMode is virtual. */ resultTotalSummaryLabel: string; stickyHeader: boolean; /** Maximum scroll-region height. Numbers resolve to CSS pixels. */ maxHeight: string | number | undefined; /** Fixed height for the complete header, table frame, and footer composition. */ height: string | number | undefined; /** Fit the complete table composition to its nearest vertical scrollport. */ fitViewport: boolean; /** Reserved space above a viewport-fitted table once surrounding chrome is compact. */ viewportInsetBlockStart: string | number; /** Reserved space below a viewport-fitted table. */ viewportInsetBlockEnd: string | number; /** Optional explicit label for the horizontal/vertical scroll region. */ scrollLabel: string | undefined; selectionMode: TableSelectionMode; /** Controlled selected row identities. IDs outside the loaded rows are preserved. */ selectedRowIds: string[]; /** Initial loading state. Existing rows stay visible; incremental loading uses loadingMore. */ loading: boolean; /** Replace opted-in table-owned caption controls with same-size visual skeletons. */ chromeLoading: boolean; /** Initial-loading rows. Defaults to ten so bounded tables retain a useful filled viewport. */ skeletonRows: number; emptyHeading: string; emptyBody: string; /** Initial error state. Existing rows stay visible; incremental failures use loadMoreError. */ error: boolean; errorHeading: string; errorBody: string; emptyCellLabel: string; /** Top-level data-window strategy. Virtual mode recycles row DOM only. */ dataMode: TableDataMode; /** Opt in to the table-owned control for choosing between supported data modes. */ dataModeSwitcher: boolean; dataModeSwitcherLabel: string; dataModeMenuLabel: string; infiniteModeLabel: string; paginationModeLabel: string; virtualModeLabel: string; /** Controlled top-level pagination state. Required when dataMode is pagination. */ pagination: TablePaginationState | null; loadMoreMode: TableLoadMoreMode; hasMore: boolean; loadingMore: boolean; loadMoreError: string | undefined; /** Reset key for a new query/group/sort dataset. */ loadIdentity: string | number; /** IntersectionObserver root margin in CSS pixels. */ loadMoreThreshold: number; loadMoreLabel: string; retryLabel: string; loadingMoreLabel: string; endOfResultsLabel: string; /** Supports {count} and {total} placeholders. */ rowsLoadedLabel: string; groupLoadMoreLabel: string; /** Supports the {group} placeholder. */ groupLoadMoreAriaLabel: string; /** Supports the {group} placeholder. */ groupRetryLabel: string; /** Supports the {group} placeholder. */ groupLoadingMoreLabel: string; /** Supports the {group} placeholder. */ groupEndOfResultsLabel: string; /** Supports {group}, {count}, {loaded}, and {total} placeholders. */ groupRowsLoadedLabel: string; dsSortChange: EventEmitter; dsGroupCollapseChange: EventEmitter; dsSelectionChange: EventEmitter; dsLoadMore: EventEmitter; dsGroupLoadMore: EventEmitter; dsPaginationChange: EventEmitter; dsCellAction: EventEmitter; dsRowActivate: EventEmitter; dsColumnsConfigChange: EventEmitter; dsDataModeChange: EventEmitter; private overflowStart; private overflowEnd; private scrollable; private announcement; private activeStickyGroupId; private viewportFitSettled; private headerPresent; private footerSlotPresence; private fitPageSize; private actionMenu; private actionMenuInitialFocusVisible; private truncateTooltipLabel; private captionCompact; private columnCustomizerOpen; private columnCustomizerInitialFocusVisible; private dataModeSwitcherOpen; private dataModeSwitcherInitialFocusVisible; private virtualWindow; private readonly actionMenuElementId; private readonly columnCustomizerElementId; private readonly dataModeSwitcherElementId; private truncateTooltipEl?; private truncateAnchor; private truncateTooltipBound; private focusedRowId; private virtualItems; private visibleColumnsCache; private renderModelCache; private virtualItemsCache; private virtualLookupCache; private virtualRowPoolStates; private rootEl; private viewportEl; private frameEl; private interactiveHeadEl; private collapseAllOverlayEl; private stickyHeaderTableEl; private tableEl; private sentinelEl; private incrementalWindowActive; private readonly groupSentinelEls; private previousModelWarning; private modelWarningQueued; private hasLoaded; private renderedModel; private stickyGroupConnected; private headerSlotObserver; private footerSlotObserver; private captionCompactDisconnect; private fitResizeObserver; private fitObservedViewport; private fitObservedTable; private fitMeasurementPending; private readonly layoutController; private readonly loadController; private readonly groupLoadController; private readonly virtualController; private readonly viewportFitController; componentWillLoad(): void; componentDidLoad(): void; componentDidRender(): void; connectedCallback(): void; disconnectedCallback(): void; private syncHeaderSlotPresence; private connectHeaderSlotObserver; private syncFooterSlotPresence; private connectFooterSlotObserver; private connectStickyGroup; private syncStickyGroupConnection; private disconnectStickyGroup; private readonly updateStickyGroup; handleStructureChange(): void; handleDataChange(): void; handleTotalCountChange(): void; handleLoadIdentityChange(): void; handleVirtualIndexReset(): void; handleLazyConfigurationChange(): void; handleDataModeChange(): void; handlePaginationChange(pagination: TablePaginationState | null, previous: TablePaginationState | null): void; handleLoadingMoreChange(loading: boolean): void; handleLoadMoreErrorChange(error: string | undefined): void; handleHasMoreChange(hasMore: boolean, hadMore: boolean): void; handleColumnCustomizerAvailability(): void; handleDataModeSwitcherAvailability(): void; handleChromeLoadingChange(loading: boolean): void; private get grouped(); private get hasIncrementalState(); private get selectable(); private get visibleColumns(); private get showsColumnCustomizer(); private get showsDataModeSwitcher(); private get showsCaptionTrailing(); private get documentStickyHeader(); private get fixedHeight(); private get boundedComposition(); private get containedScroll(); private connectFitObserver; private disconnectFitObserver; private connectCaptionCompactObserver; private disconnectCaptionCompactObserver; private readonly syncFitPageSize; handleWindowPaginationKeyDown(event: KeyboardEvent): void; private handlePaginationKeyDown; private currentLoadedRows; private currentLoadedRowCount; private createRenderModel; private get virtualizationEnabled(); private get virtualViewportMissing(); private get hasVirtualViewportBounds(); private estimateVirtualViewportSize; private virtualPinnedRowIds; private syncVirtualItems; private shouldVirtualize; private get resolvedMaxHeight(); private get resolvedHeight(); private warnModelIssues; private scheduleModelIssueWarning; private emitSort; private sortButtonLabel; private emitRowSelection; private emitAllSelection; private emitGroupSelection; private rowEventOwnsActivation; private emitRowActivation; private syncActionMenu; private closeActionMenu; private handleActionMenuSelect; private toggleActionMenu; private renderOverflowActionMenu; private connectTruncateTooltip; private disconnectTruncateTooltip; private onTruncatePointerOver; private onTruncatePointerOut; private onTruncateFocusIn; private onTruncateFocusOut; private presentOrDismissTruncateTrack; private dismissTruncateTooltip; private renderTruncateTooltip; private truncateAttr; private handleRowKeydown; private onVirtualFocusIn; private renderSelectionControl; private renderStickyEdge; private renderCollapseAllButton; private renderFloatingCollapseAll; private renderColumnHeader; private renderColgroup; private renderHeader; private renderCellValue; private renderTextCopy; private renderTextTrack; private renderRow; private emitGroupCollapse; private emitAllGroupsCollapse; private renderGroupContent; private formatGroupLoadLabel; private renderGroupLoadRow; private renderStickyGroup; private renderVirtualSpacer; private renderVirtualRow; private virtualRowPoolKeys; private renderVirtualGroup; private renderVirtualBodies; private renderDataBodies; private renderSkeletonBody; private renderSkeletonCell; private renderSkeletonCellContent; private renderStateBody; private renderLazyBody; private renderDocumentStickyHeader; private get resultSummary(); private get hasResultFooter(); private renderResultFooter; private renderCaptionBar; private renderCaptionTrailing; private renderDataModeSwitcherTrigger; private renderDataModeSwitcherMenu; private toggleDataModeSwitcher; private openDataModeSwitcher; private closeDataModeSwitcher; private handleDataModeSwitcherSelect; private renderColumnCustomizerTrigger; private renderColumnCustomizerMenu; private toggleColumnCustomizer; private openColumnCustomizer; private closeColumnCustomizer; private emitColumnsConfigChange; private handleColumnCustomizerReorder; private handleColumnCustomizerSelect; render(): any; } //# sourceMappingURL=Table.d.ts.map