import { RadiantElement } from '@ecopages/radiant'; import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter'; export type RuiPaginationProps = { label?: string; page?: number; pageCount?: number; disabled?: boolean; siblingCount?: number; }; export type RuiPageChangeDetail = { page: number; }; /** * Default accessible name for the navigation landmark. * * @remarks Must match the host `@prop` default: the SSR view labels the nav * with it so the landmark is named before hydration. */ export declare const PAGINATION_DEFAULT_LABEL = "Pagination"; type RuiPaginationBindings = { label: string; page: number; pageCount: number; disabled: boolean; siblingCount: number; }; export declare function clampPage(page: number, pageCount: number): number; /** * `` — page navigation with previous/next controls and compact page ranges. * * @element rui-pagination * @attr {string} label - Accessible name for the navigation landmark. Default: `Pagination`. * @attr {number} page - Current one-based page. Default: `1`. * @attr {number} page-count - Total number of pages. Default: `1`. * @attr {boolean} disabled - Disable page navigation. Default: `false`. * @attr {number} sibling-count - Pages shown on each side of the current page. Default: `1`. * @slot - Navigation controls. `RuiPagination` supplies the default chrome when omitted. * @fires rui-page-change - Emitted when a page is requested; detail carries the one-based `page`. * @cssclass rui-pagination - Navigation root. * @cssclass rui-pagination__list - Page controls list. * @cssclass rui-pagination__link - Previous, next, and page control. * @cssclass rui-pagination__page - Page-number item; `__page--current` marks the active page. * @cssclass rui-pagination--compact - Force previous / `{page} / {count}` / next chrome. * @cssclass rui-pagination__status - Non-interactive `{page} / {count}` label in compact chrome. * @cssclass rui-pagination__ellipsis - Hidden range marker between page numbers. */ export declare class RuiPagination extends RadiantElement { label: string; page: number; pageCount: number; disabled: boolean; siblingCount: number; pageChangeEvent: EventEmitter; private changePage; onPageClick(event: Event): void; } export {};