import type { Result } from '../../api/search/search/result.js'; import type { InsightEngine } from '../../app/insight-engine/insight-engine.js'; import type { LogCategoryFacetBreadcrumbActionCreatorPayload } from '../facets/category-facet-set/category-facet-set-analytics-actions.js'; import type { LogFacetBreadcrumbActionCreatorPayload, LogFacetDeselectActionCreatorPayload, LogFacetExcludeActionCreatorPayload, LogFacetSelectActionCreatorPayload, LogFacetUnexcludeActionCreatorPayload } from '../facets/facet-set/facet-set-analytics-actions.js'; import { type LogFacetUpdateSortActionCreatorPayload } from '../facets/facet-set/facet-set-insight-analytics-actions.js'; import type { LogDateFacetBreadcrumbActionCreatorPayload } from '../facets/range-facets/date-facet-set/date-facet-analytics-actions.js'; import type { LogNumericFacetBreadcrumbActionCreatorPayload } from '../facets/range-facets/numeric-facet-set/numeric-facet-analytics-actions.js'; import { type CreateArticleMetadata } from '../insight-search/insight-analytics-actions.js'; import type { SmartSnippetFeedback } from '../question-answering/question-answering-analytics-actions.js'; import type { LogStaticFilterToggleValueActionCreatorPayload, StaticFilterValueMetadata } from '../static-filter-set/static-filter-set-actions.js'; import type { InsightAction } from './analytics-utils.js'; export type { CreateArticleMetadata, LogCategoryFacetBreadcrumbActionCreatorPayload, LogDateFacetBreadcrumbActionCreatorPayload, LogFacetBreadcrumbActionCreatorPayload, LogFacetDeselectActionCreatorPayload, LogFacetExcludeActionCreatorPayload, LogFacetSelectActionCreatorPayload, LogFacetUnexcludeActionCreatorPayload, LogFacetUpdateSortActionCreatorPayload, LogNumericFacetBreadcrumbActionCreatorPayload, LogStaticFilterToggleValueActionCreatorPayload, SmartSnippetFeedback, StaticFilterValueMetadata, }; /** * The insight analytics action creators. * * @group Actions * @category Analytics */ export interface InsightAnalyticsActionCreators { /** * The event to log when clearing breadcrumbs. * * @returns A dispatchable action. */ logClearBreadcrumbs(): InsightAction; /** * The event to log when a insight interface loads for the first time. * * @returns A dispatchable action. */ logInterfaceLoad(): InsightAction; /** * The event to log when a tab is selected. * * @returns A dispatchable action. */ logInterfaceChange(): InsightAction; /** * The event to log when the create article button is clicked. * * @param payload - The metadata tied to the create article event. * @returns A dispatchable action. */ logCreateArticle(payload: CreateArticleMetadata): InsightAction; /** * The event to log when a category facet breadcrumb is deselected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logCategoryFacetBreadcrumb(payload: LogCategoryFacetBreadcrumbActionCreatorPayload): InsightAction; /** * The event to log when a facet breadcrumb is deselected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logFacetBreadcrumb(payload: LogFacetBreadcrumbActionCreatorPayload): InsightAction; /** * The event to log when all selected values in a facet are deselected. * * @param facetId - The facet id. * @returns A dispatchable action. */ logFacetClearAll(facetId: string): InsightAction; /** * The event to log when a selected facet value is deselected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logFacetDeselect(payload: LogFacetDeselectActionCreatorPayload): InsightAction; /** * The event to log when an idle facet value is selected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logFacetSelect(payload: LogFacetSelectActionCreatorPayload): InsightAction; /** * The event to log when shrinking a facet to show fewer values. * * @param facetId - The facet id. * @returns A dispatchable action. */ logFacetShowLess(facetId: string): InsightAction; /** * The event to log when expanding a facet to show more values. * * @param facetId - The facet id. * @returns A dispatchable action. */ logFacetShowMore(facetId: string): InsightAction; /** * The event to log when the facet sort criterion is changed. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logFacetUpdateSort(payload: LogFacetUpdateSortActionCreatorPayload): InsightAction; /** * The event to log when a date facet breadcrumb is deselected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logDateFacetBreadcrumb(payload: LogDateFacetBreadcrumbActionCreatorPayload): InsightAction; /** * The event to log when a numeric facet breadcrumb is deselected. * * @param payload - The action creator payload. * @returns A dispatchable action. */ logNumericFacetBreadcrumb(payload: LogNumericFacetBreadcrumbActionCreatorPayload): InsightAction; /** * The event to log when navigating to the next page of results. * * @returns A dispatchable action. */ logPageNext(): InsightAction; /** * The event to log when selecting a page in the pager. * * @returns A dispatchable action. */ logPageNumber(): InsightAction; /** * The event to log when navigating to the previous page of results. * * @returns A dispatchable action. */ logPagePrevious(): InsightAction; /** * The event to log when the results sort criterion is changed. * * @returns A dispatchable action. */ logResultsSort(): InsightAction; /** * The event to log when a static filter value is deselected. * * @param payload - The action creation payload. * @returns A dispatchable action. */ logStaticFilterDeselect(payload: LogStaticFilterToggleValueActionCreatorPayload): InsightAction; /** * The event to log when the Copy To Clipboard result action is clicked. * * @param result - The result. * @returns A dispatchable action. */ logCopyToClipboard(result: Result): InsightAction; /** * The event to log when the Case Send As Email result action is clicked. * * @param result - The result. * @returns A dispatchable action. */ logCaseSendEmail(result: Result): InsightAction; /** * The event to log when the Feed Item Text Post result action is clicked. * * @param result - The result. * @returns A dispatchable action. */ logFeedItemTextPost(result: Result): InsightAction; /** * The event to log when opening the user actions panel. * * @returns A dispatchable action. */ logOpenUserActions(): InsightAction; } /** * Returns possible insight analytics action creators. * * @param engine - The insight engine. * @returns An object holding the action creators. * * @group Actions * @category Analytics */ export declare function loadInsightAnalyticsActions(engine: InsightEngine): InsightAnalyticsActionCreators;