import type React from 'react'; import type { PageDetail } from './types.js'; /** * @csspart base */ export interface PaginationOwnProps { /** * Unique identifier for the element. * @example 'example-id' */ id?: string; /** * Currently active page number (1-based). * @defaultValue 0 * @example 1 */ currentPage?: number; /** * Number of items per page. * @defaultValue 0 * @example 10 */ pageSize?: number; /** * Total number of items across all pages. * @defaultValue 0 * @example 1 */ totalItems?: number; /** * Visible label text. * @example 'Example label' */ label?: string; /** * Component size. Allowed values: `xs`, `sm`, `md`, `lg`, `xl`. * @example 'xs' */ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** * Whether to display "Page X of Y" info text. * @defaultValue true * @example true */ showInfo?: boolean; /** * Whether to show previous/next navigation buttons. * @defaultValue true * @example true */ showPrevNext?: boolean; /** * Visual style variant. Allowed values: `pages`, `load-more`. * @example 'pages' */ variant?: 'pages' | 'load-more'; /** * Accessible label for the previous page button. * @example 'example' */ prevLabel?: string; /** * Accessible label for the next page button. * @example 'example' */ nextLabel?: string; /** * Label text for the "load more" button in infinite scroll mode. * @example 'example' */ loadMoreLabel?: string; /** * Array of page size options for the page size selector. * @example [10, 25, 50] */ pageSizeOptions?: number[]; /** * Fires when the committed component value or state changes. Detail: `PageDetail`. * @example (event) => console.log(event.detail.page) */ onChange?: (event: CustomEvent) => void; /** CSS class applied to the Custom Element host. * @example 'my-component' */ className?: string; /** Inline styles applied to the Custom Element host. * @example { marginTop: 8 } */ style?: React.CSSProperties; } /** * Props for ``: the component's own API plus every standard DOM * attribute and native React event handler, forwarded verbatim to the * `` host — `id`, `data-*`, `aria-*`, `title`, `tabIndex`, * `slot`, `onMouseEnter`, and the rest. Own props always win over a * same-named DOM attribute. */ export type PaginationProps = PaginationOwnProps & Omit, keyof PaginationOwnProps | 'children' | 'dangerouslySetInnerHTML'>; export declare const Pagination: React.ForwardRefExoticComponent, "children" | "dangerouslySetInnerHTML" | keyof PaginationOwnProps> & React.RefAttributes>;