import { type BreadcrumbManager, type BreadcrumbManagerState, type FacetGenerator, type FacetGeneratorState, type ProductListingSummaryState, type SearchSummaryState, type Sort, type SortState, type Summary } from '@coveo/headless/commerce';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
import '../atomic-commerce-facets/atomic-commerce-facets';
/**
 * The `atomic-commerce-refine-modal` is automatically created as a child of the `atomic-commerce-search-interface` when the `atomic-commerce-refine-toggle` is initialized.
 *
 * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body, allowing further customization.
 *
 * @part title - The title of the modal.
 * @part close-button - The button in the header that closes the modal.
 * @part close-icon - The icon of the close button.
 * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view the products.
 * @part footer-button - The button in the footer that closes the modal.
 * @part footer-button-text - The text inside the button in the footer that closes the modal.
 * @part footer-button-count - The count inside the button in the footer that closes the modal.
 * @part content - The wrapper around the content inside the body of the modal.
 * @part select - The `<select>` element of the dropdown list.
 * @part section-sort-title - The title for the sort section.
 * @part select-wrapper - The wrapper around the select element, used to position the icon.
 * @part select-icon-wrapper - The wrapper around the sort icon that's used to align it.
 * @part select-icon - The select dropdown's sort icon.
 * @part filter-section - The section containing facets and the "filters" title.
 * @part section-filters-title - The title for the filters section.
 * @part filter-clear-all - The button that resets all actively selected facet values.
 * @part section-title - The title for each section.
 */
export declare class AtomicCommerceRefineModal extends LitElement implements InitializableComponent<CommerceBindings> {
    static styles: CSSResultGroup;
    bindings: CommerceBindings;
    error: Error;
    /**
     * The element that opens the modal when clicked.
     */
    openButton?: HTMLElement;
    /**
     * Whether the modal is open.
     */
    isOpen: boolean;
    /**
     * The number of expanded facets inside the refine modal.
     * Remaining facets are automatically collapsed.
     *
     * Using the value `0` collapses all facets.
     */
    collapseFacetsAfter: number;
    summary: Summary;
    summaryState: SearchSummaryState | ProductListingSummaryState;
    sort: Sort;
    sortState: SortState;
    facetGenerator: FacetGenerator;
    facetGeneratorState: FacetGeneratorState;
    breadcrumbManager: BreadcrumbManager;
    breadcrumbManagerState: BreadcrumbManagerState;
    initialize(): void;
    watchEnabled(): void;
    /**
     * This method is necessary to ensure
     * that the facets slot is rendered outside of the component's shadow DOM, preserving
     * correct CSS inheritance and slot behavior. If this logic were placed in the render
     * function, the slot would be rendered inside the shadow DOM, which would break
     * expected CSS styling and slot distribution.
     */
    private createFacetSlot;
    private onSelectSortOption;
    private renderSort;
    private renderFilters;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-commerce-refine-modal': AtomicCommerceRefineModal;
    }
}
