import { type AnalyticsClientSendEventHook, CoveoInsightClient, type InsightClientProvider } from 'coveo.analytics'; import type { SearchEventRequest } from 'coveo.analytics/dist/definitions/events.js'; import type { Logger } from 'pino'; import { type SectionNeededForFacetMetadata } from '../../features/facets/facet-set/facet-set-analytics-actions-utils.js'; import type { InsightAppState } from '../../state/insight-app-state.js'; import type { ConfigurationSection, GeneratedAnswerSection, PipelineSection, QuerySection, SearchHubSection, SearchSection, TriggerSection } from '../../state/state-sections.js'; import type { PreprocessRequest } from '../preprocess-request.js'; import { BaseAnalyticsProvider } from './base-analytics.js'; export type StateNeededByInsightAnalyticsProvider = ConfigurationSection & Partial & Partial; export declare class InsightAnalyticsProvider extends BaseAnalyticsProvider implements InsightClientProvider { getSearchUID(): string; getPipeline(): string; getSearchEventRequestPayload(): Omit; getFacetState(): import("coveo.analytics").FacetStateRequest[]; getBaseMetadata(): Record; getGeneratedAnswerMetadata(): { showGeneratedAnswer?: boolean | undefined; }; private get queryText(); private get responseTime(); private mapResultsToAnalyticsDocument; private get numberOfResults(); } interface ConfigureInsightAnalyticsOptions { logger: Logger; analyticsClientMiddleware?: AnalyticsClientSendEventHook; preprocessRequest?: PreprocessRequest; provider?: InsightClientProvider; getState(): StateNeededByInsightAnalyticsProvider; } export declare const configureInsightAnalytics: ({ logger, getState, analyticsClientMiddleware, preprocessRequest, provider, }: ConfigureInsightAnalyticsOptions) => CoveoInsightClient; export {};