krawlet-js 1.0.0

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,362 @@
1
+ declare enum ErrorCode {
2
+ BAD_REQUEST = "BAD_REQUEST",
3
+ UNAUTHORIZED = "UNAUTHORIZED",
4
+ FORBIDDEN = "FORBIDDEN",
5
+ NOT_FOUND = "NOT_FOUND",
6
+ VALIDATION_ERROR = "VALIDATION_ERROR",
7
+ RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED",
8
+ PLAYER_NOT_FOUND = "PLAYER_NOT_FOUND",
9
+ SHOP_NOT_FOUND = "SHOP_NOT_FOUND",
10
+ TURTLE_NOT_FOUND = "TURTLE_NOT_FOUND",
11
+ INVALID_API_KEY = "INVALID_API_KEY",
12
+ INTERNAL_ERROR = "INTERNAL_ERROR",
13
+ DATABASE_ERROR = "DATABASE_ERROR",
14
+ HEALTH_CHECK_FAILED = "HEALTH_CHECK_FAILED"
15
+ }
16
+ type KnownAddressType = 'official' | 'shop' | 'gamble' | 'service' | 'company';
17
+ type PlayerNotifications = 'none' | 'self' | 'all';
18
+ type ItemChangeType = 'added' | 'removed';
19
+ interface Price {
20
+ id: string;
21
+ value: number;
22
+ currency: string;
23
+ address: string | null;
24
+ requiredMeta: string | null;
25
+ }
26
+ interface Item {
27
+ id: string;
28
+ shopId: string;
29
+ itemName: string;
30
+ itemNbt: string | null;
31
+ itemDisplayName: string | null;
32
+ itemDescription: string | null;
33
+ shopBuysItem: boolean | null;
34
+ noLimit: boolean | null;
35
+ dynamicPrice: boolean;
36
+ madeOnDemand: boolean;
37
+ requiresInteraction: boolean;
38
+ stock: number;
39
+ prices: Price[];
40
+ addresses: string[];
41
+ createdDate: string | null;
42
+ updatedDate: string | null;
43
+ }
44
+ interface Shop {
45
+ id: string;
46
+ name: string;
47
+ description: string | null;
48
+ owner: string | null;
49
+ computerId: number;
50
+ softwareName: string | null;
51
+ softwareVersion: string | null;
52
+ locationCoordinates: string | null;
53
+ locationDescription: string | null;
54
+ locationDimension: string | null;
55
+ items: Item[];
56
+ addresses: string[];
57
+ createdDate: string | null;
58
+ updatedDate: string | null;
59
+ }
60
+ interface Player {
61
+ minecraftUUID: string;
62
+ minecraftName: string;
63
+ kromerAddress: string;
64
+ notifications: PlayerNotifications;
65
+ createdDate: string | null;
66
+ updatedDate: string | null;
67
+ online: boolean;
68
+ }
69
+ interface KnownAddress {
70
+ id: string;
71
+ type: KnownAddressType;
72
+ address: string;
73
+ imageSrc: string | null;
74
+ name: string;
75
+ description: string;
76
+ createdDate: string | null;
77
+ updatedDate: string | null;
78
+ }
79
+ interface ShopChangeLog {
80
+ id: number;
81
+ shopId: string;
82
+ shopName: string;
83
+ field: string;
84
+ previousValue: string | null;
85
+ newValue: string | null;
86
+ isNewShop: boolean;
87
+ createdAt: string;
88
+ updatedAt: string;
89
+ }
90
+ interface ItemChangeLog {
91
+ id: number;
92
+ shopId: string;
93
+ shopName: string;
94
+ changeType: ItemChangeType;
95
+ itemName: string;
96
+ itemDisplayName: string;
97
+ itemHash: string;
98
+ createdAt: string;
99
+ updatedAt: string;
100
+ }
101
+ interface PriceChangeLog {
102
+ id: number;
103
+ shopId: string;
104
+ shopName: string;
105
+ itemName: string;
106
+ itemDisplayName: string;
107
+ itemHash: string;
108
+ field: string;
109
+ previousValue: string | null;
110
+ newValue: string | null;
111
+ createdAt: string;
112
+ updatedAt: string;
113
+ }
114
+ interface ShopSyncData {
115
+ info: {
116
+ name: string;
117
+ description?: string;
118
+ owner?: string;
119
+ computerID: number;
120
+ software?: {
121
+ name: string;
122
+ version: string;
123
+ };
124
+ location?: {
125
+ coordinates: [number, number, number];
126
+ description?: string;
127
+ dimension?: string;
128
+ };
129
+ };
130
+ items: Array<{
131
+ item: {
132
+ name: string;
133
+ nbt?: string;
134
+ displayName?: string;
135
+ description?: string;
136
+ };
137
+ shopBuysItem?: boolean;
138
+ noLimit?: boolean;
139
+ dynamicPrice?: boolean;
140
+ madeOnDemand?: boolean;
141
+ requiresInteraction?: boolean;
142
+ stock?: number;
143
+ prices: Array<{
144
+ value: number;
145
+ currency: string;
146
+ address?: string;
147
+ requiredMeta?: string;
148
+ }>;
149
+ }>;
150
+ }
151
+ interface RateLimit {
152
+ limit: number;
153
+ remaining: number;
154
+ reset: number;
155
+ }
156
+ interface ApiResponseMeta {
157
+ timestamp: string;
158
+ elapsed: number;
159
+ version: string;
160
+ requestId: string;
161
+ rateLimit?: RateLimit;
162
+ }
163
+ interface ApiResponse<T> {
164
+ success: true;
165
+ data: T;
166
+ meta: ApiResponseMeta;
167
+ }
168
+ interface ErrorResponse {
169
+ success: false;
170
+ error: {
171
+ code: string;
172
+ message: string;
173
+ details?: unknown;
174
+ };
175
+ meta: ApiResponseMeta;
176
+ }
177
+ interface HealthResponse {
178
+ status: string;
179
+ timestamp: string;
180
+ uptime: number;
181
+ version: string;
182
+ name: string;
183
+ }
184
+ interface DetailedHealthResponse {
185
+ status: 'healthy' | 'degraded';
186
+ checks: {
187
+ database: boolean;
188
+ memory: boolean;
189
+ };
190
+ details: {
191
+ timestamp: string;
192
+ uptime: number;
193
+ version: string;
194
+ name: string;
195
+ memory: {
196
+ heapUsed: string;
197
+ heapTotal: string;
198
+ rss: string;
199
+ };
200
+ node: string;
201
+ platform: string;
202
+ };
203
+ }
204
+ interface StorageData {
205
+ data: unknown;
206
+ retrievedAt: string;
207
+ }
208
+ interface ReportRecords {
209
+ count: number;
210
+ records: unknown[];
211
+ }
212
+ interface ChangeLogResult {
213
+ count: number;
214
+ logs: unknown[];
215
+ }
216
+ interface ChangeLogOptions {
217
+ limit?: number;
218
+ offset?: number;
219
+ shopId?: string;
220
+ since?: string;
221
+ until?: string;
222
+ }
223
+
224
+ interface HttpClientConfig {
225
+ baseUrl: string;
226
+ apiKey?: string;
227
+ timeout?: number;
228
+ headers?: Record<string, string>;
229
+ enableRetry?: boolean;
230
+ maxRetries?: number;
231
+ retryDelay?: number;
232
+ }
233
+ interface RequestOptions {
234
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
235
+ params?: Record<string, string | number | boolean | undefined>;
236
+ body?: unknown;
237
+ headers?: Record<string, string>;
238
+ apiKey?: string;
239
+ }
240
+ declare class HttpClient {
241
+ private config;
242
+ private lastRateLimit?;
243
+ constructor(config: HttpClientConfig);
244
+ getRateLimit(): RateLimit | undefined;
245
+ request<T>(path: string, options?: RequestOptions): Promise<ApiResponse<T>>;
246
+ private buildUrl;
247
+ private buildHeaders;
248
+ private extractRateLimit;
249
+ private handleErrorResponse;
250
+ private shouldRetry;
251
+ private calculateRetryDelay;
252
+ private sleep;
253
+ }
254
+
255
+ declare class HealthResource {
256
+ private client;
257
+ constructor(client: HttpClient);
258
+ check(): Promise<HealthResponse>;
259
+ detailed(): Promise<DetailedHealthResponse>;
260
+ }
261
+
262
+ declare class PlayersResource {
263
+ private client;
264
+ constructor(client: HttpClient);
265
+ getAll(): Promise<Player[]>;
266
+ getByAddresses(addresses: string[]): Promise<Player[]>;
267
+ getByNames(names: string[]): Promise<Player[]>;
268
+ getByUuids(uuids: string[]): Promise<Player[]>;
269
+ }
270
+
271
+ declare class ShopsResource {
272
+ private client;
273
+ constructor(client: HttpClient);
274
+ getAll(): Promise<Shop[]>;
275
+ get(id: string): Promise<Shop>;
276
+ getItems(id: string): Promise<Item[]>;
277
+ update(data: ShopSyncData, token: string): Promise<{
278
+ message: string;
279
+ }>;
280
+ }
281
+
282
+ declare class ItemsResource {
283
+ private client;
284
+ constructor(client: HttpClient);
285
+ getAll(): Promise<Item[]>;
286
+ }
287
+
288
+ declare class AddressesResource {
289
+ private client;
290
+ constructor(client: HttpClient);
291
+ getAll(): Promise<KnownAddress[]>;
292
+ }
293
+
294
+ declare class StorageResource {
295
+ private client;
296
+ constructor(client: HttpClient);
297
+ get(): Promise<StorageData>;
298
+ set(data: unknown, token: string): Promise<{
299
+ message: string;
300
+ timestamp: string;
301
+ }>;
302
+ }
303
+
304
+ declare class ReportsResource {
305
+ private client;
306
+ constructor(client: HttpClient);
307
+ getStats(): Promise<unknown>;
308
+ getValidationFailures(options?: {
309
+ limit?: number;
310
+ }): Promise<ReportRecords>;
311
+ getSuccessfulPosts(options?: {
312
+ limit?: number;
313
+ }): Promise<ReportRecords>;
314
+ getShopChanges(options?: {
315
+ limit?: number;
316
+ shopId?: string;
317
+ }): Promise<ReportRecords>;
318
+ getItemChanges(options?: {
319
+ limit?: number;
320
+ shopId?: string;
321
+ }): Promise<ReportRecords>;
322
+ getShopChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
323
+ getItemChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
324
+ getPriceChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
325
+ get(id: string): Promise<unknown>;
326
+ }
327
+
328
+ interface KrawletClientConfig {
329
+ baseUrl?: string;
330
+ apiKey?: string;
331
+ timeout?: number;
332
+ headers?: Record<string, string>;
333
+ enableRetry?: boolean;
334
+ maxRetries?: number;
335
+ retryDelay?: number;
336
+ }
337
+ declare class KrawletClient {
338
+ private httpClient;
339
+ readonly health: HealthResource;
340
+ readonly players: PlayersResource;
341
+ readonly shops: ShopsResource;
342
+ readonly items: ItemsResource;
343
+ readonly addresses: AddressesResource;
344
+ readonly storage: StorageResource;
345
+ readonly reports: ReportsResource;
346
+ constructor(config?: KrawletClientConfig);
347
+ getRateLimit(): RateLimit | undefined;
348
+ }
349
+
350
+ declare class KrawletError extends Error {
351
+ readonly code: string;
352
+ readonly statusCode: number;
353
+ readonly requestId?: string;
354
+ readonly details?: unknown;
355
+ readonly response?: ErrorResponse;
356
+ constructor(message: string, code: string, statusCode: number, requestId?: string, details?: unknown, response?: ErrorResponse);
357
+ isClientError(): boolean;
358
+ isServerError(): boolean;
359
+ isRateLimitError(): boolean;
360
+ }
361
+
362
+ export { AddressesResource, type ApiResponse, type ApiResponseMeta, type ChangeLogOptions, type ChangeLogResult, type DetailedHealthResponse, ErrorCode, type ErrorResponse, HealthResource, type HealthResponse, type Item, type ItemChangeLog, type ItemChangeType, ItemsResource, type KnownAddress, type KnownAddressType, KrawletClient, type KrawletClientConfig, KrawletError, type Player, type PlayerNotifications, PlayersResource, type Price, type PriceChangeLog, type RateLimit, type ReportRecords, ReportsResource, type Shop, type ShopChangeLog, type ShopSyncData, ShopsResource, type StorageData, StorageResource };
@@ -0,0 +1,362 @@
1
+ declare enum ErrorCode {
2
+ BAD_REQUEST = "BAD_REQUEST",
3
+ UNAUTHORIZED = "UNAUTHORIZED",
4
+ FORBIDDEN = "FORBIDDEN",
5
+ NOT_FOUND = "NOT_FOUND",
6
+ VALIDATION_ERROR = "VALIDATION_ERROR",
7
+ RATE_LIMIT_EXCEEDED = "RATE_LIMIT_EXCEEDED",
8
+ PLAYER_NOT_FOUND = "PLAYER_NOT_FOUND",
9
+ SHOP_NOT_FOUND = "SHOP_NOT_FOUND",
10
+ TURTLE_NOT_FOUND = "TURTLE_NOT_FOUND",
11
+ INVALID_API_KEY = "INVALID_API_KEY",
12
+ INTERNAL_ERROR = "INTERNAL_ERROR",
13
+ DATABASE_ERROR = "DATABASE_ERROR",
14
+ HEALTH_CHECK_FAILED = "HEALTH_CHECK_FAILED"
15
+ }
16
+ type KnownAddressType = 'official' | 'shop' | 'gamble' | 'service' | 'company';
17
+ type PlayerNotifications = 'none' | 'self' | 'all';
18
+ type ItemChangeType = 'added' | 'removed';
19
+ interface Price {
20
+ id: string;
21
+ value: number;
22
+ currency: string;
23
+ address: string | null;
24
+ requiredMeta: string | null;
25
+ }
26
+ interface Item {
27
+ id: string;
28
+ shopId: string;
29
+ itemName: string;
30
+ itemNbt: string | null;
31
+ itemDisplayName: string | null;
32
+ itemDescription: string | null;
33
+ shopBuysItem: boolean | null;
34
+ noLimit: boolean | null;
35
+ dynamicPrice: boolean;
36
+ madeOnDemand: boolean;
37
+ requiresInteraction: boolean;
38
+ stock: number;
39
+ prices: Price[];
40
+ addresses: string[];
41
+ createdDate: string | null;
42
+ updatedDate: string | null;
43
+ }
44
+ interface Shop {
45
+ id: string;
46
+ name: string;
47
+ description: string | null;
48
+ owner: string | null;
49
+ computerId: number;
50
+ softwareName: string | null;
51
+ softwareVersion: string | null;
52
+ locationCoordinates: string | null;
53
+ locationDescription: string | null;
54
+ locationDimension: string | null;
55
+ items: Item[];
56
+ addresses: string[];
57
+ createdDate: string | null;
58
+ updatedDate: string | null;
59
+ }
60
+ interface Player {
61
+ minecraftUUID: string;
62
+ minecraftName: string;
63
+ kromerAddress: string;
64
+ notifications: PlayerNotifications;
65
+ createdDate: string | null;
66
+ updatedDate: string | null;
67
+ online: boolean;
68
+ }
69
+ interface KnownAddress {
70
+ id: string;
71
+ type: KnownAddressType;
72
+ address: string;
73
+ imageSrc: string | null;
74
+ name: string;
75
+ description: string;
76
+ createdDate: string | null;
77
+ updatedDate: string | null;
78
+ }
79
+ interface ShopChangeLog {
80
+ id: number;
81
+ shopId: string;
82
+ shopName: string;
83
+ field: string;
84
+ previousValue: string | null;
85
+ newValue: string | null;
86
+ isNewShop: boolean;
87
+ createdAt: string;
88
+ updatedAt: string;
89
+ }
90
+ interface ItemChangeLog {
91
+ id: number;
92
+ shopId: string;
93
+ shopName: string;
94
+ changeType: ItemChangeType;
95
+ itemName: string;
96
+ itemDisplayName: string;
97
+ itemHash: string;
98
+ createdAt: string;
99
+ updatedAt: string;
100
+ }
101
+ interface PriceChangeLog {
102
+ id: number;
103
+ shopId: string;
104
+ shopName: string;
105
+ itemName: string;
106
+ itemDisplayName: string;
107
+ itemHash: string;
108
+ field: string;
109
+ previousValue: string | null;
110
+ newValue: string | null;
111
+ createdAt: string;
112
+ updatedAt: string;
113
+ }
114
+ interface ShopSyncData {
115
+ info: {
116
+ name: string;
117
+ description?: string;
118
+ owner?: string;
119
+ computerID: number;
120
+ software?: {
121
+ name: string;
122
+ version: string;
123
+ };
124
+ location?: {
125
+ coordinates: [number, number, number];
126
+ description?: string;
127
+ dimension?: string;
128
+ };
129
+ };
130
+ items: Array<{
131
+ item: {
132
+ name: string;
133
+ nbt?: string;
134
+ displayName?: string;
135
+ description?: string;
136
+ };
137
+ shopBuysItem?: boolean;
138
+ noLimit?: boolean;
139
+ dynamicPrice?: boolean;
140
+ madeOnDemand?: boolean;
141
+ requiresInteraction?: boolean;
142
+ stock?: number;
143
+ prices: Array<{
144
+ value: number;
145
+ currency: string;
146
+ address?: string;
147
+ requiredMeta?: string;
148
+ }>;
149
+ }>;
150
+ }
151
+ interface RateLimit {
152
+ limit: number;
153
+ remaining: number;
154
+ reset: number;
155
+ }
156
+ interface ApiResponseMeta {
157
+ timestamp: string;
158
+ elapsed: number;
159
+ version: string;
160
+ requestId: string;
161
+ rateLimit?: RateLimit;
162
+ }
163
+ interface ApiResponse<T> {
164
+ success: true;
165
+ data: T;
166
+ meta: ApiResponseMeta;
167
+ }
168
+ interface ErrorResponse {
169
+ success: false;
170
+ error: {
171
+ code: string;
172
+ message: string;
173
+ details?: unknown;
174
+ };
175
+ meta: ApiResponseMeta;
176
+ }
177
+ interface HealthResponse {
178
+ status: string;
179
+ timestamp: string;
180
+ uptime: number;
181
+ version: string;
182
+ name: string;
183
+ }
184
+ interface DetailedHealthResponse {
185
+ status: 'healthy' | 'degraded';
186
+ checks: {
187
+ database: boolean;
188
+ memory: boolean;
189
+ };
190
+ details: {
191
+ timestamp: string;
192
+ uptime: number;
193
+ version: string;
194
+ name: string;
195
+ memory: {
196
+ heapUsed: string;
197
+ heapTotal: string;
198
+ rss: string;
199
+ };
200
+ node: string;
201
+ platform: string;
202
+ };
203
+ }
204
+ interface StorageData {
205
+ data: unknown;
206
+ retrievedAt: string;
207
+ }
208
+ interface ReportRecords {
209
+ count: number;
210
+ records: unknown[];
211
+ }
212
+ interface ChangeLogResult {
213
+ count: number;
214
+ logs: unknown[];
215
+ }
216
+ interface ChangeLogOptions {
217
+ limit?: number;
218
+ offset?: number;
219
+ shopId?: string;
220
+ since?: string;
221
+ until?: string;
222
+ }
223
+
224
+ interface HttpClientConfig {
225
+ baseUrl: string;
226
+ apiKey?: string;
227
+ timeout?: number;
228
+ headers?: Record<string, string>;
229
+ enableRetry?: boolean;
230
+ maxRetries?: number;
231
+ retryDelay?: number;
232
+ }
233
+ interface RequestOptions {
234
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
235
+ params?: Record<string, string | number | boolean | undefined>;
236
+ body?: unknown;
237
+ headers?: Record<string, string>;
238
+ apiKey?: string;
239
+ }
240
+ declare class HttpClient {
241
+ private config;
242
+ private lastRateLimit?;
243
+ constructor(config: HttpClientConfig);
244
+ getRateLimit(): RateLimit | undefined;
245
+ request<T>(path: string, options?: RequestOptions): Promise<ApiResponse<T>>;
246
+ private buildUrl;
247
+ private buildHeaders;
248
+ private extractRateLimit;
249
+ private handleErrorResponse;
250
+ private shouldRetry;
251
+ private calculateRetryDelay;
252
+ private sleep;
253
+ }
254
+
255
+ declare class HealthResource {
256
+ private client;
257
+ constructor(client: HttpClient);
258
+ check(): Promise<HealthResponse>;
259
+ detailed(): Promise<DetailedHealthResponse>;
260
+ }
261
+
262
+ declare class PlayersResource {
263
+ private client;
264
+ constructor(client: HttpClient);
265
+ getAll(): Promise<Player[]>;
266
+ getByAddresses(addresses: string[]): Promise<Player[]>;
267
+ getByNames(names: string[]): Promise<Player[]>;
268
+ getByUuids(uuids: string[]): Promise<Player[]>;
269
+ }
270
+
271
+ declare class ShopsResource {
272
+ private client;
273
+ constructor(client: HttpClient);
274
+ getAll(): Promise<Shop[]>;
275
+ get(id: string): Promise<Shop>;
276
+ getItems(id: string): Promise<Item[]>;
277
+ update(data: ShopSyncData, token: string): Promise<{
278
+ message: string;
279
+ }>;
280
+ }
281
+
282
+ declare class ItemsResource {
283
+ private client;
284
+ constructor(client: HttpClient);
285
+ getAll(): Promise<Item[]>;
286
+ }
287
+
288
+ declare class AddressesResource {
289
+ private client;
290
+ constructor(client: HttpClient);
291
+ getAll(): Promise<KnownAddress[]>;
292
+ }
293
+
294
+ declare class StorageResource {
295
+ private client;
296
+ constructor(client: HttpClient);
297
+ get(): Promise<StorageData>;
298
+ set(data: unknown, token: string): Promise<{
299
+ message: string;
300
+ timestamp: string;
301
+ }>;
302
+ }
303
+
304
+ declare class ReportsResource {
305
+ private client;
306
+ constructor(client: HttpClient);
307
+ getStats(): Promise<unknown>;
308
+ getValidationFailures(options?: {
309
+ limit?: number;
310
+ }): Promise<ReportRecords>;
311
+ getSuccessfulPosts(options?: {
312
+ limit?: number;
313
+ }): Promise<ReportRecords>;
314
+ getShopChanges(options?: {
315
+ limit?: number;
316
+ shopId?: string;
317
+ }): Promise<ReportRecords>;
318
+ getItemChanges(options?: {
319
+ limit?: number;
320
+ shopId?: string;
321
+ }): Promise<ReportRecords>;
322
+ getShopChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
323
+ getItemChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
324
+ getPriceChangeLogs(options?: ChangeLogOptions): Promise<ChangeLogResult>;
325
+ get(id: string): Promise<unknown>;
326
+ }
327
+
328
+ interface KrawletClientConfig {
329
+ baseUrl?: string;
330
+ apiKey?: string;
331
+ timeout?: number;
332
+ headers?: Record<string, string>;
333
+ enableRetry?: boolean;
334
+ maxRetries?: number;
335
+ retryDelay?: number;
336
+ }
337
+ declare class KrawletClient {
338
+ private httpClient;
339
+ readonly health: HealthResource;
340
+ readonly players: PlayersResource;
341
+ readonly shops: ShopsResource;
342
+ readonly items: ItemsResource;
343
+ readonly addresses: AddressesResource;
344
+ readonly storage: StorageResource;
345
+ readonly reports: ReportsResource;
346
+ constructor(config?: KrawletClientConfig);
347
+ getRateLimit(): RateLimit | undefined;
348
+ }
349
+
350
+ declare class KrawletError extends Error {
351
+ readonly code: string;
352
+ readonly statusCode: number;
353
+ readonly requestId?: string;
354
+ readonly details?: unknown;
355
+ readonly response?: ErrorResponse;
356
+ constructor(message: string, code: string, statusCode: number, requestId?: string, details?: unknown, response?: ErrorResponse);
357
+ isClientError(): boolean;
358
+ isServerError(): boolean;
359
+ isRateLimitError(): boolean;
360
+ }
361
+
362
+ export { AddressesResource, type ApiResponse, type ApiResponseMeta, type ChangeLogOptions, type ChangeLogResult, type DetailedHealthResponse, ErrorCode, type ErrorResponse, HealthResource, type HealthResponse, type Item, type ItemChangeLog, type ItemChangeType, ItemsResource, type KnownAddress, type KnownAddressType, KrawletClient, type KrawletClientConfig, KrawletError, type Player, type PlayerNotifications, PlayersResource, type Price, type PriceChangeLog, type RateLimit, type ReportRecords, ReportsResource, type Shop, type ShopChangeLog, type ShopSyncData, ShopsResource, type StorageData, StorageResource };