import { AnalyticsClient, ClientOptions } from '../client/analytics'; import { SearchEventRequest } from '../events'; import { DocumentIdentifier, FacetStateMetadata, GeneratedAnswerBaseMeta, GeneratedAnswerCitationClickMeta, GeneratedAnswerCitationMeta, GeneratedAnswerFeedbackMeta, GeneratedAnswerFeedbackMetaV2, GeneratedAnswerRephraseMeta, GeneratedAnswerSourceHoverMeta, GeneratedAnswerStreamEndMeta, PartialDocumentInformation, SearchPageEvents, SmartSnippetDocumentIdentifier, SmartSnippetFeedbackReason, SmartSnippetLinkMeta, SmartSnippetSuggestionMeta, TriggerNotifyMetadata } from '../searchPage/searchPageEvents'; import { ExpandToFullUIMetadata, InsightEvents, InsightFacetMetadata, InsightInterfaceChangeMetadata, InsightStaticFilterToggleValueMetadata, InsightFacetRangeMetadata, InsightCategoryFacetMetadata, CaseMetadata, InsightFacetSortMeta, InsightFacetBaseMeta, InsightQueryErrorMeta, InsightPagerMetadata, InsightResultsSortMetadata, UserActionsDocumentMetadata, UserActionsPageViewMetadata, CreateArticleMetadata } from './insightEvents'; export interface InsightClientProvider { getSearchEventRequestPayload: () => Omit; getSearchUID: () => string; getBaseMetadata: () => Record; getPipeline: () => string; getOriginContext?: () => string; getOriginLevel1: () => string; getOriginLevel2: () => string; getOriginLevel3: () => string; getLanguage: () => string; getIsAnonymous: () => boolean; getFacetState?: () => FacetStateMetadata[]; getGeneratedAnswerMetadata?: () => Record; } export interface InsightClientOptions extends ClientOptions { enableAnalytics: boolean; } export declare class CoveoInsightClient { private opts; private provider; coveoAnalyticsClient: AnalyticsClient; constructor(opts: Partial, provider: InsightClientProvider); disable(): void; enable(): void; logInterfaceLoad(metadata?: CaseMetadata): Promise; logRecentQueryClick(metadata?: CaseMetadata): Promise; logClearRecentQueries(metadata?: CaseMetadata): Promise; logInterfaceChange(metadata: InsightInterfaceChangeMetadata): Promise; logStaticFilterDeselect(metadata: InsightStaticFilterToggleValueMetadata): Promise; logFetchMoreResults(metadata?: CaseMetadata): Promise; logBreadcrumbFacet(metadata: InsightFacetMetadata | InsightFacetRangeMetadata | InsightCategoryFacetMetadata): Promise; logBreadcrumbResetAll(metadata?: CaseMetadata): Promise; logFacetSelect(metadata: InsightFacetMetadata): Promise; logFacetExclude(metadata: InsightFacetMetadata): Promise; logFacetDeselect(metadata: InsightFacetMetadata): Promise; logFacetUpdateSort(metadata: InsightFacetSortMeta): Promise; logFacetClearAll(metadata: InsightFacetBaseMeta): Promise; logFacetShowMore(metadata: InsightFacetBaseMeta): Promise; logFacetShowLess(metadata: InsightFacetBaseMeta): Promise; logQueryError(metadata: InsightQueryErrorMeta): Promise; logPagerNumber(metadata: InsightPagerMetadata): Promise; logPagerNext(metadata: InsightPagerMetadata): Promise; logPagerPrevious(metadata: InsightPagerMetadata): Promise; logDidYouMeanAutomatic(metadata?: CaseMetadata): Promise; logDidYouMeanClick(metadata?: CaseMetadata): Promise; logResultsSort(metadata: InsightResultsSortMetadata): Promise; logSearchboxSubmit(metadata?: CaseMetadata): Promise; logContextChanged(metadata: CaseMetadata): Promise; logExpandToFullUI(metadata: ExpandToFullUIMetadata): Promise; logOpenUserActions(metadata: CaseMetadata): Promise; logShowPrecedingSessions(metadata: CaseMetadata): Promise; logShowFollowingSessions(metadata: CaseMetadata): Promise; logViewedDocumentClick(document: UserActionsDocumentMetadata, metadata: CaseMetadata): Promise; logPageViewClick(pageView: UserActionsPageViewMetadata, metadata: CaseMetadata): Promise; logCreateArticle(createArticleMetadata: CreateArticleMetadata, metadata?: CaseMetadata): Promise; logDocumentOpen(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logCopyToClipboard(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logCaseSendEmail(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logFeedItemTextPost(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logDocumentQuickview(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise; logCaseAttach(info: PartialDocumentInformation, identifier: DocumentIdentifier, caseMetadata?: CaseMetadata): Promise; logCaseDetach(resultUriHash: string, metadata?: CaseMetadata, permanentId?: string): Promise; logLikeSmartSnippet(metadata?: CaseMetadata): Promise; logDislikeSmartSnippet(metadata?: CaseMetadata): Promise; logExpandSmartSnippet(metadata?: CaseMetadata): Promise; logCollapseSmartSnippet(metadata?: CaseMetadata): Promise; logOpenSmartSnippetFeedbackModal(metadata?: CaseMetadata): Promise; logCloseSmartSnippetFeedbackModal(metadata?: CaseMetadata): Promise; logSmartSnippetFeedbackReason(reason: SmartSnippetFeedbackReason, details?: string, metadata?: CaseMetadata): Promise; logExpandSmartSnippetSuggestion(snippet: SmartSnippetSuggestionMeta | SmartSnippetDocumentIdentifier, metadata?: CaseMetadata): Promise; logCollapseSmartSnippetSuggestion(snippet: SmartSnippetSuggestionMeta | SmartSnippetDocumentIdentifier, metadata?: CaseMetadata): Promise; logOpenSmartSnippetSource(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logOpenSmartSnippetSuggestionSource(info: PartialDocumentInformation, snippet: SmartSnippetSuggestionMeta, metadata?: CaseMetadata): Promise; logOpenSmartSnippetInlineLink(info: PartialDocumentInformation, identifierAndLink: DocumentIdentifier & SmartSnippetLinkMeta, metadata?: CaseMetadata): Promise; logOpenSmartSnippetSuggestionInlineLink(info: PartialDocumentInformation, snippetAndLink: SmartSnippetSuggestionMeta & SmartSnippetLinkMeta, metadata?: CaseMetadata): Promise; logLikeGeneratedAnswer(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logDislikeGeneratedAnswer(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logOpenGeneratedAnswerSource(generatedAnswerSourceMetadata: GeneratedAnswerCitationMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerCitationClick(info: PartialDocumentInformation, citation: GeneratedAnswerCitationClickMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerSourceHover(generatedAnswerSourceMetadata: GeneratedAnswerSourceHoverMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerCopyToClipboard(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerHideAnswers(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerShowAnswers(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerExpand(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerCollapse(generatedAnswerMetadata: GeneratedAnswerBaseMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerFeedbackSubmit(generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerFeedbackSubmitV2(generatedAnswerFeedbackMetadata: GeneratedAnswerFeedbackMetaV2, metadata?: CaseMetadata): Promise; logRephraseGeneratedAnswer(generatedAnswerRephraseMetadata: GeneratedAnswerRephraseMeta, metadata?: CaseMetadata): Promise; logRetryGeneratedAnswer(metadata?: CaseMetadata): Promise; logGeneratedAnswerStreamEnd(generatedAnswerStreamEndMetadata: GeneratedAnswerStreamEndMeta, metadata?: CaseMetadata): Promise; logGeneratedAnswerCitationDocumentAttach(info: PartialDocumentInformation, citation: GeneratedAnswerCitationClickMeta, metadata?: CaseMetadata): Promise; logCustomEvent(event: SearchPageEvents | InsightEvents, metadata?: Record): Promise; logSearchEvent(event: SearchPageEvents | InsightEvents, metadata?: Record): Promise; logClickEvent(event: SearchPageEvents, info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: Record): Promise; logShowMoreFoldedResults(info: PartialDocumentInformation, identifier: DocumentIdentifier, metadata?: CaseMetadata): Promise; logShowLessFoldedResults(metadata?: CaseMetadata): Promise; logTriggerNotify(triggerNotifyMetadata: TriggerNotifyMetadata, metadata?: CaseMetadata): Promise; private getBaseCustomEventRequest; private getBaseSearchEventRequest; private getBaseEventRequest; private getOrigins; private getClientId; }