import { type RangeFacetSortCriterion, type SearchStatus, type SearchStatusState } from '@coveo/headless/insight';
import { type CSSResultGroup, LitElement } from 'lit';
import type { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
import type { InitializableComponent } from '../../../decorators/types';
/**
 * The `atomic-insight-timeframe-facet` component displays a facet of results for the current query as date intervals.
 *
 * @slot default - The atomic-timeframe components defining the timeframes to display.
 *
 * @part facet - The wrapper for the entire facet.
 * @part placeholder - The placeholder shown before the first search is executed.
 * @part label-button - The button that displays the label and allows to expand/collapse the facet.
 * @part label-button-icon - The label button icon.
 * @part clear-button - The button that resets the actively selected facet values.
 * @part clear-button-icon - The clear button icon.
 * @part values - The facet values container.
 * @part value-link - A facet value button.
 * @part value-link-selected - A selected facet value button.
 * @part value-count - The result count for a facet value.
 * @part value-label - The label text of a facet value.
 * @part input-start - The starting value of the custom date range.
 * @part input-end - The ending value of the custom date range.
 * @part input-label - The label for both the start and end input.
 * @part input-apply-button - The apply button for the custom range.
 */
export declare class AtomicInsightTimeframeFacet extends LitElement implements InitializableComponent<InsightBindings> {
    private static readonly propsSchema;
    static styles: CSSResultGroup;
    /**
     * The non-localized label for the facet.
     * Used in the atomic-breadbox component through the bindings store.
     */
    label: string;
    /**
     * The field whose values you want to display in the facet.
     */
    field: string;
    /**
     * Whether this facet should contain a datepicker allowing users to set custom ranges.
     */
    withDatePicker: boolean;
    /**
     * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.
     */
    isCollapsed: boolean;
    /**
     * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.
     */
    headingLevel: number;
    /**
     * Whether to exclude the parents of folded results when estimating the result count for each facet value.
     *
     * Note: Resulting count is only an estimation, in some cases this value could be incorrect.
     */
    filterFacetCount: boolean;
    /**
     * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.
     * Note: A high injectionDepth may negatively impact the facet request performance.
     * Minimum: `0`
     * Default: `1000`
     */
    injectionDepth: number;
    /**
     * The required facets and values for this facet to be displayed.
     * Examples:
     * ```html
     * <atomic-insight-facet facet-id="abc" field="objecttype" ...></atomic-insight-facet>
     *
     * <!-- To show the facet when any value is selected in the facet with id "abc": -->
     * <atomic-insight-timeframe-facet
     *   depends-on-abc
     *   ...
     * ></atomic-insight-timeframe-facet>
     *
     * <!-- To show the facet when value "doc" is selected in the facet with id "abc": -->
     * <atomic-insight-timeframe-facet
     *   depends-on-abc="doc"
     *   ...
     * ></atomic-insight-timeframe-facet>
     * ```
     */
    dependsOn: Record<string, string>;
    /**
     * The sort criterion to apply to the returned facet values.
     * Possible values are 'ascending' and 'descending'.
     */
    sortCriteria: RangeFacetSortCriterion;
    /**
     * Specifies a unique identifier for the facet.
     */
    facetId?: string;
    bindings: InsightBindings;
    error: Error;
    searchStatusState: SearchStatusState;
    searchStatus: SearchStatus;
    private headerFocus?;
    private timeframeFacetCommon?;
    constructor();
    private get focusTarget();
    initialize(): void;
    disconnectedCallback(): void;
    private initializeFacetForDatePicker;
    private initializeFacetForDateRange;
    private initializeFilter;
    private handleDateInputApply;
    protected render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-insight-timeframe-facet': AtomicInsightTimeframeFacet;
    }
}
