import { CoveoSearchPageClient, SearchPageClientProvider, AnalyticsClientSendEventHook } from 'coveo.analytics';
import { SearchEventRequest } from 'coveo.analytics/dist/definitions/events.js';
import { Logger } from 'pino';
import { FacetSortCriterion } from '../../features/facets/facet-set/interfaces/request.js';
import { DateFacetValue } from '../../features/facets/range-facets/date-facet-set/interfaces/response.js';
import { RangeFacetSortCriterion } from '../../features/facets/range-facets/generic/interfaces/request.js';
import { NumericFacetValue } from '../../features/facets/range-facets/numeric-facet-set/interfaces/response.js';
import { OmniboxSuggestionMetadata } from '../../features/query-suggest/query-suggest-analytics-actions.js';
import { StaticFilterValueMetadata } from '../../features/static-filter-set/static-filter-set-actions.js';
import { SearchAppState } from '../../state/search-app-state.js';
import { ConfigurationSection } from '../../state/state-sections.js';
import { PreprocessRequest } from '../preprocess-request.js';
import { BaseAnalyticsProvider } from './base-analytics.js';
export type StateNeededBySearchAnalyticsProvider = ConfigurationSection & Partial<Omit<SearchAppState, 'configuration'>>;
export declare class SearchAnalyticsProvider extends BaseAnalyticsProvider<StateNeededBySearchAnalyticsProvider> implements SearchPageClientProvider {
    private static fallbackPipelineName;
    getFacetState(): import("coveo.analytics").FacetStateRequest[];
    getPipeline(): string;
    getSearchEventRequestPayload(): Omit<SearchEventRequest, 'actionCause' | 'searchQueryUid'>;
    getSearchUID(): string;
    getSplitTestRunName(): string | undefined;
    getSplitTestRunVersion(): string | undefined;
    getBaseMetadata(): Record<string, string | string[]>;
    getFacetMetadata(facetId: string, facetValue: string): {
        facetId: string;
        facetField: string;
        facetValue: string;
        facetTitle: string;
    };
    getFacetClearAllMetadata(facetId: string): {
        facetId: string;
        facetField: string;
        facetTitle: string;
    };
    getFacetUpdateSortMetadata(facetId: string, criteria: FacetSortCriterion | RangeFacetSortCriterion): {
        facetId: string;
        facetField: string;
        criteria: FacetSortCriterion | RangeFacetSortCriterion;
        facetTitle: string;
    };
    getRangeBreadcrumbFacetMetadata(facetId: string, facetValue: DateFacetValue | NumericFacetValue): {
        facetId: string;
        facetField: string;
        facetRangeEnd: string | number;
        facetRangeEndInclusive: boolean;
        facetRangeStart: string | number;
        facetTitle: string;
    };
    private getFacetRequest;
    getResultSortMetadata(): {
        resultsSortBy: string;
    };
    getStaticFilterToggleMetadata(staticFilterId: string, staticFilterValue: StaticFilterValueMetadata): {
        staticFilterId: string;
        staticFilterValue: StaticFilterValueMetadata;
    };
    getStaticFilterClearAllMetadata(staticFilterId: string): {
        staticFilterId: string;
    };
    getUndoTriggerQueryMetadata(undoneQuery: string): {
        undoneQuery: string;
    };
    getCategoryBreadcrumbFacetMetadata(categoryFacetId: string, categoryFacetPath: string[]): {
        categoryFacetId: string;
        categoryFacetField: string;
        categoryFacetPath: string[];
        categoryFacetTitle: string;
    };
    getOmniboxAnalyticsMetadata(id: string, suggestion: string): {
        suggestionRanking: number;
        partialQuery: string;
        partialQueries: string | string[];
        suggestions: string | string[];
        querySuggestResponseId: string;
    };
    getInterfaceChangeMetadata(): {
        interfaceChangeTo: string;
    };
    getOmniboxFromLinkMetadata(metadata: OmniboxSuggestionMetadata): {
        suggestionRanking: number;
        partialQueries: string | string[];
        suggestions: string | string[];
        partialQuery: string;
        querySuggestResponseId: string;
    };
    getGeneratedAnswerMetadata(): Record<string, string | boolean>;
    private get resultURIs();
    protected get results(): import("../../ssr.index.js").Result[] | undefined;
    protected get queryText(): string;
    protected get responseTime(): number;
    protected get numberOfResults(): number;
}
interface LegacyConfigureAnalyticsOptions {
    logger: Logger;
    analyticsClientMiddleware?: AnalyticsClientSendEventHook;
    preprocessRequest?: PreprocessRequest;
    provider?: SearchPageClientProvider;
    getState(): StateNeededBySearchAnalyticsProvider;
}
export declare const configureLegacyAnalytics: ({ logger, getState, analyticsClientMiddleware, preprocessRequest, provider, }: LegacyConfigureAnalyticsOptions) => CoveoSearchPageClient;
export declare const getPageID: () => string;
export {};
