import { type Pagination, type PaginationState, type ProductListing, type Search } from '@coveo/headless/commerce';
import { LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import { AriaLiveRegionController } from '../../../utils/accessibility-utils';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
/**
 * The `atomic-commerce-pager` component enables users to navigate through paginated products.
 *
 * @part buttons - The list of all buttons rendered by the component.
 * @part page-buttons - The list of all 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 "previous page" button icon.
 * @part next-button-icon - The "next page" button icon.
 *
 * @event atomic/scrollToTop - Emitted when the user clicks the next or previous button, or a page button.
 */
export declare class AtomicCommercePager extends LitElement implements InitializableComponent<CommerceBindings> {
    private static readonly propsSchema;
    bindings: CommerceBindings;
    error: Error;
    private isAppLoaded;
    pager: Pagination;
    listingOrSearch: ProductListing | Search;
    pagerState: PaginationState;
    /**
     * The maximum number of page buttons to display.
     */
    numberOfPages: number;
    /**
     * The SVG icon to use to display the Previous 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 use to display the Next 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-commerce-pager': AtomicCommercePager;
    }
}
