import { EventEmitter, OnInit } from '@angular/core';
import { PageEvent } from '@angular/material/paginator';
import { TranslateLibraryService } from "../../services/translation-registry.service";
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export interface QMSPaginationOption {
    pageSize?: number;
    pageSizeOptions?: number[];
    length: number;
}
export declare enum PaginationSize {
    small = "small",
    medium = "medium",
    large = "large",
    mobile = "mobile"
}
export declare class QMSPaginatorComponent implements OnInit {
    private trans;
    sizeMedium: string;
    sizeSmall: string;
    sizeLarge: string;
    sizeMobile: string;
    LANG: any;
    numHidden: number;
    size: string;
    get pageSizeOptions(): number[];
    set pageSizeOptions(value: number[]);
    private _pageSizeOptions;
    get pageSize(): number;
    set pageSize(value: number);
    private _pageSize;
    get length(): number;
    set length(value: number);
    private _length;
    get pageIndex(): number;
    set pageIndex(value: number);
    _pageIndex: number;
    readonly page: EventEmitter<PageEvent>;
    previousPageIndex?: number;
    numberOfPages: number[];
    displayNumberOfPages: string[];
    minPage: number;
    maxpage: number;
    isFirstLoad: boolean;
    ngUnsubscribe: Subject<void>;
    private _overlayPanelClass;
    set overlayClass(value: string | string[]);
    get overlayClass(): string[] | string;
    constructor(trans: TranslateLibraryService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private _updateDisplayedPageSizeOptions;
    getNumberOfPages(): void;
    renderDisplayNumberOfpages(): void;
    changePage(page: number): void;
    pagination(c: any, m: any): any[];
    nextPage(): void;
    previousPage(): void;
    _changePageSize(pageSize: number): void;
    _changePageNumber(pageNumber: number): void;
    private _emitPageEvent;
    ngAfterViewChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QMSPaginatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QMSPaginatorComponent, "qms-paginator", never, { "numHidden": { "alias": "numHidden"; "required": false; }; "size": { "alias": "size"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "length": { "alias": "length"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "overlayClass": { "alias": "overlayPanelClass"; "required": false; }; }, { "page": "page"; }, never, never, false, never>;
}
