import { Observable } from "rxjs/Observable";
import { StateDebouncer } from "./state-debouncer.provider";
export declare class Page {
    private stateDebouncer;
    constructor(stateDebouncer: StateDebouncer);
    /**
     * Page size, a value of 0 means no pagination
     */
    private _size;
    size: number;
    /**
     * Total items (needed to guess the last page)
     */
    private _totalItems;
    totalItems: number;
    /**
     * Last page
     */
    private _last;
    last: number;
    /**
     * The Observable that lets other classes subscribe to page changes
     */
    private _change;
    readonly change: Observable<number>;
    private _sizeChange;
    readonly sizeChange: Observable<number>;
    /**
     * Current page
     */
    private _current;
    current: number;
    /**
     * Moves to the previous page if it exists
     */
    previous(): void;
    /**
     * Moves to the next page if it exists
     */
    next(): void;
    /**
     * Index of the first item displayed on the current page, starting at 0
     */
    readonly firstItem: number;
    /**
     * Index of the last item displayed on the current page, starting at 0
     */
    readonly lastItem: number;
}
