import { EventEmitter } from '../../stencil-public-runtime'; /** * @slot default - Child content of the component. */ export declare class NvPaginationtable { private readonly el; /****************************************************************************/ /** * Indicates which page of table results is currently being shown, using a * zero-based index. */ pageIndex: number; /** * Sets how many results appear at once before moving to the next page. */ pageSize: number; /** * Total number of pages available. */ readonly pageCount: number; /** * Total number of rows in the dataset. */ readonly rowCount: number; /** * Hides all arrow navigation controls when set to true. * By default, all controls are visible. */ readonly hideControls: boolean; /** * Hides the previous/next arrow controls when set to true. */ readonly hidePrevNext: boolean; /** * Hides the first/last arrow controls when set to true. */ readonly hideFirstLast: boolean; /** * Page size values offered in the rows-per-page dropdown. * Defaults to `[10, 25, 50, 100]` when not set. Values must be positive; * invalid entries and duplicates are dropped and an empty list falls back to * the defaults. When the current `pageSize` is missing from the list, it is * added so the dropdown keeps showing the applied page size. * Explicitly `reflect: false` (array) for framework compatibility. * @example [5, 10, 20] */ readonly pageSizeOptions?: number[]; /** * Label template for the page indicator. * Supports placeholders: {pageIndex}, {pageCount}. * Note: {pageIndex} is displayed as 1-based to users (internally 0-based). * @example 'Page {pageIndex} of {pageCount}' → 'Page 1 of 14' */ readonly labelPage: string; /** * Label template for the total row count display. * Supports placeholder: {rowCount}. * @example 'Total: {rowCount} rows' → 'Total: 254 rows' */ readonly labelTotal: string; /** * Label template for the page size dropdown options. * Supports placeholder: {pageSize}. * @example '{pageSize} per page' → '10 per page' */ readonly labelPageSizeOption: string; /****************************************************************************/ /** * Navigates to the first page. */ firstPage(): Promise; /** * Navigates to the previous page. */ previousPage(): Promise; /** * Navigates to the next page. */ nextPage(): Promise; /** * Navigates to the last page. */ lastPage(): Promise; /** * Navigates to a specific page by index. * @param {number} index The zero-based page index to navigate to. */ setPageIndex(index: number): Promise; /** * Changes the number of rows displayed per page. * @param {number} size The new page size. */ setPageSize(size: number): Promise; /** * Handles the page size change from the dropdown. * @param {CustomEvent} event - The value changed event from nv-fieldselect. */ private handlePageSizeChange; /****************************************************************************/ /** * Watches for changes to pageIndex and emits the pageIndexChanged event. * @param {number} newValue The new page index value. */ onPageIndexChange(newValue: number): void; /** * Watches for changes to pageSize and emits the pageSizeChanged event. * @param {number} newValue The new page size value. */ onPageSizeChange(newValue: number): void; /****************************************************************************/ /** * Re-asserts the native selection after every render. * nv-fieldselect renders its options unkeyed and only syncs the native * element when its own value changes. When the size list changes shape - * a temporarily inserted page size dropping out once a configured one is * applied - the reused option elements keep the previous selection, so the * field can show a different size than the applied one. */ componentDidRender(): void; /****************************************************************************/ /** * Emitted when the page index changes. * @bind pageIndex */ pageIndexChanged: EventEmitter; /** * Emitted when the page size changes. */ pageSizeChanged: EventEmitter; /****************************************************************************/ render(): any; }