/**
 * Pagination logic utilities.
 *
 * Function signatures follow a pattern of (collection, opt) where
 * `opt` is an object defining the pagination options required for the
 * operation. The option names follow the pagination prop names from
 * the EventsViewer pagination components for easy interop.
 *
 * Collections must be array-like, responding to `.length` and `.slice`.
 */
/**
 * Get the page count for the collection, according to the provided page length.
 * @param {Object} collection A collection.
 * @param {Object} opt An object with a `count` property
 * @returns {number|boolean} The page count
 */
export declare function totalPageCount(collection: [], { count }: {
    count: number;
}): number;
/**
 * Get the boundaries of a particular page in the collection.
 * Returned boundaries are suitable for use with `.slice`.
 *
 * @param {Object} collection A collection
 * @param {Object} opt An object with `count` and `offset` properties
 * @returns {Object} An object with `start` and `end` properties, or `undefined`
 * if the requested page is out-of-bounds.
 */
export declare function getPageBounds(collection: [], { count, offset }: {
    count: number;
    offset: number;
}): {
    start: number;
    end: number;
};
/**
 * Get a page of data from the collection
 * @param {Object} collection A collection
 * @param {Object} opt An object with `count` and `offset` properties
 * @returns {Object} A collection obtained by slicing the collection
 * according to the results of `getPageBounds(collection, opt)`
 */
export declare function getPage(collection: [], { count, offset }: {
    count: number;
    offset: number;
}): any;
/**
 * Returns the event offset based on page selected and page count
 * @param {Number} page - page selected via paginator (defaults to 1)
 * @param {Number} count - page length (defaults to 0)
 * @returns {number} event offset
 */
export declare function getOffset(page?: number, count?: number): number;
