import { type Pagination, type Summary } from '@coveo/headless/commerce';
import { LitElement } from 'lit';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface.js';
import type { InitializableComponent } from '../../../decorators/types.js';
/**
 * The `atomic-commerce-products-per-page` component lets the end user select how many products to display per page.
 *
 * @part label - The "Products per page" label.
 * @part buttons - The list of buttons.
 * @part button - The individual products per page buttons.
 * @part active-button - The active products per page button.
 */
export declare class AtomicCommerceProductsPerPage extends LitElement implements InitializableComponent<CommerceBindings> {
    bindings: CommerceBindings;
    pagination: Pagination;
    private paginationState;
    summary: Summary;
    private summaryState;
    error: Error;
    private isAppLoaded;
    private choices;
    private readonly radioGroupName;
    /**
     * A list of choices for the number of products to display per page, separated by commas.
     */
    choicesDisplayed: string;
    /**
     * The initial selection for the number of product per page. This should be part of the `choicesDisplayed` option. By default, this is set to the first value in `choicesDisplayed`.
     * @type {number}
     */
    initialChoice?: number;
    initialize(): void;
    private scrollToTopEvent;
    private get label();
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-commerce-products-per-page': AtomicCommerceProductsPerPage;
    }
}
