import { type Pager, type PagerState, type SearchStatus, type SearchStatusState } from '@coveo/headless';
import { LitElement } from 'lit';
import type { Bindings } from '../atomic-search-interface/interfaces';
import type { InitializableComponent } from '../../../decorators/types';
import { AriaLiveRegionController } from '../../../utils/accessibility-utils';
declare const AtomicPager_base: typeof LitElement;
/**
 * The `atomic-pager` provides buttons that allow the end user to navigate through the different result pages.
 *
 * @part buttons - The list of the next/previous buttons and page-buttons.
 * @part page-buttons - The list of page buttons.
 * @part page-button - The individual page buttons.
 * @part active-page-button - The active page button.
 * @part previous-button - The previous page button.
 * @part next-button - The next page button.
 * @part previous-button-icon - The icon displayed on the "previous page" button.
 * @part next-button-icon - The icon displayed on the "next page" button.
 *
 * @event atomic/scrollToTop - Emitted when the user clicks any of the buttons rendered by the component.
 */
export declare class AtomicPager extends AtomicPager_base implements InitializableComponent<Bindings> {
    private static readonly propsSchema;
    bindings: Bindings;
    error: Error;
    private isAppLoaded;
    pager: Pager;
    searchStatus: SearchStatus;
    pagerState: PagerState;
    searchStatusState: SearchStatusState;
    /**
     * The maximum number of page buttons to display in the pager.
     */
    numberOfPages: number;
    /**
     * The SVG icon to render on the "previous page" button.
     *
     * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
     * - Use a value that starts with `assets://`, to display an icon from the Atomic package.
     * - Use a stringified SVG to display it directly.
     */
    previousButtonIcon: string;
    /**
     * The SVG icon to render on the "next page" button.
     *
     * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.
     * - Use a value that starts with `assets://`, to display an icon from the Atomic package.
     * - Use a stringified SVG to display it directly.
     */
    nextButtonIcon: string;
    protected ariaMessage: AriaLiveRegionController;
    private radioGroupName;
    private previousButton;
    private nextButton;
    constructor();
    initialize(): void;
    render(): import("lit-html").TemplateResult<1>;
    private initFocusTargets;
    private handleFocus;
    private focusOnFirstResultAndScrollToTop;
    private announcePageLoaded;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-pager': AtomicPager;
    }
}
export {};
