larapi 0.2.44 → 0.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,258 @@
1
+ import EventEmitter, { EventListener } from 'easy-event-emitter';
2
+ export { EventListener } from 'easy-event-emitter';
3
+
4
+ type TCacheBody = {
5
+ data: any;
6
+ group?: string;
7
+ time: number;
8
+ };
9
+ type TUser = {
10
+ id: number;
11
+ [index: string]: any;
12
+ };
13
+ type TError = {
14
+ message?: string;
15
+ };
16
+ type TData = Record<string, any>;
17
+ type TGroupsData = {
18
+ [index: string]: TData;
19
+ };
20
+ type TRequestHeaders = Record<string, string>;
21
+ type TMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
22
+ type TCacheControll = string | {
23
+ group: string;
24
+ fieldKey: string;
25
+ };
26
+ type TRequestProgress = {
27
+ percent: number;
28
+ total: number;
29
+ loaded: number;
30
+ };
31
+ type TConfigDataReviver = {
32
+ [index: string]: (value: any) => any;
33
+ };
34
+ type TConfig = {
35
+ host: string;
36
+ reviver?: (this: any, key: string, value: any) => any;
37
+ tryRequest?: number;
38
+ tryRequestDelay?: number;
39
+ dataReviver?: TConfigDataReviver;
40
+ headers?: TRequestHeaders;
41
+ clearUndifinedData?: boolean;
42
+ timeout?: number;
43
+ globalDataWithoutDataPrepare?: boolean;
44
+ };
45
+ type TResponseData = {
46
+ success: TData;
47
+ error?: TError;
48
+ fail?: TError;
49
+ };
50
+ type TInferRequest<D> = D extends (...args: infer A) => any ? (A extends [infer R, ...any[]] ? R : any) : any;
51
+ type TInferResponse<D> = D extends (...args: any[]) => infer R ? R : D;
52
+ type TParams<P = string | keyof TResponseData['success'], D = TResponseData['success']['?'], M extends TMethod = TMethod, E extends TError = TError, F extends TError = TError> = Partial<TConfig> & {
53
+ path: P;
54
+ data?: TInferRequest<D>;
55
+ /**
56
+ * FileReader file object.
57
+ * If present, the file will be sent in chunks.
58
+ */
59
+ file?: ArrayBuffer;
60
+ /**
61
+ * When uploading a file, get the ID from the server.
62
+ * You can pass `true` — then the variable will be named `file_id`,
63
+ * or pass a string like `id_file`, `filename`, etc.
64
+ */
65
+ fileIdByServer?: boolean | string;
66
+ fileSizeChunk?: number;
67
+ fileType?: 'binary' | 'multipart';
68
+ /**
69
+ * default true
70
+ */
71
+ requestAsync?: boolean;
72
+ /**
73
+ * Receive data as a stream.
74
+ * On success, the response will contain the object `body?.getReader()`.
75
+ */
76
+ stream?: boolean;
77
+ body?: XMLHttpRequestBodyInit;
78
+ /**
79
+ * Enable data caching.
80
+ * You can pass `true`, or a string key to work with the cache later.
81
+ */
82
+ cache?: string | boolean;
83
+ cacheUpdate?: TCacheControll | TCacheControll[];
84
+ cacheClear?: TCacheControll | TCacheControll[];
85
+ forceRequest?: boolean;
86
+ globalName?: string;
87
+ queueThrottling?: boolean;
88
+ success?: (data: TInferResponse<D>, xhr: XMLHttpRequest) => void;
89
+ error?: (error: E) => void;
90
+ fail?: (fail: F) => void;
91
+ complete?: (complete: any) => void;
92
+ progress?: (progress: TRequestProgress) => void;
93
+ abort?: (error: E) => void;
94
+ };
95
+ type TListenerEvents = {
96
+ 'api-request-success': any;
97
+ 'api-request-abort': any;
98
+ 'api-request-fail': any;
99
+ 'api-request-error': any;
100
+ 'api-request-complete': any;
101
+ 'api-request-progress': any;
102
+ 'login': {
103
+ user: any;
104
+ token: string;
105
+ };
106
+ 'logout': any;
107
+ 'user-set': any;
108
+ 'user-update': any;
109
+ 'token-update': string;
110
+ 'csrf-token-update': string;
111
+ };
112
+
113
+ declare abstract class Core {
114
+ private cache;
115
+ initData: TGroupsData;
116
+ protected readonly events: EventEmitter;
117
+ protected config: TConfig;
118
+ protected headers: TRequestHeaders;
119
+ constructor(context?: Core);
120
+ protected setConfig(config: TConfig): void;
121
+ protected getConfig(): TConfig;
122
+ protected getCache(key: string): TData | undefined;
123
+ protected isJsonString(str: string): boolean;
124
+ private compileRevivers;
125
+ private applyObjectRevivers;
126
+ dataPrepare(data: unknown): any;
127
+ jsonParse(str: string): any;
128
+ setHost(host: string): void;
129
+ setHeader(name: string, value: string): void;
130
+ getHeader(name: string): string;
131
+ getHeaders(): {
132
+ name: string;
133
+ value: string;
134
+ }[];
135
+ hasHeader(name: string): boolean;
136
+ deleteHeader(name: string): void;
137
+ protected setCache(key: string, data: TData, group?: string): void;
138
+ protected groupFromArray<T = string>(groups: T | T[], callback: (group: T, params?: string[]) => void, withoutSplit?: boolean): void;
139
+ triggerByCacheGroup(groups: string | string[]): void;
140
+ clearCacheGroup(groups: string | string[], data?: TData, fieldKey?: string | null): void;
141
+ private setDataTree;
142
+ updateCacheGroup(groups: string | string[], data: TData, fieldKey?: string | null): void;
143
+ appendCacheGroup(group: string, data: TData): void;
144
+ protected getCacheByIndex(index: string): TCacheBody;
145
+ protected deleteCache(key: string): void;
146
+ setGlobalInitData(name: string, data: TGroupsData): void;
147
+ setInitData(data: TGroupsData): void;
148
+ }
149
+
150
+ declare class Http<D extends TResponseData = TResponseData, PATH = any, DATA = any> extends Core {
151
+ private cacheIndex;
152
+ private currentCache?;
153
+ private currentEvents;
154
+ private requestParams;
155
+ private method;
156
+ private params;
157
+ private path;
158
+ private queue;
159
+ private queueName;
160
+ private _promise;
161
+ private xhr?;
162
+ private tryRequestCount;
163
+ private tryRequestTimeout?;
164
+ constructor(method: TMethod, params: TParams<PATH, DATA>, context?: Core);
165
+ private initRequest;
166
+ private initCache;
167
+ get host(): string | undefined;
168
+ get promise(): Promise<DATA>;
169
+ get url(): string;
170
+ private initQueue;
171
+ private setEmit;
172
+ handleSuccess(data: any): void;
173
+ handleAbort(data: any): void;
174
+ handleFail(data: any): void;
175
+ handleError(data: any): void;
176
+ handleComplete(data: any): void;
177
+ handleProgress(progress: TRequestProgress): void;
178
+ private encodeUrlParams;
179
+ private cuteUndifinedParams;
180
+ private tryHttpRequest;
181
+ private fileRequest;
182
+ private httpRequest;
183
+ private streamRequest;
184
+ request(force?: boolean): this;
185
+ abort(): void;
186
+ addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
187
+ updateCache(data: TData, fieldKey?: string | null): void;
188
+ clearCache(data?: TData, fieldKey?: string | null): void;
189
+ }
190
+
191
+ /** Laravel API Client */
192
+ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S extends D['success'] = D['success']> extends Core {
193
+ private static instance;
194
+ private _user;
195
+ private token?;
196
+ private csrfToken?;
197
+ constructor(config: TConfig);
198
+ http<DATA extends S[PATH]['?'], PATH extends keyof S = keyof S>(method: TMethod, params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
199
+ get<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA, 'GET'>): Http<D, PATH, DATA>;
200
+ head<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
201
+ post<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
202
+ put<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
203
+ patch<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
204
+ delete<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
205
+ options<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
206
+ connect<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
207
+ trace<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
208
+ addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
209
+ setToken(token: string): void;
210
+ setCSRFToken(csrfToken: string): void;
211
+ getConfig(): TConfig;
212
+ getToken(): string | undefined;
213
+ getCSRFToken(): string | undefined;
214
+ getUid(): number;
215
+ getUser(): U;
216
+ get uid(): number;
217
+ get user(): U;
218
+ get host(): string;
219
+ setLogin(user: U, token?: string): void;
220
+ setUser(user: U): void;
221
+ updateUser(user: U): void;
222
+ logout(): Promise<void>;
223
+ static http: <DATA extends any, PATH extends string = string>(method: TMethod, params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
224
+ static get: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA, "GET">) => Http<TResponseData, PATH, DATA>;
225
+ static head: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
226
+ static post: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
227
+ static put: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
228
+ static patch: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
229
+ static delete: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
230
+ static options: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
231
+ static connect: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
232
+ static trace: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
233
+ static setConfig: (config: TConfig) => void;
234
+ static setHost: (host: string) => void;
235
+ static setUser: (user: TUser) => void;
236
+ static updateUser: (user: TUser) => void;
237
+ static logout: () => Promise<void>;
238
+ static setToken: (token: string) => void;
239
+ static setLogin: (user: TUser, token?: string) => void;
240
+ static addListener: <EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void) => EventListener;
241
+ static setInitData: (data: TGroupsData) => void;
242
+ static setCSRFToken: (csrfToken: string) => void;
243
+ static getCSRFToken: () => string | undefined;
244
+ static triggerByCacheGroup: (groups: string | string[]) => void;
245
+ static clearCacheGroup: (groups: string | string[], data?: TData | undefined, fieldKey?: string | null) => void;
246
+ static updateCacheGroup: (groups: string | string[], data: TData, fieldKey?: string | null) => void;
247
+ static getToken: () => string | undefined;
248
+ static getUid: () => number;
249
+ static getUser: () => TUser;
250
+ static user: TUser;
251
+ static uid: number;
252
+ /**
253
+ * @deprecated The method should not be used
254
+ */
255
+ static deleteCacheGroup: (groups: string | string[], data?: TData | undefined, fieldKey?: string | null) => void;
256
+ }
257
+
258
+ export { type TResponseData, API as default };
@@ -0,0 +1,258 @@
1
+ import EventEmitter, { EventListener } from 'easy-event-emitter';
2
+ export { EventListener } from 'easy-event-emitter';
3
+
4
+ type TCacheBody = {
5
+ data: any;
6
+ group?: string;
7
+ time: number;
8
+ };
9
+ type TUser = {
10
+ id: number;
11
+ [index: string]: any;
12
+ };
13
+ type TError = {
14
+ message?: string;
15
+ };
16
+ type TData = Record<string, any>;
17
+ type TGroupsData = {
18
+ [index: string]: TData;
19
+ };
20
+ type TRequestHeaders = Record<string, string>;
21
+ type TMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'CONNECT' | 'TRACE';
22
+ type TCacheControll = string | {
23
+ group: string;
24
+ fieldKey: string;
25
+ };
26
+ type TRequestProgress = {
27
+ percent: number;
28
+ total: number;
29
+ loaded: number;
30
+ };
31
+ type TConfigDataReviver = {
32
+ [index: string]: (value: any) => any;
33
+ };
34
+ type TConfig = {
35
+ host: string;
36
+ reviver?: (this: any, key: string, value: any) => any;
37
+ tryRequest?: number;
38
+ tryRequestDelay?: number;
39
+ dataReviver?: TConfigDataReviver;
40
+ headers?: TRequestHeaders;
41
+ clearUndifinedData?: boolean;
42
+ timeout?: number;
43
+ globalDataWithoutDataPrepare?: boolean;
44
+ };
45
+ type TResponseData = {
46
+ success: TData;
47
+ error?: TError;
48
+ fail?: TError;
49
+ };
50
+ type TInferRequest<D> = D extends (...args: infer A) => any ? (A extends [infer R, ...any[]] ? R : any) : any;
51
+ type TInferResponse<D> = D extends (...args: any[]) => infer R ? R : D;
52
+ type TParams<P = string | keyof TResponseData['success'], D = TResponseData['success']['?'], M extends TMethod = TMethod, E extends TError = TError, F extends TError = TError> = Partial<TConfig> & {
53
+ path: P;
54
+ data?: TInferRequest<D>;
55
+ /**
56
+ * FileReader file object.
57
+ * If present, the file will be sent in chunks.
58
+ */
59
+ file?: ArrayBuffer;
60
+ /**
61
+ * When uploading a file, get the ID from the server.
62
+ * You can pass `true` — then the variable will be named `file_id`,
63
+ * or pass a string like `id_file`, `filename`, etc.
64
+ */
65
+ fileIdByServer?: boolean | string;
66
+ fileSizeChunk?: number;
67
+ fileType?: 'binary' | 'multipart';
68
+ /**
69
+ * default true
70
+ */
71
+ requestAsync?: boolean;
72
+ /**
73
+ * Receive data as a stream.
74
+ * On success, the response will contain the object `body?.getReader()`.
75
+ */
76
+ stream?: boolean;
77
+ body?: XMLHttpRequestBodyInit;
78
+ /**
79
+ * Enable data caching.
80
+ * You can pass `true`, or a string key to work with the cache later.
81
+ */
82
+ cache?: string | boolean;
83
+ cacheUpdate?: TCacheControll | TCacheControll[];
84
+ cacheClear?: TCacheControll | TCacheControll[];
85
+ forceRequest?: boolean;
86
+ globalName?: string;
87
+ queueThrottling?: boolean;
88
+ success?: (data: TInferResponse<D>, xhr: XMLHttpRequest) => void;
89
+ error?: (error: E) => void;
90
+ fail?: (fail: F) => void;
91
+ complete?: (complete: any) => void;
92
+ progress?: (progress: TRequestProgress) => void;
93
+ abort?: (error: E) => void;
94
+ };
95
+ type TListenerEvents = {
96
+ 'api-request-success': any;
97
+ 'api-request-abort': any;
98
+ 'api-request-fail': any;
99
+ 'api-request-error': any;
100
+ 'api-request-complete': any;
101
+ 'api-request-progress': any;
102
+ 'login': {
103
+ user: any;
104
+ token: string;
105
+ };
106
+ 'logout': any;
107
+ 'user-set': any;
108
+ 'user-update': any;
109
+ 'token-update': string;
110
+ 'csrf-token-update': string;
111
+ };
112
+
113
+ declare abstract class Core {
114
+ private cache;
115
+ initData: TGroupsData;
116
+ protected readonly events: EventEmitter;
117
+ protected config: TConfig;
118
+ protected headers: TRequestHeaders;
119
+ constructor(context?: Core);
120
+ protected setConfig(config: TConfig): void;
121
+ protected getConfig(): TConfig;
122
+ protected getCache(key: string): TData | undefined;
123
+ protected isJsonString(str: string): boolean;
124
+ private compileRevivers;
125
+ private applyObjectRevivers;
126
+ dataPrepare(data: unknown): any;
127
+ jsonParse(str: string): any;
128
+ setHost(host: string): void;
129
+ setHeader(name: string, value: string): void;
130
+ getHeader(name: string): string;
131
+ getHeaders(): {
132
+ name: string;
133
+ value: string;
134
+ }[];
135
+ hasHeader(name: string): boolean;
136
+ deleteHeader(name: string): void;
137
+ protected setCache(key: string, data: TData, group?: string): void;
138
+ protected groupFromArray<T = string>(groups: T | T[], callback: (group: T, params?: string[]) => void, withoutSplit?: boolean): void;
139
+ triggerByCacheGroup(groups: string | string[]): void;
140
+ clearCacheGroup(groups: string | string[], data?: TData, fieldKey?: string | null): void;
141
+ private setDataTree;
142
+ updateCacheGroup(groups: string | string[], data: TData, fieldKey?: string | null): void;
143
+ appendCacheGroup(group: string, data: TData): void;
144
+ protected getCacheByIndex(index: string): TCacheBody;
145
+ protected deleteCache(key: string): void;
146
+ setGlobalInitData(name: string, data: TGroupsData): void;
147
+ setInitData(data: TGroupsData): void;
148
+ }
149
+
150
+ declare class Http<D extends TResponseData = TResponseData, PATH = any, DATA = any> extends Core {
151
+ private cacheIndex;
152
+ private currentCache?;
153
+ private currentEvents;
154
+ private requestParams;
155
+ private method;
156
+ private params;
157
+ private path;
158
+ private queue;
159
+ private queueName;
160
+ private _promise;
161
+ private xhr?;
162
+ private tryRequestCount;
163
+ private tryRequestTimeout?;
164
+ constructor(method: TMethod, params: TParams<PATH, DATA>, context?: Core);
165
+ private initRequest;
166
+ private initCache;
167
+ get host(): string | undefined;
168
+ get promise(): Promise<DATA>;
169
+ get url(): string;
170
+ private initQueue;
171
+ private setEmit;
172
+ handleSuccess(data: any): void;
173
+ handleAbort(data: any): void;
174
+ handleFail(data: any): void;
175
+ handleError(data: any): void;
176
+ handleComplete(data: any): void;
177
+ handleProgress(progress: TRequestProgress): void;
178
+ private encodeUrlParams;
179
+ private cuteUndifinedParams;
180
+ private tryHttpRequest;
181
+ private fileRequest;
182
+ private httpRequest;
183
+ private streamRequest;
184
+ request(force?: boolean): this;
185
+ abort(): void;
186
+ addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
187
+ updateCache(data: TData, fieldKey?: string | null): void;
188
+ clearCache(data?: TData, fieldKey?: string | null): void;
189
+ }
190
+
191
+ /** Laravel API Client */
192
+ declare class API<D extends TResponseData = TResponseData, U extends TUser = TUser, S extends D['success'] = D['success']> extends Core {
193
+ private static instance;
194
+ private _user;
195
+ private token?;
196
+ private csrfToken?;
197
+ constructor(config: TConfig);
198
+ http<DATA extends S[PATH]['?'], PATH extends keyof S = keyof S>(method: TMethod, params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
199
+ get<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA, 'GET'>): Http<D, PATH, DATA>;
200
+ head<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
201
+ post<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
202
+ put<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
203
+ patch<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
204
+ delete<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
205
+ options<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
206
+ connect<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
207
+ trace<DATA extends S[PATH]['?'] = any, PATH extends keyof S = keyof S>(params: TParams<PATH, DATA>): Http<D, PATH, DATA>;
208
+ addListener<EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void): EventListener;
209
+ setToken(token: string): void;
210
+ setCSRFToken(csrfToken: string): void;
211
+ getConfig(): TConfig;
212
+ getToken(): string | undefined;
213
+ getCSRFToken(): string | undefined;
214
+ getUid(): number;
215
+ getUser(): U;
216
+ get uid(): number;
217
+ get user(): U;
218
+ get host(): string;
219
+ setLogin(user: U, token?: string): void;
220
+ setUser(user: U): void;
221
+ updateUser(user: U): void;
222
+ logout(): Promise<void>;
223
+ static http: <DATA extends any, PATH extends string = string>(method: TMethod, params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
224
+ static get: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA, "GET">) => Http<TResponseData, PATH, DATA>;
225
+ static head: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
226
+ static post: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
227
+ static put: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
228
+ static patch: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
229
+ static delete: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
230
+ static options: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
231
+ static connect: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
232
+ static trace: <DATA extends any = any, PATH extends string = string>(params: TParams<PATH, DATA>) => Http<TResponseData, PATH, DATA>;
233
+ static setConfig: (config: TConfig) => void;
234
+ static setHost: (host: string) => void;
235
+ static setUser: (user: TUser) => void;
236
+ static updateUser: (user: TUser) => void;
237
+ static logout: () => Promise<void>;
238
+ static setToken: (token: string) => void;
239
+ static setLogin: (user: TUser, token?: string) => void;
240
+ static addListener: <EVENT extends keyof TListenerEvents, DATA extends TListenerEvents[EVENT]>(event: EVENT, callback: (data: DATA) => void) => EventListener;
241
+ static setInitData: (data: TGroupsData) => void;
242
+ static setCSRFToken: (csrfToken: string) => void;
243
+ static getCSRFToken: () => string | undefined;
244
+ static triggerByCacheGroup: (groups: string | string[]) => void;
245
+ static clearCacheGroup: (groups: string | string[], data?: TData | undefined, fieldKey?: string | null) => void;
246
+ static updateCacheGroup: (groups: string | string[], data: TData, fieldKey?: string | null) => void;
247
+ static getToken: () => string | undefined;
248
+ static getUid: () => number;
249
+ static getUser: () => TUser;
250
+ static user: TUser;
251
+ static uid: number;
252
+ /**
253
+ * @deprecated The method should not be used
254
+ */
255
+ static deleteCacheGroup: (groups: string | string[], data?: TData | undefined, fieldKey?: string | null) => void;
256
+ }
257
+
258
+ export { type TResponseData, API as default };