import { EventEmitter, OnDestroy } from '@angular/core';
import { Size } from '@mintplayer/ng-bootstrap';
import { BehaviorSubject, Observable } from 'rxjs';
import { PageWithSelection } from '../../interfaces/page-with-selection';
import * as i0 from "@angular/core";
export declare class BsPaginationComponent implements OnDestroy {
    constructor();
    /** All page numbers. */
    pageNumbers$: BehaviorSubject<number[]>;
    /** Page numbers to be displayed to the user. */
    shownPageNumbers$: Observable<PageWithSelection[]>;
    /** Selected number. */
    selectedPageNumber$: BehaviorSubject<number>;
    /** Number of boxes. */
    numberOfBoxes$: BehaviorSubject<number>;
    /** Display previous/next arrows. */
    showArrows$: BehaviorSubject<boolean>;
    /** Page number size. */
    size$: BehaviorSubject<Size>;
    /** Indicates if first value is selected. */
    isFirstPage$: Observable<boolean>;
    /** Indicates if last value is selected. */
    isLastPage$: Observable<boolean>;
    /** The number of boxes (excluding arrows) that's being shown on the pagination component. */
    visibleNumberOfNumberBoxes$: Observable<number>;
    /** Indicates whether there are too many numbers to the left-hand side of the current page. */
    isLeftOverflow$: Observable<boolean>;
    /** Indicates whether there are too many numbers to the right-hand side of the current page. */
    isRightOverflow$: Observable<boolean>;
    /** Monitor OnDestroyed hook. */
    private destroyed$;
    selectedPageNumberChange: EventEmitter<number>;
    set selectedPageNumber(value: number);
    get selectedPageNumber(): number;
    set numberOfBoxes(value: number);
    get numberOfBoxes(): number;
    set pageNumbers(value: number[]);
    get pageNumbers(): number[];
    set showArrows(value: boolean);
    get showArrows(): boolean;
    set size(value: Size);
    get size(): Size;
    ngOnDestroy(): void;
    onSelectPage(event: MouseEvent, page: number): boolean;
    onPrevious(): boolean;
    onNext(): boolean;
    trackByPageNumber(index: number, page: PageWithSelection): PageWithSelection;
    static ɵfac: i0.ɵɵFactoryDeclaration<BsPaginationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BsPaginationComponent, "bs-pagination", never, { "selectedPageNumber": "selectedPageNumber"; "numberOfBoxes": "numberOfBoxes"; "pageNumbers": "pageNumbers"; "showArrows": "showArrows"; "size": "size"; }, { "selectedPageNumberChange": "selectedPageNumberChange"; }, never, never, false, never>;
}
