import { EventEmitter } from '@angular/core';
export declare const LEAST_FETCHING_PERCENT: number;
export interface DataSpan {
    start: number;
    end: number;
}
export declare class PageData {
    pageSizeOpts: any;
    start: number;
    end: number;
    delAware: boolean;
    autoStart: boolean;
    totalPage: number;
    hasTotalInited: boolean;
    pageNos: number[];
    allPageNos: number[];
    lacks: DataSpan;
    list: any[];
    doRenewList: boolean;
    pageSize: number;
    curPage: number;
    total: number;
    private cache;
    private _pageSize;
    private _curPage;
    private _total;
    private changeDetectionRef;
    private pageChange;
    private pageSizeChange;
    private listChange;
    private leastFetch;
    private deleting;
    private realEnd;
    constructor(option?: any);
    init(): void;
    goto(pageNo: any): void;
    goFirstPage(): void;
    goLastPage(): void;
    goPrevPage(): void;
    goNextPage(): void;
    listChanged(): void;
    isLastPage(): boolean;
    updatePageNos(noTrigger?: boolean): void;
    setChangeDetector(changeDetectionRef: any): void;
    setPageChanger(pageChange: EventEmitter<any>): void;
    setPageSizeChanger(pageSizeChange: EventEmitter<any>): void;
    setListChanger(listChange: EventEmitter<any>): void;
    hasData(): boolean;
    addToList(rows: any, start?: number): void;
    prepend(arr: any[]): void;
    append(arr: any[]): void;
    delFromList(opt: any): void;
    getList(startEnd?: DataSpan): any[];
    reset(): void;
    private updateList();
    private updatePageCount();
    private checkEnd(end);
    private detectChanges();
}
