import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
import { BalBreakpointObserver, BalBreakpoints } from '../../utils/breakpoints';
import { BalConfigState, BalLanguage } from '../../utils/config';
export declare class Pagination implements ComponentInterface, BalBreakpointObserver {
    el: HTMLBalPaginationElement;
    _value: number;
    isMobile: boolean;
    language: BalLanguage;
    /**
     * Align the buttons to start, center or end
     */
    align: BalProps.BalPaginationAlignment;
    /**
     * Size of the buttons
     */
    size: BalProps.BalPaginationSize;
    /**
     * Defines the layout of the pagination
     */
    interface: BalProps.BalPaginationInterface;
    /**
     * Disables component
     */
    disabled: boolean;
    /**
     * Current selected page
     */
    value: number;
    valueChanged(newValue: number): void;
    /**
     * The total amount of pages
     */
    totalPages: number;
    /**
     * Specify the max visible pages before and after the selected page
     */
    pageRange: number;
    /**
     * If 'true, the pagination will be sticky to the top
     */
    sticky: boolean;
    /**
     * If sticky, the top position will be determined by this value
     */
    top: number;
    topValueChanged(newValue: number): void;
    /**
     * Triggers when a page change happens
     */
    balChangeEventEmitter: EventEmitter<BalEvents.BalPaginationChangeDetail>;
    componentWillLoad(): void;
    breakpointListener(breakpoints: BalBreakpoints): void;
    /**
     * Go to the next page
     */
    next(): Promise<void>;
    /**
     * Go to the previous page
     */
    previous(): Promise<void>;
    /**
     * @internal define config for the component
     */
    configChanged(state: BalConfigState): Promise<void>;
    selectPage(pageNumber: number): void;
    private getItems;
    renderEllipsisElement(): any;
    renderPageElement(pageNumber: number): any;
    render(): any;
}
