import type { SearchEngine } from '../../app/search-engine/search-engine.js'; import type { FunctionExecutionTrigger } from '../../features/triggers/triggers-state.js'; import { type Controller } from '../controller/headless-controller.js'; /** * The `ExecuteTrigger` controller handles Execute triggers from the query response. An [Execute trigger](https://docs.coveo.com/en/3413#execute) query pipeline rule lets you define a custom JavaScript function to be executed in the frontend when a certain condition is met. * * Examples: * - [execute-trigger.tsx](https://github.com/coveo/ui-kit/blob/main/samples/headless/search-react/src/components/triggers/execute-trigger.tsx) * - [execute-trigger.class.tsx](https://github.com/coveo/ui-kit/blob/main/samples/headless/search-react/src/components/triggers/execute-trigger.class.tsx) * * @group Controllers * @category ExecuteTrigger */ export interface ExecuteTrigger extends Controller { /** * The state of the `ExecuteTrigger` controller. */ state: ExecuteTriggerState; } /** * A scoped and simplified part of the headless state that is relevant to the `ExecuteTrigger` controller. * * @group Controllers * @category ExecuteTrigger */ export interface ExecuteTriggerState { /** * The functions to be executed. */ executions: FunctionExecutionTrigger[]; } /** * Creates a `ExecuteTrigger` controller instance. An execute trigger is configured in the Administration console, * and used to execute a function in the browser when a certain condition is met. * * * @param engine - The headless engine. * @returns A `RedirectionTrigger` controller instance. * * @group Controllers * @category ExecuteTrigger * */ export declare function buildExecuteTrigger(engine: SearchEngine): ExecuteTrigger;