react-metrika
Version:
Excellent React/Preact component for Yandex Metrika
91 lines (90 loc) • 2.88 kB
TypeScript
declare global {
interface YaMetrika2Options {
accurateTrackBounce?: boolean | number;
childIframe?: boolean;
clickmap?: boolean;
defer?: boolean;
ecommerce?: string | boolean | string[];
params?: any;
userParams?: any;
trackHash?: boolean;
trackLinks?: boolean;
trustedDomains?: string[];
type?: 0 | 1;
webvisor?: boolean;
triggerEvent?: boolean;
sendTitle?: boolean;
}
interface YaMetrika2 extends Record<string, (...args: any) => void> {
hit(url?: string, options?: YaMetrika2HitOptions): void;
params(params: any): void;
reachGoal(target: string, params?: any, callback?: () => void, ctx?: any): void;
addFileExtension(extension: string | string[]): void;
extLink(url: string, options?: YaMetrika2ExtLinkOptions): void;
file(url: string, options?: YaMetrika2FileOptions): void;
firstPartyParams(params: YaMetrika2FirstPartyParamsParams): void;
firstPartyParamsHashed(params: YaMetrika2FirstPartyParamsHashedParams): void;
getClientID(): string;
setUserID(userId: string): void;
notBounce(options?: YaMetrika2NotBounceOptions): void;
userParams(params: any): void;
destruct(): void;
}
interface YaMetrika2ExtLinkOptions {
callback?: () => void;
ctx?: any;
params?: any;
title?: string;
}
interface YaMetrika2FileOptions {
callback?: () => void;
ctx?: any;
params?: any;
referer?: string;
title?: string;
}
interface YaMetrika2FirstPartyParamsParams {
email?: string;
phone_number?: string;
first_name?: string;
last_name?: string;
yandex_cid?: string | number;
}
interface YaMetrika2FirstPartyParamsHashedParams {
email?: string;
phone_number?: string;
first_name?: string;
last_name?: string;
yandex_cid?: string | number;
}
interface YaMetrika2NotBounceOptions {
callback?: () => void;
ctx?: any;
}
interface YaMetrika2HitOptions {
callback?: () => void;
ctx?: any;
params?: any;
referer?: string;
title?: string;
}
interface Window {
[key: `yaCounter${string}`]: YaMetrika2;
Ya: {
Metrika2: {
new (id: string | number | YaMetrika2Options & {
id: number;
}): YaMetrika2;
counters(): Array<{
id: number;
type: number;
clickmap: boolean;
webvisor: boolean;
trackHash: boolean;
}>;
informer(id: number): void;
};
};
}
}
export {};