import type { Result } from '../../api/search/search/result.js';
import type { SearchEngine } from '../../app/search-engine/search-engine.js';
import { type InteractiveResultCore, type InteractiveResultCoreOptions, type InteractiveResultCoreProps } from '../core/interactive-result/headless-core-interactive-result.js';
export interface InteractiveResultOptions extends InteractiveResultCoreOptions {
    /**
     * The query result.
     */
    result: Result;
}
export interface InteractiveResultProps extends InteractiveResultCoreProps {
    /**
     * The options for the `InteractiveResult` controller.
     * */
    options: InteractiveResultOptions;
}
/**
 * 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.
 *
 * Example: [result-link.tsx](https://github.com/coveo/ui-kit/blob/main/packages/samples/headless-react/src/components/result-list/result-link.tsx)
 *
 * @group Controllers
 * @category InteractiveResult
 */
export interface InteractiveResult extends InteractiveResultCore {
}
/**
 * Creates an `InteractiveResult` controller instance.
 *
 * @param engine - The headless engine.
 * @param props - The configurable `InteractiveResult` properties.
 * @returns An `InteractiveResult` controller instance.
 *
 * @group Controllers
 * @category InteractiveResult
 */
export declare function buildInteractiveResult(engine: SearchEngine, props: InteractiveResultProps): InteractiveResult;
