import type { CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js';
import { type SearchBox as CoreSearchBox, type SearchBoxState, type Suggestion } from '../../core/search-box/headless-core-search-box.js';
import { type SearchBoxOptions } from './headless-search-box-options.js';
export type { CoreSearchBox, SearchBoxOptions, SearchBoxState, Suggestion };
export interface SearchBoxProps {
    /**
     * The `SearchBox` controller options.
     */
    options?: SearchBoxOptions;
}
/**
 * The `SearchBox` headless controller offers a high-level interface for designing a common search box UI component
 * with [highlighting for query suggestions](https://docs.coveo.com/en/headless/latest/usage/highlighting/).
 *
 * @group Buildable controllers
 * @category SearchBox
 */
export type SearchBox = Omit<CoreSearchBox, 'submit'> & {
    /**
     * Triggers a commerce search query.
     */
    submit(): void;
};
/**
 * Creates a `SearchBox` controller instance.
 *
 * @param engine - The commerce headless engine.
 * @param props - The configurable `SearchBox` properties.
 * @returns A `SearchBox` controller instance.
 *
 * @group Buildable controllers
 * @category SearchBox
 */
export declare function buildSearchBox(engine: CommerceEngine, props?: SearchBoxProps): SearchBox;
