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 & { /** * 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;