import { PaginationOptions } from './pagination.types'; /** * Headless pagination controller. Renders page buttons with ellipsis into a * provided list element, wires ARIA and prev/next state to existing markup; it * never applies visual styles. * * Markup: * ```html * * ``` */ export declare class Pagination { private readonly root; private readonly listEl; private readonly prevEl; private readonly nextEl; private readonly totalPages; private readonly siblingCount; private readonly boundaryCount; private current; private cleanups; private pageCleanups; constructor(root: HTMLElement, options: PaginationOptions); private clamp; private init; /** Build the page/ellipsis sequence using boundary and sibling counts. */ private range; private numbers; private render; private emit; /** Go to a page. Clamps to `1..total` and is a no-op if unchanged. */ setPage(page: number): void; /** Go to the next page. No-op on the last page. */ next(): void; /** Go to the previous page. No-op on the first page. */ prev(): void; get page(): number; get total(): number; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }