import { EventEmitter } from '../../stencil-public-runtime'; /** * A pagination navigation component that displays page numbers with Previous/Next controls. * Use the isOnlyIcon prop to display Previous/Next as icon buttons for compact layouts. */ export declare class NvPaginationNav { /****************************************************************************/ /** * Label for the previous button. */ readonly previousButtonLabel: string; /** * Label for the next button. */ readonly nextButtonLabel: string; /** * Number of page buttons to show at the start of the pagination range. */ readonly numStartZoneButtons: number; /** * Number of page buttons to show at the end of the pagination range. */ readonly numEndZoneButtons: number; /** * Number of page buttons to show in the middle zone around the current page. */ readonly numMiddleButtons: number; /** * Current page number (1-based index). */ currentPage: number; /** * Total number of items to paginate. */ readonly totalCount: number; /** * Number of items per page. */ readonly pageSize: number; /** * If true, the Previous/Next navigation buttons will be displayed as icon buttons. * Page number buttons always use regular buttons. */ readonly isOnlyIcon: boolean; /** * If true, shows the middle zone with the current page when it's not in start/end zones. * If false (default), only shows one ellipsis between start and end zones (simpler pagination). */ readonly showMiddleZone: boolean; /****************************************************************************/ /** * Calculates the total number of pages based on totalCount and pageSize. * @returns {number} The total number of pages. */ private get totalPages(); /** * Handles page change events. * @param {number} pageNumber The page number to navigate to. */ private handlePageChange; /****************************************************************************/ /** * Watches for changes to currentPage and emits the currentPageChanged event. * @param {number} newValue The new current page value. */ onCurrentPageChange(newValue: number): void; /****************************************************************************/ /****************************************************************************/ /** * Emitted when the current page changes. * @bind currentPage */ currentPageChanged: EventEmitter; /****************************************************************************/ /** * Renders a single page button. * @param {number} pageNumber The page number to render. * @returns {JSX.Element} The rendered page button element. */ private renderPageButton; render(): any; }