import { type SearchBox as InsightSearchBox } from '@coveo/headless/insight';
import { LitElement, type TemplateResult } from 'lit';
import type { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
import type { InitializableComponent } from '../../../decorators/types';
import '../../common/atomic-icon/atomic-icon';
import '@coveo/atomic-legacy/atomic-suggestion-renderer';
/**
 * The `atomic-insight-search-box` component allows users to enter and submit search queries within the Insight interface.
 * It provides query suggestions as the user types.
 *
 * @part wrapper - The wrapper around the entire search box.
 * @part submit-icon - The search icon displayed in the search box.
 * @part textarea - The text area where users enter their search queries.
 * @part textarea-expander - The container that allows the textarea to expand.
 * @part clear-button-wrapper - The wrapper for the clear button.
 * @part clear-icon - The icon in the clear button.
 * @part suggestions-wrapper - The wrapper around the suggestions panel.
 * @part suggestions - The container for the suggestions.
 */
export declare class AtomicInsightSearchBox extends LitElement implements InitializableComponent<InsightBindings> {
    static shadowRootOptions: {
        delegatesFocus: boolean;
        clonable?: boolean;
        customElementRegistry?: CustomElementRegistry | null;
        mode: ShadowRootMode;
        serializable?: boolean;
        slotAssignment?: SlotAssignmentMode;
    };
    static styles: import("lit").CSSResult;
    bindings: InsightBindings;
    error: Error;
    searchBox: InsightSearchBox;
    private searchBoxState;
    private isExpanded;
    /**
     * Whether to prevent the user from triggering a search from the component.
     * Perfect for use cases where you need to disable the search conditionally, like when the input is empty.
     */
    disableSearch: boolean;
    /**
     * The number of query suggestions to display when interacting with the search box.
     */
    numberOfSuggestions: number;
    private searchBoxId;
    private textAreaRef;
    private suggestionManager;
    private searchBoxAriaMessage;
    private suggestionsAriaMessage;
    initialize(): void;
    private onSubmit;
    private onKeyDown;
    private triggerTextAreaChange;
    private renderSuggestion;
    private renderSuggestionItem;
    private renderPanel;
    private renderSuggestions;
    private getSearchInputLabel;
    private onFocus;
    private onInput;
    private announceNewActiveSuggestionToScreenReader;
    private announceNewSuggestionsToScreenReader;
    render(): TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'atomic-insight-search-box': AtomicInsightSearchBox;
    }
}
