export interface PaginationResult {
    itemStart: number;
    itemEnd: number;
    totalItems: number;
    totalPages: number;
    itemsPerPage: number;
    pagesPerSide: number;
    currentPageIndex: number;
    currentPageNumber: number;
    previousPageIndex: number;
    previousPageNumber: number;
    hasMoreBeforePages: boolean;
    hasPrevPage: boolean;
    hasNextPage: boolean;
    beforePages: {
        index: number;
        number: number;
        gotoPage: () => void;
    }[];
    hasMoreAfterPages: boolean;
    afterPages: {
        index: number;
        number: number;
        gotoPage: () => void;
    }[];
    gotoPrev: () => void;
    gotoNext: () => void;
    gotoPageIndex: (index: number) => void;
    gotoPageNumber: (page: number) => void;
    gotoFirst: () => void;
    gotoLast: () => void;
    setItemsPerPage: (itemsPerPage: number, reset?: boolean) => void;
    setTotalItems: (count: number, reset?: boolean) => void;
}
export declare const usePagination: ({ totalItems, itemsPerPage, pagesPerSide, initialPageIndex, initialPageNumber }: {
    totalItems: number;
    itemsPerPage?: number | undefined;
    pagesPerSide?: number | undefined;
    initialPageIndex?: number | undefined;
    initialPageNumber?: number | undefined;
}) => PaginationResult;
