@medrunner/api-client 0.0.1-rc.2 → 0.1.1

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,449 @@
1
+ import { Logger } from 'ts-log';
2
+ import { HubConnection } from '@microsoft/signalr';
3
+
4
+ type Func<T> = () => T;
5
+ type AsyncProvider<T> = Func<Promise<T>>;
6
+ type AsyncAction<T> = (arg: T) => Promise<void>;
7
+ type HeaderProvider<T extends Headers = Headers> = AsyncProvider<T>;
8
+ type Headers = {
9
+ [key: string]: unknown;
10
+ };
11
+
12
+ interface DbItem {
13
+ id: string;
14
+ created: string;
15
+ updated: string;
16
+ }
17
+
18
+ interface ApiToken extends DbItem {
19
+ userId: string;
20
+ name: string;
21
+ expirationDate?: number;
22
+ lastUsed?: string;
23
+ }
24
+
25
+ interface ApiResponse<T = unknown> {
26
+ success: boolean;
27
+ data?: T;
28
+ errorMessage?: string;
29
+ statusCode?: number;
30
+ }
31
+
32
+ interface TokenGrant {
33
+ accessToken: string;
34
+ refreshToken: string;
35
+ }
36
+
37
+ interface ApiConfig {
38
+ baseUrl?: string;
39
+ accessToken?: string;
40
+ refreshToken?: string;
41
+ }
42
+
43
+ declare class TokenManager extends ApiEndpoint {
44
+ private readonly refreshCallback?;
45
+ private accessToken?;
46
+ private refreshToken?;
47
+ constructor(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant> | undefined, log?: Logger, headerProvider?: HeaderProvider);
48
+ protected endpoint(): string;
49
+ getAccessToken(): Promise<string | undefined>;
50
+ private fetchToken;
51
+ private static getJwtFromAccessToken;
52
+ }
53
+
54
+ declare abstract class ApiEndpoint {
55
+ readonly tokenManager: TokenManager;
56
+ protected readonly log?: Logger | undefined;
57
+ private readonly headerProvider?;
58
+ readonly baseUrl: string;
59
+ protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
60
+ protected abstract endpoint(): string;
61
+ protected endpointUrl(): string;
62
+ private headersForRequest;
63
+ protected getRequest<T = unknown>(endpoint: string, queryParams?: {
64
+ [key: string]: unknown;
65
+ }, noAuthentication?: boolean): Promise<ApiResponse<T>>;
66
+ protected postRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
67
+ protected putRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
68
+ protected patchRequest<T = unknown>(endpoint: string, data?: unknown, noAuthentication?: boolean): Promise<ApiResponse<T>>;
69
+ protected deleteRequest(endpoint: string, queryParams?: {
70
+ [key: string]: unknown;
71
+ }, noAuthentication?: boolean): Promise<ApiResponse>;
72
+ private makeRequestWithBody;
73
+ private makeRequestWithoutBody;
74
+ private buildUrl;
75
+ private makeRequest;
76
+ }
77
+
78
+ interface CreateApiTokenRequest {
79
+ name: string;
80
+ expirationDate?: Date;
81
+ }
82
+
83
+ interface SignOutRequest {
84
+ refreshToken: string;
85
+ }
86
+
87
+ declare class AuthEndpoint extends ApiEndpoint {
88
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
89
+ protected endpoint(): string;
90
+ signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
91
+ getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
92
+ createApiToken(newToken: CreateApiTokenRequest): Promise<ApiResponse<string>>;
93
+ deleteApiToken(id: string): Promise<ApiResponse>;
94
+ }
95
+
96
+ interface ChatMessage extends DbItem {
97
+ emergencyId: string;
98
+ senderId: string;
99
+ messageSentTimestamp: number;
100
+ contents: string;
101
+ }
102
+
103
+ interface PaginatedResponse<T = unknown> {
104
+ data: T[];
105
+ paginationToken?: string;
106
+ }
107
+
108
+ interface ChatMessageRequest {
109
+ emergencyId: string;
110
+ contents: string;
111
+ }
112
+
113
+ declare class ChatMessageEndpoint extends ApiEndpoint {
114
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
115
+ protected endpoint(): string;
116
+ getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
117
+ sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
118
+ }
119
+
120
+ interface ClientHistory extends DbItem {
121
+ emergencyId: string;
122
+ clientId: string;
123
+ emergencyCreationTimestamp: string;
124
+ }
125
+
126
+ interface EmergencyStats {
127
+ success: number;
128
+ failed: number;
129
+ noContact: number;
130
+ refused: number;
131
+ aborted: number;
132
+ serverError: number;
133
+ canceled: number;
134
+ }
135
+
136
+ interface WritableDbItem extends DbItem {
137
+ updated: string;
138
+ }
139
+
140
+ interface Person extends WritableDbItem {
141
+ discordId: string;
142
+ rsiHandle?: string;
143
+ roles: UserRoles;
144
+ personType: PersonType;
145
+ active: boolean;
146
+ deactivationReason: AccountDeactivationReason;
147
+ clientStats: ClientStats;
148
+ activeEmergency?: string;
149
+ clientPortalPreferences: Record<string, unknown>;
150
+ }
151
+ declare enum UserRoles {
152
+ CLIENT = 1,
153
+ STAFF = 2,
154
+ DEVELOPER = 524288,
155
+ BOT = 1048576
156
+ }
157
+ declare enum PersonType {
158
+ CLIENT = 0,
159
+ STAFF = 1,
160
+ BOT = 2
161
+ }
162
+ declare enum AccountDeactivationReason {
163
+ NONE = 0,
164
+ CLIENT_DRIVEN_DELETION = 1,
165
+ TERMINATED = 2,
166
+ BLOCKED = 3
167
+ }
168
+ interface ClientStats {
169
+ missions: EmergencyStats;
170
+ }
171
+ interface BlockedStatus {
172
+ blocked: boolean;
173
+ }
174
+
175
+ declare class ClientEndpoint extends ApiEndpoint {
176
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
177
+ protected endpoint(): string;
178
+ get(): Promise<ApiResponse<Person>>;
179
+ getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
180
+ getBlockedStatus(): Promise<ApiResponse<BlockedStatus>>;
181
+ linkClient(rsiHandle: string): Promise<ApiResponse>;
182
+ setSettings(settings: Record<string, unknown>): Promise<ApiResponse<Record<string, unknown>>>;
183
+ deactivate(): Promise<ApiResponse>;
184
+ }
185
+
186
+ declare enum CancellationReason {
187
+ NONE = 0,
188
+ OTHER = 1,
189
+ SUCCUMBED_TO_WOUNDS = 2,
190
+ SERVER_ERROR = 3,
191
+ RESPAWNED = 4,
192
+ RESCUED = 5
193
+ }
194
+
195
+ declare enum MissionStatus {
196
+ CREATED = 0,
197
+ RECEIVED = 1,
198
+ IN_PROGRESS = 2,
199
+ SUCCESS = 3,
200
+ FAILED = 4,
201
+ NO_CONTACT = 5,
202
+ CANCELED = 6,
203
+ REFUSED = 7,
204
+ ABORTED = 8,
205
+ SERVER_ERROR = 9
206
+ }
207
+
208
+ declare enum ResponseRating {
209
+ NONE = 0,
210
+ GOOD = 1,
211
+ BAD = 2
212
+ }
213
+
214
+ declare enum Class {
215
+ NONE = 0,
216
+ MEDIC = 1,
217
+ SECURITY = 2,
218
+ PILOT = 3,
219
+ LEAD = 4,
220
+ DISPATCH = 5,
221
+ DISPATCH_LEAD = 6,
222
+ DISPATCH_TRAINEE = 7,
223
+ DISPATCH_OBSERVER = 8,
224
+ QRF = 9,
225
+ LOGISTICS = 10
226
+ }
227
+
228
+ interface TeamMember {
229
+ discordId: string;
230
+ id: string;
231
+ rsiHandle?: string;
232
+ class: Class;
233
+ teamId?: string;
234
+ }
235
+
236
+ interface Team {
237
+ staff: TeamMember[];
238
+ dispatchers: TeamMember[];
239
+ allMembers: TeamMember[];
240
+ maxMembers: number;
241
+ }
242
+
243
+ declare enum ThreatLevel {
244
+ UNKNOWN = 0,
245
+ LOW = 1,
246
+ MEDIUM = 2,
247
+ HIGH = 3
248
+ }
249
+
250
+ interface Emergency extends WritableDbItem {
251
+ system: string;
252
+ subsystem: string;
253
+ tertiaryLocation?: string;
254
+ threatLevel: ThreatLevel;
255
+ remarks?: string;
256
+ clientRsiHandle: string;
257
+ clientDiscordId?: string;
258
+ clientId?: string;
259
+ subscriptionTier: string;
260
+ status: MissionStatus;
261
+ alertMessage?: MessageCache;
262
+ clientMessage?: MessageCache;
263
+ coordinationThread?: MessageCache;
264
+ afterActionReportMessage?: MessageCache;
265
+ interactionMessageId?: string;
266
+ respondingTeam: Team;
267
+ respondingTeams: RespondingTeam[];
268
+ creationTimestamp: number;
269
+ acceptedTimestamp?: number;
270
+ completionTimestamp?: number;
271
+ rating: ResponseRating;
272
+ ratingRemarks?: string;
273
+ test: boolean;
274
+ cancellationReason: CancellationReason;
275
+ refusalReason?: string;
276
+ origin: Origin;
277
+ clientData?: ClientData;
278
+ isComplete: boolean;
279
+ missionName?: string;
280
+ afterActionReport?: AfterActionReport;
281
+ submissionSource: SubmissionSource;
282
+ }
283
+ interface MessageCache {
284
+ id: string;
285
+ channelId: string;
286
+ }
287
+ interface ClientData {
288
+ rsiHandle: string;
289
+ rsiProfileLink: string;
290
+ gotClientData: boolean;
291
+ redactedOrgOnProfile: boolean;
292
+ reported: boolean;
293
+ }
294
+ interface AfterActionReport {
295
+ remarks?: string;
296
+ submitterStaffId: string;
297
+ servicesProvided: MissionServices;
298
+ suspectedTrap: boolean;
299
+ hasBeenEdited: boolean;
300
+ submittedOn: number;
301
+ editHistory: AfterActionReportEdit[];
302
+ }
303
+ interface AfterActionReportEdit {
304
+ editorStaffId: string;
305
+ editTime: number;
306
+ }
307
+ declare enum MissionServices {
308
+ NONE = 0,
309
+ PVE = 1,
310
+ PVP = 2,
311
+ REVIVED_HEALED = 4,
312
+ HEALED_IN_SHIP = 8,
313
+ EXTRACT_SAFE_ZONE = 16
314
+ }
315
+ declare enum Origin {
316
+ UNKNOWN = 0,
317
+ REPORT = 1,
318
+ BEACON = 2,
319
+ EVALUATION = 3
320
+ }
321
+ declare enum SubmissionSource {
322
+ UNKNOWN = 0,
323
+ API = 1,
324
+ BOT = 2
325
+ }
326
+ interface RespondingTeam {
327
+ id: string;
328
+ teamName: string;
329
+ }
330
+
331
+ interface CreateEmergencyRequest {
332
+ remarks?: string;
333
+ location: Location;
334
+ threatLevel: ThreatLevel;
335
+ }
336
+ interface Location {
337
+ system: string;
338
+ subsystem: string;
339
+ tertiaryLocation?: string;
340
+ }
341
+
342
+ interface LocationDetail {
343
+ name: string;
344
+ type: LocationType;
345
+ children: LocationDetail[];
346
+ }
347
+ declare enum LocationType {
348
+ UNKNOWN = 0,
349
+ SYSTEM = 1,
350
+ PLANET = 2,
351
+ MOON = 3
352
+ }
353
+
354
+ declare enum Level {
355
+ None = 0,
356
+ Tier1Section1 = 101,
357
+ Tier1Section2 = 102,
358
+ Tier1Section3 = 103,
359
+ Tier2Section1 = 201,
360
+ Tier2Section2 = 202,
361
+ Tier2Section3 = 203,
362
+ Tier3Section1 = 301,
363
+ Tier3Section2 = 302,
364
+ Tier3Section3 = 303,
365
+ Tier4Section1 = 401,
366
+ Tier4Section2 = 402,
367
+ Tier4Section3 = 403,
368
+ Tier5Section1 = 501,
369
+ Tier5Section2 = 502,
370
+ Tier5Section3 = 503,
371
+ Tier6Section1 = 601,
372
+ Tier6Section2 = 602,
373
+ Tier6Section3 = 603,
374
+ Tier7Section1 = 701,
375
+ Tier7Section2 = 702,
376
+ Tier7Section3 = 703,
377
+ Tier8Section1 = 801,
378
+ Tier8Section2 = 802,
379
+ Tier8Section3 = 803,
380
+ Tier9Section1 = 901,
381
+ Tier9Section2 = 902,
382
+ Tier9Section3 = 903,
383
+ Tier10Section1 = 1001,
384
+ Tier10Section2 = 1002,
385
+ Tier10Section3 = 1003
386
+ }
387
+
388
+ interface TeamDetailsResponse {
389
+ stats: ResponderDetails[];
390
+ aggregatedSuccessRate: number;
391
+ }
392
+ interface ResponderDetails {
393
+ id: string;
394
+ level: Level;
395
+ missionSuccessRate: number;
396
+ dispatchSuccessRate: number;
397
+ }
398
+
399
+ declare class EmergencyEndpoint extends ApiEndpoint {
400
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
401
+ protected endpoint(): string;
402
+ getEmergency(id: string): Promise<ApiResponse<Emergency>>;
403
+ getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
404
+ createEmergency(newEmergency: CreateEmergencyRequest): Promise<ApiResponse<Emergency>>;
405
+ cancelEmergencyWithReason(id: string, reason: CancellationReason): Promise<ApiResponse>;
406
+ rateServices(id: string, rating: ResponseRating, remarks?: string): Promise<ApiResponse>;
407
+ teamDetails(id: string): Promise<ApiResponse<TeamDetailsResponse>>;
408
+ emergencyLocations(): Promise<ApiResponse<LocationDetail[]>>;
409
+ }
410
+
411
+ interface MedalInformation {
412
+ level: Level;
413
+ successfulMissions: number;
414
+ }
415
+
416
+ declare class StaffEndpoint extends ApiEndpoint {
417
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
418
+ protected endpoint(): string;
419
+ medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
420
+ }
421
+
422
+ declare class WebsocketEndpoint extends ApiEndpoint {
423
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
424
+ private websocketManager;
425
+ protected endpoint(): string;
426
+ initialize(): Promise<HubConnection>;
427
+ }
428
+
429
+ interface ApiClient<TEmergency extends EmergencyEndpoint = EmergencyEndpoint, TClient extends ClientEndpoint = ClientEndpoint, TStaff extends StaffEndpoint = StaffEndpoint, TChatMessage extends ChatMessageEndpoint = ChatMessageEndpoint, TAuth extends AuthEndpoint = AuthEndpoint, TWebsocket extends WebsocketEndpoint = WebsocketEndpoint> {
430
+ emergency: TEmergency;
431
+ client: TClient;
432
+ staff: TStaff;
433
+ chatMessage: TChatMessage;
434
+ auth: TAuth;
435
+ websocket: TWebsocket;
436
+ }
437
+
438
+ declare class MedrunnerApiClient<TEmergency extends EmergencyEndpoint = EmergencyEndpoint, TClient extends ClientEndpoint = ClientEndpoint, TStaff extends StaffEndpoint = StaffEndpoint, TChatMessage extends ChatMessageEndpoint = ChatMessageEndpoint, TAuth extends AuthEndpoint = AuthEndpoint, TWebsocket extends WebsocketEndpoint = WebsocketEndpoint> implements ApiClient<TEmergency, TClient, TStaff, TChatMessage, TAuth, TWebsocket> {
439
+ readonly emergency: TEmergency;
440
+ readonly client: TClient;
441
+ readonly staff: TStaff;
442
+ readonly chatMessage: TChatMessage;
443
+ readonly auth: TAuth;
444
+ readonly websocket: TWebsocket;
445
+ protected constructor(emergency: TEmergency, client: TClient, staff: TStaff, chatMessage: TChatMessage, auth: TAuth, websocket: TWebsocket);
446
+ static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
447
+ }
448
+
449
+ export { AccountDeactivationReason, type AfterActionReport, type AfterActionReportEdit, type ApiClient, type ApiConfig, ApiEndpoint, type ApiResponse, type ApiToken, type AsyncAction, type AsyncProvider, AuthEndpoint, type BlockedStatus, CancellationReason, type ChatMessage, ChatMessageEndpoint, type ChatMessageRequest, Class, type ClientData, ClientEndpoint, type ClientHistory, type ClientStats, type CreateEmergencyRequest, type DbItem, type Emergency, EmergencyEndpoint, type EmergencyStats, type Func, type HeaderProvider, type Headers, Level, type Location, type LocationDetail, LocationType, type MedalInformation, MedrunnerApiClient, type MessageCache, MissionServices, MissionStatus, Origin, type PaginatedResponse, type Person, PersonType, type ResponderDetails, type RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, type Team, type TeamDetailsResponse, type TeamMember, ThreatLevel, type TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, type WritableDbItem };
package/dist/index.d.ts CHANGED
@@ -35,7 +35,7 @@ interface TokenGrant {
35
35
  }
36
36
 
37
37
  interface ApiConfig {
38
- baseUrl: string;
38
+ baseUrl?: string;
39
39
  accessToken?: string;
40
40
  refreshToken?: string;
41
41
  }
@@ -52,11 +52,11 @@ declare class TokenManager extends ApiEndpoint {
52
52
  }
53
53
 
54
54
  declare abstract class ApiEndpoint {
55
- readonly baseUrl: string;
56
55
  readonly tokenManager: TokenManager;
57
56
  protected readonly log?: Logger | undefined;
58
57
  private readonly headerProvider?;
59
- protected constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
58
+ readonly baseUrl: string;
59
+ protected constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
60
60
  protected abstract endpoint(): string;
61
61
  protected endpointUrl(): string;
62
62
  private headersForRequest;
@@ -85,7 +85,7 @@ interface SignOutRequest {
85
85
  }
86
86
 
87
87
  declare class AuthEndpoint extends ApiEndpoint {
88
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
88
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
89
89
  protected endpoint(): string;
90
90
  signOut(oldToken: SignOutRequest): Promise<ApiResponse>;
91
91
  getApiTokens(): Promise<ApiResponse<ApiToken[]>>;
@@ -111,7 +111,7 @@ interface ChatMessageRequest {
111
111
  }
112
112
 
113
113
  declare class ChatMessageEndpoint extends ApiEndpoint {
114
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
114
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
115
115
  protected endpoint(): string;
116
116
  getHistory(emergencyId: string, limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ChatMessage>>>;
117
117
  sendMessage(message: ChatMessageRequest): Promise<ApiResponse<ChatMessage>>;
@@ -168,14 +168,19 @@ declare enum AccountDeactivationReason {
168
168
  interface ClientStats {
169
169
  missions: EmergencyStats;
170
170
  }
171
+ interface BlockedStatus {
172
+ blocked: boolean;
173
+ }
171
174
 
172
175
  declare class ClientEndpoint extends ApiEndpoint {
173
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
176
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
174
177
  protected endpoint(): string;
175
178
  get(): Promise<ApiResponse<Person>>;
176
179
  getHistory(limit: number, paginationToken?: string): Promise<ApiResponse<PaginatedResponse<ClientHistory>>>;
180
+ getBlockedStatus(): Promise<ApiResponse<BlockedStatus>>;
177
181
  linkClient(rsiHandle: string): Promise<ApiResponse>;
178
182
  setSettings(settings: Record<string, unknown>): Promise<ApiResponse<Record<string, unknown>>>;
183
+ deactivate(): Promise<ApiResponse>;
179
184
  }
180
185
 
181
186
  declare enum CancellationReason {
@@ -392,7 +397,7 @@ interface ResponderDetails {
392
397
  }
393
398
 
394
399
  declare class EmergencyEndpoint extends ApiEndpoint {
395
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
400
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
396
401
  protected endpoint(): string;
397
402
  getEmergency(id: string): Promise<ApiResponse<Emergency>>;
398
403
  getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
@@ -409,13 +414,13 @@ interface MedalInformation {
409
414
  }
410
415
 
411
416
  declare class StaffEndpoint extends ApiEndpoint {
412
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
417
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
413
418
  protected endpoint(): string;
414
419
  medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
415
420
  }
416
421
 
417
422
  declare class WebsocketEndpoint extends ApiEndpoint {
418
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
423
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
419
424
  private websocketManager;
420
425
  protected endpoint(): string;
421
426
  initialize(): Promise<HubConnection>;
@@ -441,4 +446,4 @@ declare class MedrunnerApiClient<TEmergency extends EmergencyEndpoint = Emergenc
441
446
  static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
442
447
  }
443
448
 
444
- export { AccountDeactivationReason, AfterActionReport, AfterActionReportEdit, ApiClient, ApiConfig, ApiEndpoint, ApiResponse, ApiToken, AsyncAction, AsyncProvider, AuthEndpoint, CancellationReason, ChatMessage, ChatMessageEndpoint, ChatMessageRequest, Class, ClientData, ClientEndpoint, ClientHistory, ClientStats, CreateEmergencyRequest, DbItem, Emergency, EmergencyEndpoint, EmergencyStats, Func, HeaderProvider, Headers, Level, Location, LocationDetail, LocationType, MedalInformation, MedrunnerApiClient, MessageCache, MissionServices, MissionStatus, Origin, PaginatedResponse, Person, PersonType, ResponderDetails, RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, Team, TeamDetailsResponse, TeamMember, ThreatLevel, TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, WritableDbItem };
449
+ export { AccountDeactivationReason, type AfterActionReport, type AfterActionReportEdit, type ApiClient, type ApiConfig, ApiEndpoint, type ApiResponse, type ApiToken, type AsyncAction, type AsyncProvider, AuthEndpoint, type BlockedStatus, CancellationReason, type ChatMessage, ChatMessageEndpoint, type ChatMessageRequest, Class, type ClientData, ClientEndpoint, type ClientHistory, type ClientStats, type CreateEmergencyRequest, type DbItem, type Emergency, EmergencyEndpoint, type EmergencyStats, type Func, type HeaderProvider, type Headers, Level, type Location, type LocationDetail, LocationType, type MedalInformation, MedrunnerApiClient, type MessageCache, MissionServices, MissionStatus, Origin, type PaginatedResponse, type Person, PersonType, type ResponderDetails, type RespondingTeam, ResponseRating, StaffEndpoint, SubmissionSource, type Team, type TeamDetailsResponse, type TeamMember, ThreatLevel, type TokenGrant, TokenManager, UserRoles, WebsocketEndpoint, type WritableDbItem };