import { GlobalLoaderService } from '../../../resources/global-loader/global-loader-service';
import * as breeze from 'breeze-client';
import { ServiceBase } from '../../../data/service-base';
export declare class UiTablePagination {
    private globalLoaderService;
    rowClassComputedFrom: string | string[];
    rowClass: string | ((record: KeyValue, isDesktopScreen: boolean) => string);
    onRowClicked: (obj: {
        record: KeyValue;
    }) => void;
    service: ServiceBase<breeze.Entity>;
    afterLoad: (datas: KeyValue[]) => Promise<void>;
    sortBy: string;
    sortByDescending: boolean;
    nbRecordPerPage: number;
    nbPagesToShow: number;
    defaultSortProperty?: string;
    defaultSortOrder?: "asc" | "desc";
    filter: (record: KeyValue) => boolean;
    protected dragDropFunction: (obj: {
        record: KeyValue;
        oldVal: number;
        newVal: number;
    }) => void | Promise<void> | boolean | Promise<boolean>;
    protected showCounter: boolean;
    checkable: boolean;
    selected: KeyValue[];
    nbSelectedMax: number;
    designWithBorder: boolean;
    compact: boolean;
    rowRoute: (obj: {
        record: KeyValue;
    }) => string;
    cellAlign: "start" | "center" | "end";
    headerAlign: "start" | "center" | "end";
    onRowSelected: (obj: object) => boolean;
    private datas;
    private dataToShow;
    private currentPage;
    private totalPages;
    private disposables;
    private columns;
    private customColumns;
    private pageLoaded;
    private forceReload;
    private nbDatas;
    constructor(globalLoaderService: GlobalLoaderService);
    bind(): Promise<void>;
    private computeTotalPages;
    unbind(): void;
    private isLoading;
    private loadData;
    private setData;
    refresh(): Promise<void>;
    columnsChanged(): void;
    currentPageChanged(newValue: any, oldValue: any): Promise<void>;
    goToLastPage(): void;
}
