import { type ProductListing, type ProductListingState, type Search, type SearchState, type Sort, type SortState } from '@coveo/headless/commerce';
import { LitElement } from 'lit';
import type { InitializableComponent } from '../../../decorators/types';
import type { CommerceBindings } from '../atomic-commerce-interface/atomic-commerce-interface';
/**
 * The `atomic-commerce-sort-dropdown` component renders a dropdown that the end user can interact with to select the criteria to use when sorting products.
 *
 * @part label - The "Sort by" label of the `<select>` element.
 * @part select-parent - The `<select>` element parent.
 * @part select - The `<select>` element of the dropdown list.
 * @part select-separator - The element separating the select from the icon.
 * @part placeholder - The dropdown placeholder for while the interface is initializing.
 */
export declare class AtomicCommerceSortDropdown extends LitElement implements InitializableComponent<CommerceBindings> {
    bindings: CommerceBindings;
    private readonly dropdownId;
    sort: Sort;
    sortState: SortState;
    searchOrListing: Search | ProductListing;
    searchOrListingState?: SearchState | ProductListingState;
    error: Error;
    initialize(): void;
    private select;
    private sortLabelTemplate;
    private sortSelectTemplate;
    render(): import("lit-html").TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-commerce-sort-dropdown': AtomicCommerceSortDropdown;
    }
}
