import { LitElement } from 'lit';
import '../../common/atomic-component-error/atomic-component-error';
declare const AtomicSortExpression_base: import("../../../mixins/mixin-common").Constructor<{
    injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
}> & typeof LitElement;
/**
 * The `atomic-sort-expression` component defines a sort expression. This component must be inside an `atomic-sort-dropdown` component.
 */
export declare class AtomicSortExpression extends AtomicSortExpression_base {
    private static readonly propsSchema;
    /**
     * The non-localized label to display for this expression.
     */
    label: string;
    /**
     * One or more sort criteria that the end user can select or toggle between.
     *
     * The available sort criteria are:
     *
     * * `relevancy`
     * * `date ascending`/`date descending`
     * * `qre`
     * * `<FIELD> ascending`/`<FIELD> descending`, where you replace `<FIELD>` with the name of a sortable field in your index (`criteria="size ascending"`).
     *
     * You can specify multiple sort criteria to be used in the same request by separating them with a comma (`criteria="size ascending, date ascending"`).
     *
     * You can specify a list of comma-separated sort criteria which will be applied sequentially. For example, if there's a tie on the 1st criterion, the API uses the 2nd criterion to break the tie. However, this only works when combining:
     * * a relevancy criterion followed by one or more field or date criteria.
     * * a qre criterion followed by one or more field or date criteria.
     * * two or more field criteria (`<FIELD>` descending, `<FIELD>` descending).
     * * a single date criterion and one or more field criteria in any order (`<FIELD>` descending, date ascending).
     *
     * Examples:
     * * `relevancy`, `<FIELD> descending`
     * * `qre`, `<FIELD> ascending`
     * * `date descending`, `<FIELD> descending`, `<FIELD> ascending`
     */
    expression: string;
    /**
     * The tabs on which the sort expression can be displayed. This property should not be used at the same time as `tabs-excluded`.
     *
     * Set this property as a stringified JSON array, for example:
     * ```html
     *  <atomic-sort-expression tabs-included='["tabIDA", "tabIDB"]'></atomic-sort-expression>
     * ```
     * If you don't set this property, the sort expression can be displayed on any tab. Otherwise, the sort expression can only be displayed on the specified tabs.
     */
    tabsIncluded: string[];
    /**
     * The tabs on which the sort expression must not be displayed. This property should not be used at the same time as `tabs-included`.
     *
     * Set this property as a stringified JSON array, for example:
     * ```html
     *  <atomic-sort-expression tabs-excluded='["tabIDA", "tabIDB"]'></atomic-sort-expression>
     * ```
     * If you don't set this property, the sort expression can be displayed on any tab. Otherwise, the sort expression won't be displayed on any of the specified tabs.
     */
    tabsExcluded: string[];
    error: Error;
    constructor();
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-sort-expression': AtomicSortExpression;
    }
}
export {};
