import { Guid, GuidValue } from "@omnia/fx/models"; export declare module SearchStatistics { module Constants { const SearchLocations: { Header: string; ActionMenu: string; Page: string; Workspace: string; }; } module Enums { enum InteractionType { Category = 1, Refinement = 2, ViewItem = 3 } enum MetricType { NoOfQuery = 1, AbandonedQuery = 2, NoResultQuery = 3 } enum MetricScope { Tenant = 1, CurrentBusinessProfile = 2 } } interface SearchSessionData { location: string; businessProfileId: GuidValue; searchText: string; timestamp: Date; } interface SearchSession extends SearchSessionData { id: GuidValue; } interface SearchResultData { searchSessionId: GuidValue; searchCategoryId: GuidValue; resultCount: number; } interface SearchResult extends SearchResultData { id: GuidValue; } interface SearchInteractionDataInfo { interactionType: Enums.InteractionType; timestamp: Date; resultCount: number; resultItemUrl?: string; } interface SearchInteractionData extends SearchInteractionDataInfo { searchResultId: GuidValue; } interface SearchInteraction extends SearchInteractionData { id: GuidValue; } const GovernanceDashboard: { scopeId: Guid; metrics: { noOfQuery: Guid; abandonedQuery: Guid; noResultQuery: Guid; }; filters: { scope: Guid; }; }; interface SearchSessionCountByMonth { month: number; year: number; count: number; } interface MetricQueryDetail { searchText: string; } interface NoOfQueryDetail extends MetricQueryDetail { queryCount: number; refinementCount: number; abandonedCount: number; noResultCount: number; } interface AbandonedQueryDetail extends MetricQueryDetail { refinementCount: number; abandonedCount: number; } interface NoResultQueryDetail extends MetricQueryDetail { noResultCount: number; } interface SearchSessionDetail { id: GuidValue; searchText: string; location: string; timestamp: Date; } interface NoOfQuerySearchSessionDetail extends SearchSessionDetail { viewItemTimestamp?: Date; refinementCount?: number; emptyResult?: number; abandoned?: number; } interface AbandonedQuerySearchSessionDetail extends SearchSessionDetail { refinementCount?: number; } interface NoResultQuerySearchSessionDetail extends SearchSessionDetail { } interface SearchDetailOption { startTime: Date; monthSize: number; pageNumber: number; pageSize: number; } interface SearchSessionDetailOption extends SearchDetailOption { searchText: string; } interface MetricQueryDetailInfo { total: number; items: Array; } }