import { EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * The Pagination component
 *
 * @example
 * <uno-pagination></uno-pagination>
 */
export declare class PageEvent {
    /** The current page index */
    currentIndex: number;
    /** The current page size */
    howManyPerPage: number;
}
declare class Page {
    label: string;
    value: number;
}
export declare class PaginationComponent {
    /**
     * The length of the total number of items that are being paginated. Defaulted to 0.
     */
    get numItems(): number;
    set numItems(val: number);
    private _numItems;
    /**
     * The set of provided page size options to display to the user. Default to [10, 25, 50]
     */
    get pageSizeOptions(): number[];
    set pageSizeOptions(val: number[]);
    private _pageSizeOptions;
    /**
     * The zero-based page index of the displayed list of items. Defaulted to 0.
     */
    get pageIndex(): number;
    set pageIndex(val: number);
    private _pageIndex;
    /**
     * Number of items to display on a page. By default set to 10.
     */
    get pageSize(): number;
    set pageSize(val: number);
    private _pageSize;
    /**
     * Event Emitter when the pagination changes the page size or page index.
     */
    page: EventEmitter<PageEvent>;
    /**
     * Variable to show or not the list to select the number of rows in table.
     */
    showList: boolean;
    /**
     * Variable to set pages for paginator.
     */
    pages: Page[];
    numberOfPages: number;
    startRange: number;
    endRange: number;
    displayPageSizeOptions: number[];
    constructor();
    /**
     * Changes the page size.
     */
    changePageSize(pageSize: number): void;
    /**
     * On clicked outside of "changePageSize" div.
     */
    onClickedOutside(outside: boolean): void;
    /**
     * Go to the first page.
     */
    firstPage(): void;
    /**
     * Go to the previous page.
     */
    previousPage(): void;
    /**
     * Set the current page number.
     */
    setNumberOfPages(): void;
    calculateStartEndRange(): void;
    /**
     * Set the current page number.
     */
    setNumber($event: Event, page: number): void;
    /**
     * Go to the next page.
     */
    nextPage(): void;
    /**
     * Go to the last page.
     */
    lastPage(): void;
    /**
     * Returns the last page number.
     */
    getLastPage(): number;
    /**
     * Set the current page number.
     */
    setCurrent(page: number): void;
    /**
     * Updates the page links and checks that the current page is valid.
     */
    private updatePageLinks;
    /**
     * Returns an array of Page objects to use in the pagination controls.
     */
    private createPageArray;
    /**
     * Given the position in the sequence of pagination links [i],
     * ...figure out what page number corresponds to that position.
     */
    private calculatePageNumber;
    private updatePageSizeOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "uno-pagination", never, { "numItems": "numItems"; "pageSizeOptions": "pageSizeOptions"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; }, { "page": "page"; }, never, never, false>;
}
export {};
