import { type Facet as InsightFacet, type FacetSortCriterion as InsightFacetSortCriterion, type FacetState as InsightFacetState, type SearchStatus as InsightSearchStatus, type SearchStatusState as InsightSearchStatusState } from '@coveo/headless/insight';
import { LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
import '../../common/atomic-facet-placeholder/atomic-facet-placeholder';
/**
 * The `atomic-insight-facet` component displays a facet of the results for the current query in an Insight interface.
 * A facet is a list of values for a certain field occurring in the results, ordered using a configurable criteria (for example, number of occurrences).
 *
 * @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-label - The facet value label, common for all displays.
 * @part value-count - The facet value count, common for all displays.
 * @part value-checkbox - The facet value checkbox, available when display is 'checkbox'.
 * @part value-checkbox-checked - The checked facet value checkbox, available when display is 'checkbox'.
 * @part value-checkbox-label - The facet value checkbox clickable label, available when display is 'checkbox'.
 * @part value-checkbox-icon - The facet value checkbox icon, available when display is 'checkbox'.
 * @part value-link - The facet value when display is 'link'.
 * @part value-link-selected - The selected facet value when display is 'link'.
 * @part value-box - The facet value when display is 'box'.
 * @part value-box-selected - The selected facet value when display is 'box'.
 * @part value-exclude-button - The button to exclude a facet value, available when display is 'checkbox'.
 */
export declare class AtomicInsightFacet extends LitElement implements InitializableComponent<InsightBindings> {
    private static readonly propsSchema;
    static styles: import("lit").CSSResult[];
    /**
     * The non-localized label for the facet.
     */
    label: string;
    /**
     * The field whose values you want to display in the facet.
     */
    field: string;
    /**
     * The number of values to request for this facet.
     * Also determines the number of additional values to request each time more values are shown.
     */
    numberOfValues: number;
    /**
     * The sort criterion to apply to the returned facet values.
     * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', 'alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.
     */
    sortCriteria: InsightFacetSortCriterion;
    /**
     * Whether to display the facet values as checkboxes (multiple selection), links (single selection) or boxes (multiple selection).
     * Possible values are 'checkbox', 'link', and 'box'.
     */
    displayValuesAs: 'checkbox' | 'link' | 'box';
    /**
     * Specifies if the facet is collapsed.
     */
    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;
    /**
     * Whether to allow excluding values from the facet.
     */
    enableExclusion: boolean;
    /**
     * Specifies a unique identifier for the facet.
     */
    facetId?: string;
    bindings: InsightBindings;
    error: Error;
    facetState: InsightFacetState;
    searchStatusState: InsightSearchStatusState;
    facet: InsightFacet;
    searchStatus: InsightSearchStatus;
    dependsOn: {};
    private showLessFocus?;
    private showMoreFocus?;
    private headerFocus?;
    private facetConditionsManager?;
    private facetSearchAriaLiveController;
    constructor();
    initialize(): void;
    disconnectedCallback(): void;
    private get focusTargets();
    private shouldRenderFacet;
    render(): import("lit-html").TemplateResult<1>;
    private renderFacetHeader;
    private renderBody;
    private renderValuesContainer;
    private renderValues;
    private renderShowMoreLess;
    private get activeValues();
    private get facetValueProps();
    private initAriaLive;
    private initConditionManager;
    private initPopover;
    private get isHidden();
    private get facetInfo();
    private registerFacet;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-insight-facet': AtomicInsightFacet;
    }
}
