UNPKG

4.54 kBTypeScriptView Raw
1declare const mixpanel: mixpanel.Mixpanel;
2
3declare namespace mixpanel {
4 export type Callback = (err: Error | undefined) => any;
5 export type BatchCallback = (errors: [Error] | undefined) => any;
6
7 type Scalar = string | number | boolean;
8
9 export interface InitConfig {
10 [key: string]: any;
11 }
12
13 export interface PropertyDict {
14 [key: string]: any;
15 }
16
17 export interface NumberMap {
18 [key: string]: number;
19 }
20
21 export interface Event {
22 event: string;
23 properties: PropertyDict;
24 }
25 export interface Modifiers {
26 $ip?: string;
27 $ignore_time?: boolean;
28 $time?: string;
29 $ignore_alias?: boolean;
30 }
31
32 export interface BatchOptions {
33 max_concurrent_requests?: number;
34 max_batch_size?: number;
35 }
36
37 export interface UnionData {
38 [key: string]: Scalar | Scalar[];
39 }
40
41 interface Mixpanel {
42 init(mixpanelToken: string, config?: InitConfig): Mixpanel;
43
44 track(eventName: string, callback?: Callback): void;
45 track(eventName: string, properties: PropertyDict, callback?: Callback): void;
46
47 track_batch(events: Event[], options?: BatchOptions, callback?: BatchCallback): void;
48 track_batch(events: Event[], callback: BatchCallback): void;
49 track_batch(eventNames: string[], options?: BatchOptions, callback?: BatchCallback): void;
50 track_batch(eventNames: string[], callback?: BatchCallback): void;
51
52 import(eventName: string, time: Date | number, properties?: PropertyDict, callback?: Callback): void;
53 import(eventName: string, time: Date | number, callback: Callback): void;
54
55 import_batch(eventNames: string[], options?: BatchOptions, callback?: BatchCallback): void;
56 import_batch(eventNames: string[], callback?: BatchCallback): void;
57 import_batch(events: Event[], callback?: BatchCallback): void;
58
59 alias(distinctId: string, alias: string, callback?: Callback): void;
60
61 people: People;
62 }
63
64 interface People {
65 set(distinctId: string, properties: PropertyDict, callback?: Callback): void;
66 set(distinctId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
67 set(distinctId: string, propertyName: string, value: string | number, modifiers: Modifiers): void;
68 set(distinctId: string, propertyName: string, value: string | number, callback?: Callback): void;
69 set(distinctId: string, propertyName: string, value: string | number, modifiers: Modifiers, callback: Callback): void;
70
71 set_once(distinctId: string, propertyName: string, value: string, callback?: Callback): void;
72 set_once( distinctId: string, propertyName: string, value: string, modifiers: Modifiers, callback?: Callback): void;
73 set_once(distinctId: string, properties: PropertyDict, callback?: Callback): void;
74 set_once(distinctId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
75
76 increment(distinctId: string, propertyName: string, modifiers?: Modifiers, callback?: Callback): void;
77 increment(distinctId: string, propertyName: string, incrementBy: number, modifiers: Modifiers, callback?: Callback): void;
78 increment(distinctId: string, propertyName: string, incrementBy: number, callback?: Callback): void;
79 increment(distinctId: string, properties: NumberMap, modifiers: Modifiers, callback?: Callback): void;
80 increment(distinctId: string, properties: NumberMap, callback?: Callback): void;
81
82 append(distinctId: string, propertyName: string, value: any, modifiers: Modifiers, callback?: Callback): void;
83 append(distinctId: string, propertyName: string, value: any, callback?: Callback): void;
84 append(distinctId: string, properties: PropertyDict, callback?: Callback): void;
85 append(distinctId: string, properties: PropertyDict, modifiers: Modifiers, callback?: Callback): void;
86
87 union(distinctId: string, data: UnionData, modifiers?: Modifiers, callback?: Callback): void;
88 union(distinctId: string, data: UnionData, callback: Callback): void;
89
90 track_charge(distinctId: string, amount: number | string, properties?: PropertyDict, callback?: Callback): void;
91 track_charge(distinctId: string, amount: number | string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
92
93 clear_charges(distinctId: string, modifiers?: Modifiers, callback?: Callback): void;
94 clear_charges(distinctId: string, callback: Callback): void;
95
96 delete_user(distinctId: string, modifiers?: Modifiers, callback?: Callback): void;
97 delete_user(distinctId: string, callback: Callback): void;
98 }
99}
100
101export = mixpanel;