UNPKG

next-yandex-metrica-service

Version:
93 lines (92 loc) 3.14 kB
import type { InitParameters, UserParameters, VisitParameters } from './provider'; declare enum YandexMetricaEvents { HIT = "hit", INIT = "init", FILE = "file", ADD_FILE_EXTENSION = "addFileExtension", GET_CLIENT_ID = "getClientID", NOT_BOUNCE = "notBounce", FIRST_PARTY_PARAMS = "firstPartyParams", EXT_LINK = "extLink", REACH_GOAL = "reachGoal", SET_USER_ID = "setUserID", PARAMS = "params", USER_PARAMS = "userParams" } type BaseOptions = { title?: string; params?: VisitParameters; callback?: () => void; }; type FileOptions = BaseOptions & { referer?: string; }; type FirstPartyParamsParameters = { email?: string; phone_number?: string; first_name?: string; last_name?: string; home_address?: string; street?: string; city?: string; region?: string; postal_code?: string; country?: string; yandex_cid?: number; }; type FileEventParameters = [ eventName: YandexMetricaEvents.FILE, url: string, options?: FileOptions ]; type InitEventParameters = [ eventName: YandexMetricaEvents.INIT, parameters: InitParameters ]; type AddFileExtensionEventParameters = [ eventName: YandexMetricaEvents.ADD_FILE_EXTENSION, extensions: string | string[] ]; type ExtLinkEventParameters = [ eventName: YandexMetricaEvents.EXT_LINK, url: string, options?: BaseOptions ]; type FirstPartyParamsEventParameters = [ eventName: YandexMetricaEvents.FIRST_PARTY_PARAMS, parameters: FirstPartyParamsParameters ]; type GetClientIDEventParameters = [ eventName: YandexMetricaEvents.GET_CLIENT_ID, cb: (clientID: string) => void ]; type HitEventParameters = [ eventName: YandexMetricaEvents.HIT, url: string, options?: FileOptions ]; type NotBounceEventParameters = [ eventName: YandexMetricaEvents.NOT_BOUNCE, options?: () => void ]; type ParamsEventParameters = [ eventName: YandexMetricaEvents.PARAMS, parameters: VisitParameters | VisitParameters[] ]; type ReachGoalEventParameters = [ eventName: YandexMetricaEvents.REACH_GOAL, target: string, params?: VisitParameters, callback?: () => void ]; type SetUserIDEventParameters = [ eventName: YandexMetricaEvents.SET_USER_ID, userID: string ]; type UserParamsEventParameters = [ eventName: YandexMetricaEvents.USER_PARAMS, parameters: UserParameters ]; type YandexMetricaEventParameters = InitEventParameters | AddFileExtensionEventParameters | ExtLinkEventParameters | FileEventParameters | FirstPartyParamsEventParameters | GetClientIDEventParameters | HitEventParameters | NotBounceEventParameters | ParamsEventParameters | ReachGoalEventParameters | SetUserIDEventParameters | UserParamsEventParameters; export type { YandexMetricaEventParameters, InitEventParameters, AddFileExtensionEventParameters, ExtLinkEventParameters, FileEventParameters, FirstPartyParamsEventParameters, GetClientIDEventParameters, HitEventParameters, NotBounceEventParameters, ParamsEventParameters, ReachGoalEventParameters, SetUserIDEventParameters, UserParamsEventParameters }; export { YandexMetricaEvents };