import { EventEmitter } from '../../stencil.core';
import { PageChange, RecordBounds, RecordPager } from '../../types/types';
import { IntlFormatFn } from '../locale/i18n.provider';
export declare class Pager implements RecordPager {
    element: HTMLAnjPagerElement;
    pageCount: number;
    /**
     * If true, the pager will allows users to jump to the first page and last page
     */
    firstLast: boolean;
    /**
     * @internal
     */
    numberFormatter: IntlFormatFn;
    /**
     * If true, the pager will display the displayed record range and record total
     */
    info: boolean;
    /**
     * The current page
     */
    page: number;
    onPageChange(): void;
    /**
     * The range between first displayed record and last
     */
    range: RecordBounds;
    /**
     * The number of results to show per page. Default is 20.
     */
    size: number;
    onSizeChange(): void;
    /**
     * Sizes
     */
    sizes: number[];
    /**
     * The total (known) number of records
     */
    total: number;
    onTotalChange(newVal: number, oldVal: number): void;
    /**
     * Emitted when the use selects a new page
     */
    anjPagerDidLoad: EventEmitter<void>;
    /**
     * Emitted when the use selects a new page
     */
    anjPage: EventEmitter<PageChange>;
    componentDidLoad(): void;
    onSizeSelect({ detail }: CustomEvent): void;
    private calculatePageCount;
    private calculateRange;
    private onPage;
    private emitChange;
    private generateInfo;
    private generatePages;
    private showSizes;
    private pageButtons;
    render(): any;
}
