/** * PaginationUI is a UI component that renders and manages pagination controls. * It handles user interactions (navigation and page size changes), and exposes methods to * toggle visibility of pagination sections and update the state of the pagination controls. * * @private * @class PaginationUI */ export declare class PaginationUI { #private; /** * Triggers registered local hooks with the given hook name and arguments. */ runLocalHooks: (...args: unknown[]) => void; /** * Registers a callback to be executed when the specified local hook fires. */ addLocalHook: (hookName: string, callback: Function) => PaginationUI; /** * Initializes the pagination UI by creating DOM elements, applying layout settings, and registering event listeners. */ constructor({ rootElement, uiContainer, isRtl, themeName, phraseTranslator, a11yAnnouncer, }: Record); /** * Creates the pagination UI elements and sets up event listeners. */ install(): void; /** * Gets the pagination element. * * @returns {HTMLElement} The pagination element. */ getContainer(): HTMLDivElement; /** * Gets the focusable elements. * * @returns {HTMLElement[]} The focusable elements. */ getFocusableElements(): HTMLElement[]; /** * Updates the theme of the pagination container. * * @param {string | false | undefined} themeName The name of the theme to use. * @returns {PaginationUI} The instance of the PaginationUI for method chaining. */ updateTheme(themeName: string | undefined): PaginationUI; /** * Gets the height of the pagination container element. * * @returns {number} */ getHeight(): number; /** * Updates the state of the pagination UI. * * @param {object} state The pagination state. * @param {number} state.currentPage The current page number. * @param {number} state.totalPages The total number of pages. * @param {number} state.firstVisibleRowIndex The index of the first visible row on the current page. * @param {number} state.lastVisibleRowIndex The index of the last visible row on the current page. * @param {number} state.totalRenderedRows The total number of renderable rows. * @param {Array} state.pageSizeList The list of available page sizes. * @param {number} state.pageSize The current page size. * @param {boolean} state.autoPageSize Indicates if the page size is set to 'auto'. * @param {number} [state.counterStartRow] Optional 1-based start row for the counter (e.g. dataProvider mode). * @param {number} [state.counterEndRow] Optional 1-based end row for the counter (e.g. dataProvider mode). * @returns {PaginationUI} The instance of the PaginationUI for method chaining. */ updateState({ currentPage, totalPages, firstVisibleRowIndex, lastVisibleRowIndex, totalRenderedRows, pageSizeList, pageSize, autoPageSize, counterStartRow, counterEndRow, }: Record): PaginationUI; /** * Sets the visibility of the page size section. * * @param {boolean} isVisible True to show the page size section, false to hide it. * @returns {PaginationUI} The instance of the PaginationUI for method chaining. */ setPageSizeSectionVisibility(isVisible: boolean): PaginationUI; /** * Sets the visibility of the page counter section. * * @param {boolean} isVisible True to show the page size section, false to hide it. * @returns {PaginationUI} The instance of the PaginationUI for method chaining. */ setCounterSectionVisibility(isVisible: boolean): PaginationUI; /** * Sets the visibility of the page navigation section. * * @param {boolean} isVisible True to show the page size section, false to hide it. * @returns {PaginationUI} The instance of the PaginationUI for method chaining. */ setNavigationSectionVisibility(isVisible: boolean): PaginationUI; /** * Removes the pagination UI elements from the DOM and clears the refs. */ destroy(): void; }