import type { SearchEngine } from '../../app/search-engine/search-engine.js'; import { type LogClickEventActionCreatorPayload, type LogCustomEventActionCreatorPayload, type LogSearchEventActionCreatorPayload } from './analytics-actions.js'; import type { ClickAction, CustomAction, LegacySearchAction } from './analytics-utils.js'; export type { LogClickEventActionCreatorPayload, LogCustomEventActionCreatorPayload, LogSearchEventActionCreatorPayload, }; /** * The generic analytics action creators. * * @group Actions * @category GenericAnalytics */ export interface GenericAnalyticsActionCreators { /** * Creates a search analytics event. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logSearchEvent(payload: LogSearchEventActionCreatorPayload): LegacySearchAction; /** * Creates a click analytics event. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logClickEvent(payload: LogClickEventActionCreatorPayload): ClickAction; /** * Creates a custom analytics event. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logCustomEvent(payload: LogCustomEventActionCreatorPayload): CustomAction; } /** * Returns possible generic analytics action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category GenericAnalytics */ export declare function loadGenericAnalyticsActions(engine: SearchEngine): GenericAnalyticsActionCreators;