import type { InsightEngine } from '../../../app/insight-engine/insight-engine.js'; import type { InlineLink } from '../../smart-snippet/headless-smart-snippet-interactive-inline-links.js'; interface SmartSnippetInteractiveInlineLinksOptions { /** * The amount of time to wait before selecting the result after calling `beginDelayedSelect`. * * @defaultValue `1000` */ selectionDelay?: number; } interface SmartSnippetInteractiveInlineLinksProps { /** * The options for the result controller core. */ options?: SmartSnippetInteractiveInlineLinksOptions; } interface SmartSnippetInteractiveInlineLinks { /** * Selects the result, logging a UA event to the Coveo Platform if the result wasn't selected before. * * In a DOM context, it's recommended to call this method on all of the following events: * * * `contextmenu` * * `click` * * `mouseup` * * `mousedown` */ selectInlineLink(link: InlineLink, questionAnswerId?: string): void; /** * Prepares to select the result after a certain delay, sending analytics if it was never selected before. * * In a DOM context, it's recommended to call this method on the `touchstart` event. */ beginDelayedSelectInlineLink(link: InlineLink, questionAnswerId?: string): void; /** * Cancels the pending selection caused by `beginDelayedSelect`. * * In a DOM context, it's recommended to call this method on the `touchend` event. */ cancelPendingSelectInlineLink(link: InlineLink, questionAnswerId?: string): void; } /** * Creates the insight result controller for SmartSnippet. * * @param engine - The headless insight engine. * @param props - The configurable controller properties. * @param action - The action to be triggered on select. * @returns A controller instance. * * @group Controllers * @category SmartSnippetInteractiveInlineLinks */ export declare function buildSmartSnippetInteractiveInlineLinks(engine: InsightEngine, props?: SmartSnippetInteractiveInlineLinksProps): SmartSnippetInteractiveInlineLinks; export {};