/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { IPaginatorChangeEventData, PaginatorRangeLabelBuilder } from './paginator-constants';
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
export interface IPaginatorComponent extends IBaseComponent {
    pageIndex: number;
    pageSize: number;
    offset: number;
    total: number;
    pageSizeOptions: number[];
    label: string;
    firstLast: boolean;
    first: boolean;
    disabled: boolean;
    alternative: boolean;
    rangeLabelCallback: PaginatorRangeLabelBuilder;
}
declare global {
    interface HTMLElementTagNameMap {
        'forge-paginator': IPaginatorComponent;
    }
    interface HTMLElementEventMap {
        'forge-paginator-change': CustomEvent<IPaginatorChangeEventData>;
    }
}
/**
 * @tag forge-paginator
 */
export declare class PaginatorComponent extends BaseComponent implements IPaginatorComponent {
    static get observedAttributes(): string[];
    private _foundation;
    constructor();
    connectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /** The zero-based page index. Default is 0. */
    pageIndex: number;
    /** Number of items to display on a page. By default set to 25. */
    pageSize: number;
    /** Sets page index by providing the number of items to skip. The getter for this property returns the number of items to skip. */
    offset: number;
    /** The total number of items to be paginated. Default is 0. */
    total: number;
    /** The set of provided page size options to display to the user. */
    pageSizeOptions: number[];
    /** A label for the paginator. Default is "Rows per page:". */
    label: string;
    /** Whether to show the first page and last page buttons. Default is false. */
    firstLast: boolean;
    /** Whether to show the first page button. Default is false. */
    first: boolean;
    /** Whether the paginator is disabled. Default is false. */
    disabled: boolean;
    alternative: boolean;
    rangeLabelCallback: PaginatorRangeLabelBuilder;
    focus(options?: FocusOptions): void;
}
