import { type DateFacet, type DateFacetState, type ProductListingSummaryState, type SearchSummaryState, type Summary } from '@coveo/headless/commerce';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import '../../common/atomic-facet-date-input/atomic-facet-date-input';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
/**
 * A facet is a list of values for a certain field occurring in the products.
 * An `atomic-commerce-timeframe-facet` displays a facet of the products for the current query as date intervals.
 *
 * @part facet - The wrapper for the entire facet.
 * @part label-button - The header button to expand/collapse the facet.
 * @part label-button-icon - The expand/collapse icon in the header.
 * @part clear-button - The button to clear all selected values.
 * @part clear-button-icon - The icon in the clear button.
 * @part values - The container for the facet values list.
 * @part value-link - A facet value button.
 * @part value-link-selected - A selected facet value button.
 * @part value-count - The product count for a facet value.
 * @part value-label - The label text of a facet value.
 * @part input-label - The label for date input fields.
 * @part input-start - The start date input field.
 * @part input-end - The end date input field.
 * @part input-apply-button - The button to apply date range selection.
 */
export declare class AtomicCommerceTimeframeFacet extends LitElement implements InitializableComponent<CommerceBindings> {
    static styles: CSSResultGroup;
    /**
     * The Summary controller instance.
     */
    summary: Summary<SearchSummaryState | ProductListingSummaryState>;
    /**
     * The date facet controller instance.
     */
    facet: DateFacet;
    /**
     * Whether the facet is collapsed.
     */
    isCollapsed: boolean;
    /**
     * The field identifier for this facet.
     */
    field?: string;
    bindings: CommerceBindings;
    error: Error;
    summaryState: SearchSummaryState | ProductListingSummaryState;
    facetState: DateFacetState;
    private inputRange?;
    private headerFocus?;
    private get displayName();
    private get focusTarget();
    initialize(): void;
    private applyDateInput;
    private get valuesToRender();
    private get shouldRenderValues();
    private get shouldRenderFacet();
    private get shouldRenderInput();
    private get numberOfSelectedValues();
    private get hasInputRange();
    private resetRange;
    private formatFacetValue;
    private renderValues;
    private renderValue;
    private renderValuesContainer;
    private renderHeader;
    private renderDateInput;
    protected render(): import("lit-html").TemplateResult<1>;
    updated(changedProps: Map<string, unknown>): void;
    private validateFacet;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-commerce-timeframe-facet': AtomicCommerceTimeframeFacet;
    }
}
