import { ElementRef, EventEmitter, OnInit, Renderer } from '@angular/core'; import { ControlValueAccessor, NgModel } from '@angular/forms'; import { KeyAttribute } from '../common'; export interface PaginationConfig extends KeyAttribute { maxSize: number; itemsPerPage: number; boundaryLinks: boolean; directionLinks: boolean; firstText: string; previousText: string; nextText: string; lastText: string; pageBtnClass: string; rotate: boolean; } export interface PageChangedEvent { itemsPerPage: number; page: number; } export declare class PaginationComponent implements ControlValueAccessor, OnInit, PaginationConfig, KeyAttribute { config: any; align: boolean; maxSize: number; boundaryLinks: boolean; directionLinks: boolean; firstText: string; previousText: string; nextText: string; lastText: string; rotate: boolean; pageBtnClass: string; disabled: boolean; numPages: EventEmitter; pageChanged: EventEmitter; itemsPerPage: number; totalItems: number; totalPages: number; page: number; onChange: any; onTouched: any; cd: NgModel; renderer: Renderer; elementRef: ElementRef; classMap: string; pages: Array; protected _itemsPerPage: number; protected _totalItems: number; protected _totalPages: number; protected inited: boolean; protected _page: number; constructor(cd: NgModel, renderer: Renderer, elementRef: ElementRef); ngOnInit(): void; writeValue(value: number): void; getText(key: string): string; noPrevious(): boolean; noNext(): boolean; registerOnChange(fn: (_: any) => {}): void; registerOnTouched(fn: () => {}): void; selectPage(page: number, event?: MouseEvent): void; protected makePage(num: number, text: string, isActive: boolean): { number: number; text: string; active: boolean; }; protected getPages(currentPage: number, totalPages: number): Array; protected calculateTotalPages(): number; }