import type { Result } from '../../../api/search/search/result.js';
import type { RecommendationEngine } from '../../../app/recommendation-engine/recommendation-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 RecommendationInteractiveResultOptions extends InteractiveResultCoreOptions {
    /**
     * The query result.
     */
    result: Result;
}
export interface RecommendationInteractiveResultProps extends InteractiveResultCoreProps {
    /**
     * The options for the `InteractiveResult` controller.
     */
    options: RecommendationInteractiveResultOptions;
}
/**
 * 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 recommendation `InteractiveResult` controller instance.
 *
 * @param engine - The recommendation engine.
 * @param props - The configurable `InteractiveResult` properties.
 * @returns An `InteractiveResult` controller instance.
 *
 * @group Controllers
 * @category InteractiveResult
 */
export declare function buildInteractiveResult(engine: RecommendationEngine, props: RecommendationInteractiveResultProps): InteractiveResult;
