1 | declare const mixpanel: mixpanel.Mixpanel;
|
2 |
|
3 | declare 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 |
|
140 | export = mixpanel;
|