import { type BreadcrumbManager, type BreadcrumbManagerState, type FacetManager, type FacetManagerState, type QuerySummary, type QuerySummaryState, type SearchStatus, type Sort, type SortState, type TabManager, type TabManagerState } from '@coveo/headless';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { Bindings } from '../atomic-search-interface/atomic-search-interface';
import '../atomic-automatic-facet-generator/atomic-automatic-facet-generator';
/**
 * The `atomic-refine-modal` component is automatically created as a child of the `atomic-search-interface` when the `atomic-refine-toggle` is initialized.
 *
 * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body.
 *
 * @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 content - The wrapper around the content inside the body of the modal.
 * @part section-title - The title for each section.
 * @part section-sort-title - The title for the sort section.
 * @part section-filters-title - The title for the filters section.
 * @part select-wrapper - The wrapper around the select element, used to position the icon.
 * @part select - The `<select>` element of the dropdown list.
 * @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 filter-clear-all - The button that resets all actively selected facet values.
 * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.
 * @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 footer-wrapper - The wrapper with a shadow or background color around the footer.
 * @part footer - The footer of the modal.
 * @part header-ruler - The horizontal ruler underneath the header.
 * @part body-wrapper - The wrapper around the body.
 * @part body - The body of the modal, between the header and the footer.
 * @part header-wrapper - The wrapper around the header.
 * @part header - The header of the modal, containing the title.
 * @part container - The modal's outermost container.
 * @part backdrop - The transparent backdrop hiding the content behind the modal.
 *
 * @cssprop --atomic-refine-modal-facet-margin - The margin between facets in the refine modal. Default is `20px`.
 */
export declare class AtomicRefineModal extends LitElement implements InitializableComponent<Bindings> {
    static styles: CSSResultGroup;
    bindings: Bindings;
    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;
    sort: Sort;
    sortState: SortState;
    breadcrumbManager: BreadcrumbManager;
    breadcrumbManagerState: BreadcrumbManagerState;
    querySummary: QuerySummary;
    querySummaryState: QuerySummaryState;
    searchStatus: SearchStatus;
    facetManager: FacetManager;
    facetManagerState: FacetManagerState;
    tabManager: TabManager;
    tabManagerState: TabManagerState;
    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 getBoundInterfaces;
    private cloneFacets;
    private makeAutomaticFacetGenerator;
    private addFacetColumnStyling;
    private get options();
    private onSelectSortOption;
    private renderSortOption;
    private renderSort;
    private renderFilters;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-refine-modal': AtomicRefineModal;
    }
}
