import type * as React from 'react';
import type { ButtonView } from "../Button/index.js";
import type { InputControlView } from "../controls/index.js";
import type { ButtonItem, PageItem, PaginationPageComponent, PaginationPagePropsGetter, PaginationProps, PaginationSize, PaginationView } from "./types.js";
export declare function getNumerationList({ page, numberOfPages, mobile, }: {
    page: number;
    numberOfPages: number;
    mobile: boolean;
}): (number | "pageOf")[] | (number | "ellipsis")[];
export declare function getNumberOfPages(pageSize: number, total?: number): number;
export declare function getResultTotal(total: number | undefined): number | undefined;
export declare function getSize({ propSize, mobile, }: {
    propSize?: PaginationSize;
    mobile: boolean;
}): PaginationSize;
export declare function getResultPage({ page, total, pageSize, }: {
    page: number;
    total: number | undefined;
    pageSize: number;
}): number;
export declare function getViews({ propView, mobile }: {
    propView: PaginationView;
    mobile: boolean;
}): {
    buttonView: ButtonView;
    inputView: InputControlView;
    pageSizerView: InputControlView;
};
export declare function buildComponentProps({ component, item, getPageProps, page, pageSize, onUpdate, }: {
    component?: PaginationPageComponent;
    item: PageItem | ButtonItem;
    getPageProps?: PaginationPagePropsGetter;
    page?: number;
    pageSize: number;
    onUpdate: PaginationProps['onUpdate'];
}): Record<string, unknown>;
export declare function shouldUpdateOnPaginationItemClick(event: React.MouseEvent<HTMLElement>, hasComponent: boolean): boolean;
