import { type LayoutStyle } from "../../style/index.js"; import { type Size, type PaginationSkin } from "./pagination.styles.js"; export interface PaginationProps { /** Current page, 1-based (CONTROLLED). Clamped into the 1..total range before rendering. Omit for uncontrolled use. */ page?: number; /** Initial page for uncontrolled use (a bare pagination navigates on press). */ defaultPage?: number; /** Total number of pages. */ total?: number; /** Fired with the next 1-based page when a control or number is pressed. */ onChange?: (page: number) => void; /** * Total number of items across all pages. When set, the compact and with-size * indicator reads "Showing X-Y of N" (the item range on the current page) * instead of "Page X of N", computed from the current page and the page size. */ itemCount?: number; /** Collapse to Prev/Next plus a "Page X of N" label, no number buttons. */ compact?: boolean; /** * Prepend a "Rows per page" size selector to the compact Prev/Next + * "Page X of N" layout. Takes precedence over `compact`. */ withSize?: boolean; /** Currently selected rows-per-page value shown in the selector (CONTROLLED). Omit for uncontrolled use. */ pageSize?: number; /** Initial rows-per-page value for uncontrolled use (the selector cycles on press). */ defaultPageSize?: number; /** Selectable rows-per-page values; pressing the selector advances through them. */ pageSizes?: number[]; /** Fired with the next rows-per-page value when the selector is pressed. */ onPageSizeChange?: (size: number) => void; small?: boolean; large?: boolean; disabled?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** Composition within a parent only, never a restyle hook and never a width: the parent layout container provides the bounds. */ style?: LayoutStyle; } export declare function sizeOf(p: PaginationProps): Size; type Variant = "withSize" | "compact" | "numbered"; export declare function variantOf(p: PaginationProps): Variant; /** The chevron an arrow draws: it points along the reading direction, so Previous points right under right-to-left. */ export declare function arrowIcon(direction: "previous" | "next", rtl: boolean): "chevronLeft" | "chevronRight"; /** Build a Pagination component from a platform skin. */ export declare function createPagination(skin: PaginationSkin): (props: PaginationProps) => import("react").JSX.Element; export {}; //# sourceMappingURL=pagination.shared.d.ts.map