import { OnInit, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { PaginationItemsPerPageComponent } from './pagination-items-per-page/pagination-items-per-page.component';
import { Select } from '../../models';
import { UglaService } from '../../ugla.service';
/**
* Component for pagination
*
* @example
*
*
*/
export declare class PaginationComponent implements OnInit, OnChanges {
private ugla;
/**
* Internal property for limit interval
*/
private _limitInterval;
/**
* Internal property for visible pages
*/
private _visiblePages;
/**
* Property for first visible page
*/
private firstVisiblePage;
/**
* Property for first last page
*/
private lastVisiblePage;
/**
* Property for indicating if is next page
*/
private isNext;
/**
* The selected page.
*/
selectedPage: number;
/**
* Total pages of the pagination.
*/
totalPages: number;
/**
* Pagination size options.
*/
itemsPerPageRange: Select;
/**
* Selected pagination size.
*/
itemsPerPage: number;
/**
* Show text before select input.
*/
itemsPerPageBeforeText?: string;
/**
* Show text after select input.
*/
itemsPerPageAfterText?: string;
/**
* Component id.
*/
id: string;
/**
* Set a title to the first page button.
*/
firstPageButtonTitle?: string;
/**
* Set a title to the previous page button.
*/
previousPageButtonTitle?: string;
/**
* Set a title to the last page button.
*/
lastPageButtonTitle?: string;
/**
* Set a title to the next page button.
*/
nextPageButtonTitle?: string;
/**
* Set a title the item per page select.
*/
itemsPerPageTitle?: string;
/**
* Set a label for page number.
*/
labelPage?: string;
/**
* Items per page component.
*/
itemsPerPageComponent: PaginationItemsPerPageComponent;
/**
* Emitter for changed pagination size.
*/
changePaginationPageSize: EventEmitter;
/**
* Emitter for changed pagination page.
*/
changePaginationPage: EventEmitter;
/**
* Pages to be displayed
*/
pages: number[];
/**
* Receives the theme's name
*/
theme: string;
/**
* Receives the component's name
* @param ugla: UglaService
*/
constructor(ugla: UglaService);
/**
* Set initials configurations
*/
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
/**
* Set pagination length
*/
set visiblePages(visiblePages: number);
/**
* Get pagination length
*/
get visiblePages(): number;
/**
* Set limit interval to show pagination
*/
set limitInterval(limitInterval: number);
/**
* Get limit interval to show pagination
*/
get limitInterval(): number;
/**
* After fire pagination, update the visible pages.
*/
changePagination(): void;
/**
* Change navigation to previous page, and emit the selected page number.
*/
firePreviousPageEvent(): boolean;
/**
* Change navigation to first page, and emit the selected page number.
*/
fireFirstPageEvent(): boolean;
/**
* Change navigation to next page, and emit the selected page number.
*/
fireNextPageEvent(): boolean;
/**
* Change navigation to the last page, and emit the selected page number.
*/
fireLastPageEvent(): boolean;
/**
* Fire page navigation.
*
* @param page is a selected page
*/
fireNavigatePageEvent(page: number): boolean;
/**
* Return true if the previous page is enabled.
*/
isPreviousPageEnabled(): boolean;
/**
* Return true if the next page is enabled.
*/
isNextPageEnabled(): boolean;
/**
* Return true if the selected pages is the current.
*/
isCurrentPage(page: number): boolean;
/**
* Return true if the selected pages is the first page.
*/
isFirstPage(): boolean;
/**
* Return true if the selected pages is the last page.
*/
isLastPage(): boolean;
/**
* Fire update pagination.
*/
firePageEvent(): void;
/**
* Return true if the selected page is in left interval.
*
* @param leftInterval: number
*/
isLeftInterval(leftInterval: number): boolean;
/**
* Return true if the selected page is in right interval.
*
* @param rightInterval: number
*/
isRightInterval(rightInterval: number): boolean;
/**
* Validate if the current page is inside interval.
*
* @param finalinterval: number
*/
isInsideInterval(finalinterval: number): boolean;
/**
* Get last page from any select page.
*
* @param page page number
* @param interval number of interval
*/
getNextLastPage(page: number, interval: number): number;
/**
* Get first page from last page.
*
* @param lastPage last page number
*/
getNextFirstPage(lastPage: number): number;
}