import { ComponentSize } from '../../../xiaoye-primitives/index.js';
import { StyleValue } from 'vue';
export type PaginationLayoutKey = "prev" | "pager" | "next" | "jumper" | "->" | "total" | "sizes" | "slot";
export type PaginationPageHandler = (value: number) => void;
export type PaginationChangeHandler = (page: number, pageSize: number) => void;
export interface PaginationProps {
    currentPage?: number;
    defaultCurrentPage?: number;
    pageSize?: number;
    defaultPageSize?: number;
    total?: number;
    pageCount?: number;
    pagerCount?: number;
    layout?: string;
    pageSizes?: number[];
    prevText?: string;
    nextText?: string;
    size?: ComponentSize;
    small?: boolean;
    teleported?: boolean;
    appendSizeTo?: string | HTMLElement;
    popperClass?: string;
    popperStyle?: StyleValue;
    disabled?: boolean;
    background?: boolean;
    hideOnSinglePage?: boolean;
}
export declare function clampPage(page: number, pageCount: number): number;
export declare function normalizePagerCount(value: number | undefined): number;
export declare function buildPagerItems(currentPage: number, pageCount: number, pagerCount: number): Array<number | "prev-more" | "next-more">;
