import { EventEmitter } from '../../stencil-public-runtime';
import { LANGUAGE_TYPES } from "../../managers/language/constants";
import { PAGINATION_BREAK_POINTS, PAGINATION_DISPLAY_TYPES } from "../../utils/enums";
/**
 * pos right ?
 * faire les tests
 * Revoir le CSS
 */
export declare class SlPagination {
    el: HTMLSlPaginationElement;
    private invokePageNumberChangedCallback;
    totalCount: number;
    pageCount: number;
    siblingCount: number;
    boundaryCount: number;
    /** Adapt look and feel sl pagination */
    type: PAGINATION_DISPLAY_TYPES | `${PAGINATION_DISPLAY_TYPES}`;
    /** Callback when user click on page function */
    pageNumberChangedCallback?: (event: globalThis.Event, pageNumber: number) => void;
    initPage: number;
    /** Breaking point to display in two row for extended type */
    breakPoint: PAGINATION_BREAK_POINTS | `${PAGINATION_BREAK_POINTS}`;
    /** Internal language coming from lang html attribute */
    language: LANGUAGE_TYPES;
    /** Internal current page */
    currentPage: number;
    /** Callback when user click on page function */
    pageNumberChanged: EventEmitter<number>;
    onFunctionCallbackChange(): void;
    onInitPageChange(): void;
    resetPage(): Promise<void>;
    constructor();
    private initCurrentPage;
    private setInvokePageNumberChangedCallback;
    private handlePageChanged;
    /**
     * Get class to define correct length size for information
     * @param allPages total of pages
     * @returns class
     */
    private getClassForNumberOfPage;
    render(): any;
}
