import Component from '@glimmer/component';
export type PageClickHandler = (pageIndex: number) => void;
export type SafeClickHandler = (pageIndex: number) => void;
interface Args {
    /**
     * The total number of pages.
     */
    pageCount?: number;
    /**
     * The current page using a zero based index.
     * So if you set the activePage to 1, it will activate the second page.
     */
    activePage?: number;
    onPageClick?: PageClickHandler;
    /**
     * If true, will only show next/prev arrows instead of page numbers.
     */
    compressed?: boolean;
    /**
     * If passed in, passes value through to each button to set aria-controls
     */
    'aria-controls'?: string;
    ariaControls?: string;
}
export interface EuiPaginationSignature {
    Element: HTMLElement;
    Args: Args;
}
export default class EuiPaginationComponent extends Component<EuiPaginationSignature> {
    get pageCount(): number;
    get activePage(): number;
    get ariaControls(): string | undefined;
    get hasControl(): boolean;
    get pages(): {
        pageIndex: number;
    }[];
    get firstPageButtons(): ({
        pageIndex: number;
        i18n?: undefined;
    } | {
        i18n: {
            key: string;
            token: string;
            default: string;
            values: {
                lastPage: number;
            };
        };
        pageIndex?: undefined;
    })[];
    get lastPageButtons(): ({
        pageIndex: number;
        i18n?: undefined;
    } | {
        i18n: {
            key: string;
            token: string;
            default: string;
            values: {
                firstPage: number;
                lastPage: number;
            };
        };
        pageIndex?: undefined;
    })[];
    get sharedButtonProps(): {
        activePage: number;
        pageCount: number;
        ariaControls: string | undefined;
        safeClick: SafeClickHandler;
    };
    get prevPageButtonProps(): {};
    get nextPageButtonProps(): {};
    safeClick: SafeClickHandler;
    get firstPageInRange(): number;
    get lastPageInRange(): number;
}
export {};
//# sourceMappingURL=eui-pagination.d.ts.map