import type { Result } from '../../../api/search/search/result.js'; import type { InsightEngine } from '../../../app/insight-engine/insight-engine.js'; import { type InteractiveResultCore, type InteractiveResultCoreOptions, type InteractiveResultCoreProps } from '../../core/interactive-result/headless-core-interactive-result.js'; export type { InteractiveResultCore, InteractiveResultCoreOptions, InteractiveResultCoreProps, }; export interface InsightInteractiveResultOptions extends InteractiveResultCoreOptions { /** * The query result. */ result: Result; } export interface InsightInteractiveResultProps extends InteractiveResultCoreProps { /** * The options for the `InteractiveResult` controller. */ options: InsightInteractiveResultOptions; } /** * The `InteractiveResult` controller provides an interface for triggering desirable side effects, such as logging UA events to the Coveo Platform, when a user selects a query result. * * @group Controllers * @category InteractiveResult */ export interface InteractiveResult extends InteractiveResultCore { } /** * Creates an insight `InteractiveResult` controller instance. * * @param engine - The insight engine. * @param props - The configurable `InteractiveResult` properties. * @returns An `InteractiveResult` controller instance. * * @group Controllers * @category InteractiveResult */ export declare function buildInteractiveResult(engine: InsightEngine, props: InsightInteractiveResultProps): InteractiveResult;