export function pageNavigation(elem: any, pg: any): void;
/**
 * Generate actual sequence of page numbers to navigate to.
 * @param {number} numberOfPages
 * @param {number} currentPage
 * @param {Object|number} optionsOrNumberOfItems
 * @param {number} optionsOrNumberOfItems.numberOfItems
 * @param {number[][]} optionsOrNumberOfItems.spreads
 * @return {Iterable<number>}
 */
export function navigationItems(numberOfPages: number, currentPage: number, optionsOrNumberOfItems: any | number): Iterable<number>;
/**
 * Pagination support store.
 * Pages go from 1 ... numberOfPages
 * @param {Map|Set|Array|readable} data
 * @param {Object} options
 * @param {number} [options.itemsPerPage]
 * @param {number} [options.page] current page
 * @param {Function} [options.sorter]
 * @param {Function} [options.filter]
 */
export class Pagination {
    constructor(data: any[], options: any);
    set data(data: any);
    fireSubscriptions(): void;
    set filter(filter: any);
    get filter(): any;
    set sorter(sorter: any);
    get sorter(): any;
    /**
     * Enshure that current page lies inside 1 ... numberOfPages
     */
    recalibrateCurrentPage(): void;
    /**
     * Set current page.
     * First page has number 1.
     * @param {number} n
     */
    set page(n: number);
    /**
     * @return {number} current page
     */
    get page(): number;
    set itemsPerPage(n: number);
    get itemsPerPage(): number;
    subscribe(s: any): () => boolean;
    /**
     * Total number of items (filtered).
     * @return {number}
     */
    get numberOfItems(): number;
    /**
     * Calculate item index range for a given page number.
     * @param {number} page 1...
     * @returns {[number,number]}
     */
    itemRangeOnPage(page: number): [number, number];
    /**
     * @return {number}
     */
    get numberOfPages(): number;
    /**
     * Deliver items per page.
     * @see {itemsPerPage}
     * @return {number}
     */
    get length(): number;
    get filteredItems(): any[];
    /**
     * @see https://getbootstrap.com/docs/4.0/components/pagination
     * @see https://a11y-style-guide.com/style-guide/section-navigation.html#kssref-navigation-pagination
     */
    pageNavigationElement(options: any): HTMLElement;
    [Symbol.iterator](): Generator<any, void, unknown>;
    #private;
}
export namespace defaultNavigationItemOptions {
    let numberOfItems: number;
    let spreads: number[][];
}
