import { OnInit, OnDestroy, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { PaginationEvent } from '../models/pagination-event.model';
import * as i0 from "@angular/core";
export declare class EuiTablePaginatorComponent implements OnInit, OnDestroy, OnChanges {
    pageSizeOptions: number[];
    pageSize: number;
    page: number;
    length: number;
    get hasPageNumberNavigation(): boolean;
    set hasPageNumberNavigation(value: boolean);
    _hasPageNumberNavigation: boolean;
    nbPageNumberNavigation: number;
    get isHidden(): boolean;
    set isHidden(value: boolean);
    _isHidden: boolean;
    pageChange: EventEmitter<PaginationEvent>;
    page$: BehaviorSubject<PaginationEvent>;
    length$: BehaviorSubject<number>;
    range: string;
    nbPage: number;
    private nbPageNumberNav;
    private destroy$;
    constructor();
    ngOnChanges(c: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    get pageNumberNavigation(): number[];
    changePageSize(size: number): void;
    goToPage(page: number): void;
    goFirstPage(): void;
    goPreviousPage(): void;
    goNextPage(): void;
    goLastPage(): void;
    setPage(page: PaginationEvent): void;
    setLength(length: number): void;
    getRange(): void;
    /**
     * Change the pagination to the given page number
     * @param page 0-based page number to be displayed
     */
    getPage(page: number): void;
    static ɵfac: i0.ɵɵFactoryDef<EuiTablePaginatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<EuiTablePaginatorComponent, "eui-table-paginator", never, { "pageSizeOptions": "pageSizeOptions"; "pageSize": "pageSize"; "page": "page"; "length": "length"; "hasPageNumberNavigation": "hasPageNumberNavigation"; "nbPageNumberNavigation": "nbPageNumberNavigation"; "isHidden": "isHidden"; }, { "pageChange": "pageChange"; }, never, never>;
}
