import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { FormControl } from '@angular/forms';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
export declare class ItPaginationComponent implements OnChanges {
    /**
     * Index of page (start 0)
     */
    currentPage: number;
    /**
     * Max number of page (counter)
     */
    pageNumbers: number;
    /**
     * Number of pages closest to the current one to display
     * @default 5
     */
    visiblePages: number;
    /**
     * Pagination alignment (justify-content)
     */
    alignment: 'center' | 'end' | undefined;
    /**
     * Enable/Disable simple mode
     * Pagination in the "Simple mode" version is optimized for mobile devices.
     * @default false - disabled
     */
    simpleMode?: boolean;
    /**
     * Enable/Disable text links
     * Chevron icons used as navigation links are replaced by text links such as “previous” and “next”.
     * @default false - disabled
     */
    textLinks?: boolean;
    /**
     * Current value of Changer
     * If is set show the Changer
     * @default undefined - hide the Changer
     */
    currentChanger: number | undefined;
    /**
     * Available Changer values
     * @default [10, 25, 50, 100]
     */
    changerValues: Array<number>;
    /**
     * Hide/Show "Jump to page" input
     * @default false - hidden
     */
    showJumpToPage?: boolean;
    /**
     * Fired when page is changed. Emit the new index of page
     */
    pageEvent: EventEmitter<number>;
    /**
     * Fired when changer is changed. Emit the new changer value
     */
    changerEvent: EventEmitter<number>;
    /**
     * The pages
     * @protected
     */
    protected pages: Array<number>;
    /**
     * Jump to page input
     * @protected
     */
    protected jumpToPage: FormControl<number | null>;
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Create array to generate pagination of `visiblePages` element
     */
    private calculatePages;
    /**
     * On click page change
     * @param event click event
     * @param newPage the new page of table
     */
    protected pageChange(event: Event, newPage: number): void;
    /**
     * On click changer
     * @param event click event
     * @param value the new changer value
     */
    protected changerChange(event: Event, value: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItPaginationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItPaginationComponent, "it-pagination", never, { "currentPage": { "alias": "currentPage"; "required": true; }; "pageNumbers": { "alias": "pageNumbers"; "required": true; }; "visiblePages": { "alias": "visiblePages"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "simpleMode": { "alias": "simpleMode"; "required": false; }; "textLinks": { "alias": "textLinks"; "required": false; }; "currentChanger": { "alias": "currentChanger"; "required": false; }; "changerValues": { "alias": "changerValues"; "required": false; }; "showJumpToPage": { "alias": "showJumpToPage"; "required": false; }; }, { "pageEvent": "pageEvent"; "changerEvent": "changerEvent"; }, never, ["*"], true, never>;
    static ngAcceptInputType_simpleMode: i1.BooleanInput;
    static ngAcceptInputType_textLinks: i1.BooleanInput;
    static ngAcceptInputType_showJumpToPage: i1.BooleanInput;
}
