import { type Context, type ContextState, type NumericFacet, type NumericFacetState, type ProductListingSummaryState, type SearchSummaryState, type Summary } from '@coveo/headless/commerce';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import '../atomic-commerce-facet-number-input/atomic-commerce-facet-number-input';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
/**
 * The `atomic-commerce-numeric-facet` component renders a commerce facet that allows the user to filter products using numeric ranges.
 *
 * @part facet - The wrapper around the entire facet.
 * @part label-button - The clickable label button that toggles facet visibility.
 * @part label-button-icon - The icon displayed in the label button (expand/collapse arrow).
 * @part clear-button - The button to clear all selected facet values.
 * @part clear-button-icon - The icon displayed in the clear button.
 * @part values - The list container for all facet values.
 * @part value-label - The text label for individual facet values.
 * @part value-count - The count indicator showing the number of products for each value.
 * @part value-checkbox-label - The label associated with facet value checkboxes.
 * @part value-exclude-button - The button to exclude specific facet values.
 * @part input-form - The form container for numeric range inputs.
 * @part label-start - The label for the minimum value input field.
 * @part input-start - The input field to enter the minimum numeric value.
 * @part label-end - The label for the maximum value input field.
 * @part input-end - The input field to enter the maximum numeric value.
 * @part input-apply-button - The button to apply custom numeric range values.
 */
export declare class AtomicCommerceNumericFacet extends LitElement implements InitializableComponent<CommerceBindings> {
    /**
     * The Summary controller instance.
     */
    summary: Summary<SearchSummaryState | ProductListingSummaryState>;
    /**
     * The facet controller instance.
     */
    facet: NumericFacet;
    /**
     * Whether the facet is collapsed.
     */
    isCollapsed: boolean;
    /**
     * The field identifier for this facet.
     */
    field?: string;
    context: Context;
    bindings: CommerceBindings;
    facetState: NumericFacetState;
    summaryState: SearchSummaryState | ProductListingSummaryState;
    contextState: ContextState;
    error: Error;
    private headerFocus;
    private unsubscribeFacetController?;
    static styles: CSSResultGroup;
    initialize(): void;
    disconnectedCallback(): void;
    updated(changedProps: Map<string, unknown>): void;
    private get formatter();
    private get focusTarget();
    private get displayName();
    private get numberOfSelectedValues();
    private get hasInputRange();
    private get shouldRenderValues();
    private get valuesToRender();
    private get shouldRenderInput();
    private get shouldRenderFacet();
    private ensureSubscribed;
    private renderValues;
    private onNumberInputApply;
    protected render(): import("lit-html").TemplateResult<1>;
    private validateFacet;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-commerce-numeric-facet': AtomicCommerceNumericFacet;
    }
}
