import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { Subscription } from 'rxjs';
import { I18nInterface, I18nService } from '@duoduo-oba/ng-devui/i18n';
export declare class PaginationComponent implements OnChanges, AfterViewInit, OnDestroy {
    private ref;
    private i18n;
    static EFFECT_PAGE_RANGE_KEYS: string[];
    /**
     * 【可选】每页显示最大条目数量，默认10条
     */
    pageSize: number;
    /**
     * 【可选】用于选择更改分页每页最大条目数量的下拉框的数据源，默认为`[5, 10, 20, 50]`
     */
    pageSizeOptions: number[];
    /**
     * 【可选】初始化页码
     */
    pageIndex: number;
    /**
     * 页码变化的回调
     */
    pageIndexChange: EventEmitter<number>;
    /**
     * 每页最大条目数量变更时的回调
     */
    pageSizeChange: EventEmitter<number>;
    /**
     * 分页最多显示几个按钮，默认10个
     */
    maxItems: number;
    /**
     * 【可选】前一页按钮文字，默认为左箭头图标
     */
    preLink: string;
    /**
     * 【可选】后一页按钮文字，默认为左箭头图标
     */
    nextLink: string;
    /**
     * 【可选】分页组件尺寸
     */
    size: '' | 'sm' | 'lg';
    /**
     * 【可选】是否显示分页输入跳转
     */
    canJumpPage: boolean;
    /**
     * 【可选】是否显示用于选择更改分页每页最大条目数量的下拉框
     */
    canChangePageSize: boolean;
    /**
     * 【可选】是否显示总条目
     */
    canViewTotal: boolean;
    cssClass: string;
    showJumpButton: boolean;
    showTruePageIndex: boolean;
    id: any;
    showPages: any[];
    totalPage: number;
    _total: number;
    jumpPage: any;
    totalItemText: string;
    goToText: string;
    /**
     * 下拉菜单默认方向
     */
    selectDirection: 'auto' | 'up' | 'down';
    /**
     * 极简模式开关
     */
    lite: boolean;
    showPageSelector: boolean;
    haveConfigMenu: boolean;
    litePaginatorIndex: {
        value: number;
        label: string;
    } | null;
    litePaginatorOptions: any[];
    private litePaginatorOptionsLengthCache;
    showConfig: boolean;
    litePaginator: ElementRef;
    private configButtonLoseFocusHandler;
    private loseFocusListener;
    i18nText: I18nInterface['pagination'];
    i18nSubscription: Subscription;
    constructor(ref: ChangeDetectorRef, i18n: I18nService);
    total: any;
    first(): void;
    last(): void;
    prev(): void;
    next(): void;
    jump(): void;
    validateInput(): void;
    preRange(): void;
    nextRange(): void;
    onPageIndexChange(pageIndex: number): void;
    onPageSizeChange(size: any): void;
    hasPrev(): boolean;
    hasNext(): boolean;
    private getTotalPage;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    private updateShowPageRange;
    private extractRange;
    private constructLitePaginatorOptions;
    private adjustPaginatorWidth;
    toggleMenu(force?: boolean): void;
    private closeMenu;
    private unsubscribeLoseFocusHandler;
    ngOnDestroy(): void;
    private subscribeLoseFocusHandler;
}
