import { CSSResultGroup, LitElement, TemplateResult, PropertyValues } from "lit";
import "../button/bl-button";
import "../input/bl-input";
import "../select/bl-select";
/**
 * @tag bl-pagination
 * @summary Baklava Pagination component
 */
export default class BlPagination extends LitElement {
    static get styles(): CSSResultGroup;
    /**
     * Sets the current page
     */
    currentPage: number;
    /**
     * Sets the total items to be paginated
     */
    totalItems: number;
    /**
     * Sets the number of items per page
     */
    itemsPerPage: number;
    /**
     * Adds jumper element if provided as true
     */
    hasJumper: boolean;
    /**
     * Sets the jumper label
     */
    jumperLabel: string;
    /**
     *  Adds select element to choose the items per page
     */
    hasSelect: boolean;
    /**
     *  Adds select element to choose the items per page
     */
    selectLabel: string;
    /**
     * Sets the items per page options of the select element
     *  PROPERTY
     */
    itemsPerPageOptions: {
        text: string;
        value: number;
    }[];
    private pages;
    /**
     * Fires when the current page changes
     */
    private onChange;
    connectedCallback(): void;
    disconnectedCallback(): void;
    updated(changedProperties: PropertyValues<this>): void;
    private _paginate;
    private _changePage;
    private _pageBack;
    private _pageForward;
    private _getLastPage;
    private _inputHandler;
    private _selectHandler;
    private _renderSinglePage;
    private renderPages;
    render(): TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        "bl-pagination": BlPagination;
    }
}
//# sourceMappingURL=bl-pagination.d.ts.map