@medrunner/api-client 0.0.1-rc.2 → 0.1.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,448 @@
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
+ }
184
+
185
+ declare enum CancellationReason {
186
+ NONE = 0,
187
+ OTHER = 1,
188
+ SUCCUMBED_TO_WOUNDS = 2,
189
+ SERVER_ERROR = 3,
190
+ RESPAWNED = 4,
191
+ RESCUED = 5
192
+ }
193
+
194
+ declare enum MissionStatus {
195
+ CREATED = 0,
196
+ RECEIVED = 1,
197
+ IN_PROGRESS = 2,
198
+ SUCCESS = 3,
199
+ FAILED = 4,
200
+ NO_CONTACT = 5,
201
+ CANCELED = 6,
202
+ REFUSED = 7,
203
+ ABORTED = 8,
204
+ SERVER_ERROR = 9
205
+ }
206
+
207
+ declare enum ResponseRating {
208
+ NONE = 0,
209
+ GOOD = 1,
210
+ BAD = 2
211
+ }
212
+
213
+ declare enum Class {
214
+ NONE = 0,
215
+ MEDIC = 1,
216
+ SECURITY = 2,
217
+ PILOT = 3,
218
+ LEAD = 4,
219
+ DISPATCH = 5,
220
+ DISPATCH_LEAD = 6,
221
+ DISPATCH_TRAINEE = 7,
222
+ DISPATCH_OBSERVER = 8,
223
+ QRF = 9,
224
+ LOGISTICS = 10
225
+ }
226
+
227
+ interface TeamMember {
228
+ discordId: string;
229
+ id: string;
230
+ rsiHandle?: string;
231
+ class: Class;
232
+ teamId?: string;
233
+ }
234
+
235
+ interface Team {
236
+ staff: TeamMember[];
237
+ dispatchers: TeamMember[];
238
+ allMembers: TeamMember[];
239
+ maxMembers: number;
240
+ }
241
+
242
+ declare enum ThreatLevel {
243
+ UNKNOWN = 0,
244
+ LOW = 1,
245
+ MEDIUM = 2,
246
+ HIGH = 3
247
+ }
248
+
249
+ interface Emergency extends WritableDbItem {
250
+ system: string;
251
+ subsystem: string;
252
+ tertiaryLocation?: string;
253
+ threatLevel: ThreatLevel;
254
+ remarks?: string;
255
+ clientRsiHandle: string;
256
+ clientDiscordId?: string;
257
+ clientId?: string;
258
+ subscriptionTier: string;
259
+ status: MissionStatus;
260
+ alertMessage?: MessageCache;
261
+ clientMessage?: MessageCache;
262
+ coordinationThread?: MessageCache;
263
+ afterActionReportMessage?: MessageCache;
264
+ interactionMessageId?: string;
265
+ respondingTeam: Team;
266
+ respondingTeams: RespondingTeam[];
267
+ creationTimestamp: number;
268
+ acceptedTimestamp?: number;
269
+ completionTimestamp?: number;
270
+ rating: ResponseRating;
271
+ ratingRemarks?: string;
272
+ test: boolean;
273
+ cancellationReason: CancellationReason;
274
+ refusalReason?: string;
275
+ origin: Origin;
276
+ clientData?: ClientData;
277
+ isComplete: boolean;
278
+ missionName?: string;
279
+ afterActionReport?: AfterActionReport;
280
+ submissionSource: SubmissionSource;
281
+ }
282
+ interface MessageCache {
283
+ id: string;
284
+ channelId: string;
285
+ }
286
+ interface ClientData {
287
+ rsiHandle: string;
288
+ rsiProfileLink: string;
289
+ gotClientData: boolean;
290
+ redactedOrgOnProfile: boolean;
291
+ reported: boolean;
292
+ }
293
+ interface AfterActionReport {
294
+ remarks?: string;
295
+ submitterStaffId: string;
296
+ servicesProvided: MissionServices;
297
+ suspectedTrap: boolean;
298
+ hasBeenEdited: boolean;
299
+ submittedOn: number;
300
+ editHistory: AfterActionReportEdit[];
301
+ }
302
+ interface AfterActionReportEdit {
303
+ editorStaffId: string;
304
+ editTime: number;
305
+ }
306
+ declare enum MissionServices {
307
+ NONE = 0,
308
+ PVE = 1,
309
+ PVP = 2,
310
+ REVIVED_HEALED = 4,
311
+ HEALED_IN_SHIP = 8,
312
+ EXTRACT_SAFE_ZONE = 16
313
+ }
314
+ declare enum Origin {
315
+ UNKNOWN = 0,
316
+ REPORT = 1,
317
+ BEACON = 2,
318
+ EVALUATION = 3
319
+ }
320
+ declare enum SubmissionSource {
321
+ UNKNOWN = 0,
322
+ API = 1,
323
+ BOT = 2
324
+ }
325
+ interface RespondingTeam {
326
+ id: string;
327
+ teamName: string;
328
+ }
329
+
330
+ interface CreateEmergencyRequest {
331
+ remarks?: string;
332
+ location: Location;
333
+ threatLevel: ThreatLevel;
334
+ }
335
+ interface Location {
336
+ system: string;
337
+ subsystem: string;
338
+ tertiaryLocation?: string;
339
+ }
340
+
341
+ interface LocationDetail {
342
+ name: string;
343
+ type: LocationType;
344
+ children: LocationDetail[];
345
+ }
346
+ declare enum LocationType {
347
+ UNKNOWN = 0,
348
+ SYSTEM = 1,
349
+ PLANET = 2,
350
+ MOON = 3
351
+ }
352
+
353
+ declare enum Level {
354
+ None = 0,
355
+ Tier1Section1 = 101,
356
+ Tier1Section2 = 102,
357
+ Tier1Section3 = 103,
358
+ Tier2Section1 = 201,
359
+ Tier2Section2 = 202,
360
+ Tier2Section3 = 203,
361
+ Tier3Section1 = 301,
362
+ Tier3Section2 = 302,
363
+ Tier3Section3 = 303,
364
+ Tier4Section1 = 401,
365
+ Tier4Section2 = 402,
366
+ Tier4Section3 = 403,
367
+ Tier5Section1 = 501,
368
+ Tier5Section2 = 502,
369
+ Tier5Section3 = 503,
370
+ Tier6Section1 = 601,
371
+ Tier6Section2 = 602,
372
+ Tier6Section3 = 603,
373
+ Tier7Section1 = 701,
374
+ Tier7Section2 = 702,
375
+ Tier7Section3 = 703,
376
+ Tier8Section1 = 801,
377
+ Tier8Section2 = 802,
378
+ Tier8Section3 = 803,
379
+ Tier9Section1 = 901,
380
+ Tier9Section2 = 902,
381
+ Tier9Section3 = 903,
382
+ Tier10Section1 = 1001,
383
+ Tier10Section2 = 1002,
384
+ Tier10Section3 = 1003
385
+ }
386
+
387
+ interface TeamDetailsResponse {
388
+ stats: ResponderDetails[];
389
+ aggregatedSuccessRate: number;
390
+ }
391
+ interface ResponderDetails {
392
+ id: string;
393
+ level: Level;
394
+ missionSuccessRate: number;
395
+ dispatchSuccessRate: number;
396
+ }
397
+
398
+ declare class EmergencyEndpoint extends ApiEndpoint {
399
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
400
+ protected endpoint(): string;
401
+ getEmergency(id: string): Promise<ApiResponse<Emergency>>;
402
+ getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
403
+ createEmergency(newEmergency: CreateEmergencyRequest): Promise<ApiResponse<Emergency>>;
404
+ cancelEmergencyWithReason(id: string, reason: CancellationReason): Promise<ApiResponse>;
405
+ rateServices(id: string, rating: ResponseRating, remarks?: string): Promise<ApiResponse>;
406
+ teamDetails(id: string): Promise<ApiResponse<TeamDetailsResponse>>;
407
+ emergencyLocations(): Promise<ApiResponse<LocationDetail[]>>;
408
+ }
409
+
410
+ interface MedalInformation {
411
+ level: Level;
412
+ successfulMissions: number;
413
+ }
414
+
415
+ declare class StaffEndpoint extends ApiEndpoint {
416
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
417
+ protected endpoint(): string;
418
+ medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
419
+ }
420
+
421
+ declare class WebsocketEndpoint extends ApiEndpoint {
422
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
423
+ private websocketManager;
424
+ protected endpoint(): string;
425
+ initialize(): Promise<HubConnection>;
426
+ }
427
+
428
+ 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> {
429
+ emergency: TEmergency;
430
+ client: TClient;
431
+ staff: TStaff;
432
+ chatMessage: TChatMessage;
433
+ auth: TAuth;
434
+ websocket: TWebsocket;
435
+ }
436
+
437
+ 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> {
438
+ readonly emergency: TEmergency;
439
+ readonly client: TClient;
440
+ readonly staff: TStaff;
441
+ readonly chatMessage: TChatMessage;
442
+ readonly auth: TAuth;
443
+ readonly websocket: TWebsocket;
444
+ protected constructor(emergency: TEmergency, client: TClient, staff: TStaff, chatMessage: TChatMessage, auth: TAuth, websocket: TWebsocket);
445
+ static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
446
+ }
447
+
448
+ 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,12 +168,16 @@ 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>>>;
179
183
  }
@@ -392,7 +396,7 @@ interface ResponderDetails {
392
396
  }
393
397
 
394
398
  declare class EmergencyEndpoint extends ApiEndpoint {
395
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
399
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
396
400
  protected endpoint(): string;
397
401
  getEmergency(id: string): Promise<ApiResponse<Emergency>>;
398
402
  getEmergencies(ids: string[]): Promise<ApiResponse<Emergency[]>>;
@@ -409,13 +413,13 @@ interface MedalInformation {
409
413
  }
410
414
 
411
415
  declare class StaffEndpoint extends ApiEndpoint {
412
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
416
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
413
417
  protected endpoint(): string;
414
418
  medalsInformation(): Promise<ApiResponse<MedalInformation[]>>;
415
419
  }
416
420
 
417
421
  declare class WebsocketEndpoint extends ApiEndpoint {
418
- constructor(baseUrl: string, tokenManager: TokenManager, log?: Logger | undefined, headerProvider?: HeaderProvider | undefined);
422
+ constructor(baseUrl: string | undefined, tokenManager: TokenManager, log?: Logger, headerProvider?: HeaderProvider);
419
423
  private websocketManager;
420
424
  protected endpoint(): string;
421
425
  initialize(): Promise<HubConnection>;
@@ -441,4 +445,4 @@ declare class MedrunnerApiClient<TEmergency extends EmergencyEndpoint = Emergenc
441
445
  static buildClient(config: ApiConfig, refreshCallback?: AsyncAction<TokenGrant>, log?: Logger): MedrunnerApiClient;
442
446
  }
443
447
 
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 };
448
+ 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 };