UNPKG

coveo-search-ui

Version:

Coveo JavaScript Search Framework

176 lines (137 loc) 4.01 kB
declare namespace CoveoAnalytics { interface Response {} interface SearchDocument { documentUri: string; documentUriHash: string; } interface EventBaseRequest { language?: string; userAgent?: string; customData?: any; anonymous?: boolean; username?: string; userDisplayName?: any; splitTestRunName?: string; splitTestRunVersion?: string; originLevel1?: string; originLevel2?: string; originLevel3?: string; } interface SearchEventRequest extends EventBaseRequest { searchQueryUid: string; queryText: string; actionCause: string; responseTime: number; advancedQuery?: string; numberOfResults?: number; contextual?: boolean; results?: SearchDocument[]; queryPipeline?: string; userGroups?: string[]; } interface ClickEventRequest extends EventBaseRequest { documentUri: string; documentUriHash: string; collectionName: string; sourceName: string; documentPosition: number; actionCause: string; searchQueryUid?: string; documentTitle?: string; documentUrl?: string; documentAuthor?: string; queryPipeline?: string; rankingModifier?: string; } interface CustomEventRequest extends EventBaseRequest { eventType: string; eventValue: string; lastSearchQueryUid?: string; } interface ViewEventRequest extends EventBaseRequest { location: string; referrer?: string; title?: string; contentIdKey?: string; contentIdValue?: string; contentType?: string; } interface DefaultEventResponse { raw: Response; visitId: string; visitorId: string; } interface SearchEventResponse extends DefaultEventResponse {} interface ClickEventResponse extends DefaultEventResponse {} interface CustomEventResponse extends DefaultEventResponse {} interface ViewEventResponse extends DefaultEventResponse {} interface VisitResponse { raw: Response; id: string; visitorId: string; } interface HealthResponse { raw: Response; status: string; } interface Client { sendEvent(eventType: string, request: any): Promise<Response>; sendSearchEvent(request: SearchEventRequest): Promise<SearchEventResponse>; sendClickEvent(request: ClickEventRequest): Promise<ClickEventResponse>; sendCustomEvent(request: CustomEventRequest): Promise<CustomEventResponse>; sendViewEvent(request: ViewEventRequest): Promise<ViewEventResponse>; getVisit(): Promise<VisitResponse>; getHealth(): Promise<HealthResponse>; } class HistoryStore { constructor(); addElement(elem: HistoryElement): void; getHistory(): HistoryElement[]; setHistory(history: HistoryElement[]): void; clear(): void; getMostRecentElement(): HistoryElement; } interface History { HistoryStore: { new (storage?: WebStorage): HistoryStore; }; } type HistoryElement = HistoryViewElement | HistoryQueryElement | any; interface HistoryViewElement { type: string; uri: string; title?: string; } interface HistoryQueryElement { name: string; value: string; time: string; } interface AnalyticsClient { Client: Client; } class SimpleAPI { private client; init(token: string | Client, endpoint: string): void; send(event: EventType, customData: any): void; onLoad(callback: Function): void; } interface WebStorage { getItem(key: string): string; removeItem(key: string): void; setItem(key: string, data: string): void; } let preferredStorage: WebStorage; function getAvailableStorage(): WebStorage; class NullStorage implements WebStorage { getItem(key: string): string; removeItem(key: string): void; setItem(key: string, data: string): void; } class CookieStorage implements WebStorage { getItem(key: string): string; removeItem(key: string): void; setItem(key: string, data: string): void; } type EventType = 'pageview'; }