import { LitElement } from 'lit'; import '../Button/Button'; import '../Icon/Icon'; import '../../assets/styles/icons.css'; declare global { interface HTMLElementTagNameMap { 'ctt-pagination': CttPagination; } } export declare class CttPagination extends LitElement { static styles: import("lit").CSSResult[]; static formAssociated: boolean; /** * Current page number */ currentPage: number; /** * Total number of pages */ totalPages: number; /** * Number of items per page */ itemsPerPage: number; /** * Total number of items */ totalItems: number; /** * Options for items per page dropdown */ itemsPerPageOptions: Array<{ label: string; value: number; }>; /** * Maximum number of page buttons to show */ maxNumberOfButtons: number; /** * Label for the first page button (aria-label) */ firstPageLabel: string; /** * Label for the previous page button (aria-label) */ previousPageLabel: string; /** * Label for the next page button (aria-label) */ nextPageLabel: string; /** * Label for the last page button (aria-label) */ lastPageLabel: string; /** * Label prefix for page buttons (aria-label) */ pageLabel: string; /** * Label for items per page selector */ itemsPerPageLabel: string; /** * Internal array of page numbers to display */ private pages; /** * State for controlling the custom dropdown visibility */ private selectDropdownOpen; constructor(); connectedCallback(): void; disconnectedCallback(): void; updated(changedProperties: Map): void; private handleOutsideClick; private handleSelectWrapperClick; private handleSelectWrapperKeydown; private handleOptionClick; private updatePages; private navigate; private navigateToFirst; private navigateToLast; private getSelectedLabel; render(): import("lit-html").TemplateResult<1>; }