UNPKG

6.99 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 $latitude?: number;
31 $longitude?: number;
32 }
33
34 export interface BatchOptions {
35 max_concurrent_requests?: number;
36 max_batch_size?: number;
37 }
38
39 export interface UnionData {
40 [key: string]: Scalar | Scalar[];
41 }
42
43 export interface RemoveData {
44 [key: string]: string | number
45 }
46
47 interface Mixpanel {
48 init(mixpanelToken: string, config?: InitConfig): Mixpanel;
49
50 track(eventName: string, callback?: Callback): void;
51 track(eventName: string, properties: PropertyDict, callback?: Callback): void;
52
53 track_batch(events: Event[], options?: BatchOptions, callback?: BatchCallback): void;
54 track_batch(events: Event[], callback: BatchCallback): void;
55 track_batch(eventNames: string[], options?: BatchOptions, callback?: BatchCallback): void;
56 track_batch(eventNames: string[], callback?: BatchCallback): void;
57
58 import(eventName: string, time: Date | number, properties?: PropertyDict, callback?: Callback): void;
59 import(eventName: string, time: Date | number, callback: Callback): void;
60
61 import_batch(eventNames: string[], options?: BatchOptions, callback?: BatchCallback): void;
62 import_batch(eventNames: string[], callback?: BatchCallback): void;
63 import_batch(events: Event[], callback?: BatchCallback): void;
64
65 alias(distinctId: string, alias: string, callback?: Callback): void;
66
67 people: People;
68
69 groups: Groups;
70 }
71
72 interface People {
73 set(distinctId: string, properties: PropertyDict, callback?: Callback): void;
74 set(distinctId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
75 set(distinctId: string, propertyName: string, value: string | number, modifiers: Modifiers): void;
76 set(distinctId: string, propertyName: string, value: string | number, callback?: Callback): void;
77 set(distinctId: string, propertyName: string, value: string | number, modifiers: Modifiers, callback: Callback): void;
78
79 unset(distinctId: string, propertyName: string | string[], callback?: Callback): void;
80 unset(distinctId: string, propertyName: string | string[], modifiers?: Modifiers, callback?: Callback): void;
81
82 set_once(distinctId: string, propertyName: string, value: string, callback?: Callback): void;
83 set_once(distinctId: string, propertyName: string, value: string, modifiers: Modifiers, callback?: Callback): void;
84 set_once(distinctId: string, properties: PropertyDict, callback?: Callback): void;
85 set_once(distinctId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
86
87 increment(distinctId: string, propertyName: string, modifiers?: Modifiers, callback?: Callback): void;
88 increment(distinctId: string, propertyName: string, incrementBy: number, modifiers: Modifiers, callback?: Callback): void;
89 increment(distinctId: string, propertyName: string, incrementBy: number, callback?: Callback): void;
90 increment(distinctId: string, properties: NumberMap, modifiers: Modifiers, callback?: Callback): void;
91 increment(distinctId: string, properties: NumberMap, callback?: Callback): void;
92
93 append(distinctId: string, propertyName: string, value: any, modifiers: Modifiers, callback?: Callback): void;
94 append(distinctId: string, propertyName: string, value: any, callback?: Callback): void;
95 append(distinctId: string, properties: PropertyDict, callback?: Callback): void;
96 append(distinctId: string, properties: PropertyDict, modifiers: Modifiers, callback?: Callback): void;
97
98 union(distinctId: string, data: UnionData, modifiers?: Modifiers, callback?: Callback): void;
99 union(distinctId: string, data: UnionData, callback: Callback): void;
100
101 remove(distinctId: string, data: RemoveData, modifiers?: Modifiers, callback?: Callback): void;
102 remove(distinctId: string, data: RemoveData, callback: Callback): void;
103
104 track_charge(distinctId: string, amount: number | string, properties?: PropertyDict, callback?: Callback): void;
105 track_charge(distinctId: string, amount: number | string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
106
107 clear_charges(distinctId: string, modifiers?: Modifiers, callback?: Callback): void;
108 clear_charges(distinctId: string, callback: Callback): void;
109
110 delete_user(distinctId: string, modifiers?: Modifiers, callback?: Callback): void;
111 delete_user(distinctId: string, callback: Callback): void;
112 }
113
114 interface Groups {
115 set(groupKey: string, groupId: string, properties: PropertyDict, callback?: Callback): void;
116 set(groupKey: string, groupId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
117 set(groupKey: string, groupId: string, propertyName: string, value: string | number, modifiers: Modifiers): void;
118 set(groupKey: string, groupId: string, propertyName: string, value: string | number, callback?: Callback): void;
119 set(groupKey: string, groupId: string, propertyName: string, value: string | number, modifiers: Modifiers, callback: Callback): void;
120
121 unset(groupKey: string, groupId: string, propertyName: string | string[], callback?: Callback): void;
122 unset(groupKey: string, groupId: string, propertyName: string | string[], modifiers?: Modifiers, callback?: Callback): void;
123
124 set_once(groupKey: string, groupId: string, propertyName: string, value: string, callback?: Callback): void;
125 set_once( groupKey: string, groupId: string, propertyName: string, value: string, modifiers: Modifiers, callback?: Callback): void;
126 set_once(groupKey: string, groupId: string, properties: PropertyDict, callback?: Callback): void;
127 set_once(groupKey: string, groupId: string, properties: PropertyDict, modifiers?: Modifiers, callback?: Callback): void;
128
129 union(groupKey: string, groupId: string, data: UnionData, modifiers?: Modifiers, callback?: Callback): void;
130 union(groupKey: string, groupId: string, data: UnionData, callback: Callback): void;
131
132 remove(groupKey: string, groupId: string, data: RemoveData, modifiers?: Modifiers, callback?: Callback): void;
133 remove(groupKey: string, groupId: string, data: RemoveData, callback: Callback): void;
134
135 delete_group(groupKey: string, groupId: string, modifiers?: Modifiers, callback?: Callback): void;
136 delete_group(groupKey: string, groupId: string, callback: Callback): void;
137 }
138}
139
140export = mixpanel;