import type { CoreEngine } from '../../../app/engine.js';
import type { InsightAction, LegacySearchAction } from '../../../features/analytics/analytics-utils.js';
import { type Controller } from '../../controller/headless-controller.js';
/**
 * The `NotifyTrigger` controller handles notify triggers. A [Notify trigger](https://docs.coveo.com/en/3413#notify) query pipeline rule lets you define a message to be displayed to the end user when a certain condition is met.
 *
 * Example: [notify-trigger.fn.tsx](https://github.com/coveo/ui-kit/blob/main/packages/samples/headless-react/src/components/triggers/notify-trigger.fn.tsx)
 *
 * @group Controllers
 * @category NotifyTrigger
 */
export interface NotifyTrigger extends Controller {
    /**
     * The state of the `NotifyTrigger` controller.
     */
    state: NotifyTriggerState;
}
/**
 * A scoped and simplified part of the headless state that is relevant to the `NotifyTrigger` controller.
 *
 * @group Controllers
 * @category NotifyTrigger
 */
export interface NotifyTriggerState {
    /**
     * The notifications to display to the user after receiving notification triggers.
     */
    notifications: string[];
}
interface NotifyTriggerProps {
    options: NotifyTriggerOptions;
}
interface NotifyTriggerOptions {
    logNotifyTriggerActionCreator: () => InsightAction | LegacySearchAction;
}
/**
 * Creates a core `NotifyTrigger` controller instance.
 *
 * @param engine - The headless engine.
 * @returns A `NotifyTrigger` controller instance.
 *
 * @group Controllers
 * @category NotifyTrigger
 */
export declare function buildCoreNotifyTrigger(engine: CoreEngine, props: NotifyTriggerProps): NotifyTrigger;
export {};
