import { makeSendEvents } from "./_sendEvent"; import { init } from "./init"; import { addAlgoliaAgent } from "./_algoliaAgent"; import { getVersion } from "./_getVersion"; import { RequestFnType } from "./utils/request"; import { clickedObjectIDsAfterSearch, clickedObjectIDs, clickedFilters } from "./click"; import { convertedObjectIDsAfterSearch, convertedObjectIDs, convertedFilters } from "./conversion"; import { viewedObjectIDs, viewedFilters } from "./view"; import { getUserToken, setUserToken, setAnonymousUserToken, onUserTokenChange } from "./_tokenUtils"; declare type Queue = { queue: string[][]; }; declare type AnalyticsFunction = { [key: string]: (fnName: string, fnArgs: any[]) => void; }; declare type AlgoliaAnalyticsObject = Queue | AnalyticsFunction; declare global { interface Window { AlgoliaAnalyticsObject: AlgoliaAnalyticsObject; } } /** * AlgoliaAnalytics class */ declare class AlgoliaAnalytics { _apiKey: string; _appId: string; _region: string; _endpointOrigin: string; _userToken: string; _userHasOptedOut: boolean; _useCookie: boolean; _cookieDuration: number; _ua: string[]; version: string; protected _hasCredentials: boolean; init: typeof init; getVersion: typeof getVersion; addAlgoliaAgent: typeof addAlgoliaAgent; setUserToken: typeof setUserToken; setAnonymousUserToken: typeof setAnonymousUserToken; getUserToken: typeof getUserToken; onUserTokenChange: typeof onUserTokenChange; sendEvents: ReturnType; clickedObjectIDsAfterSearch: typeof clickedObjectIDsAfterSearch; clickedObjectIDs: typeof clickedObjectIDs; clickedFilters: typeof clickedFilters; convertedObjectIDsAfterSearch: typeof convertedObjectIDsAfterSearch; convertedObjectIDs: typeof convertedObjectIDs; convertedFilters: typeof convertedFilters; viewedObjectIDs: typeof viewedObjectIDs; viewedFilters: typeof viewedFilters; constructor({ requestFn }: { requestFn: RequestFnType; }); } export default AlgoliaAnalytics;