koishi-plugin-warframe 1.7.0 → 1.7.2

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.
package/lib/index.d.ts CHANGED
@@ -1,3 +1,38 @@
1
+ declare module "warframe/types/cache" {
2
+ export interface AsyncCache<T> {
3
+ get: () => Promise<T>;
4
+ update: () => Promise<T>;
5
+ }
6
+ export type AsyncCacheFactory<T> = () => Promise<T>;
7
+ }
8
+ declare module "warframe/types/miscs/lab" {
9
+ export type WeaponGroup = 'melee' | 'sentinel' | 'primary' | 'secondary' | 'archgun' | 'zaw';
10
+ export type RivenType = 'melee' | 'rifle' | 'pistol' | 'shotgun' | 'zaw';
11
+ export interface RivenWeaponItem {
12
+ slug: string;
13
+ name_en: string;
14
+ name_zh: string;
15
+ thumb: string;
16
+ group: WeaponGroup;
17
+ rivenType: RivenType;
18
+ disposition: number;
19
+ req_mr: number;
20
+ active_count: number;
21
+ min_price: number;
22
+ bottom_price: number;
23
+ ts: string;
24
+ }
25
+ export interface RivenWeaponResponse {
26
+ data: RivenWeaponItem[];
27
+ source: string;
28
+ }
29
+ }
30
+ declare module "warframe/types/ocr" {
31
+ export interface OcrAPISecret {
32
+ id: string;
33
+ key: string;
34
+ }
35
+ }
1
36
  declare module "warframe/types/warframe-result" {
2
37
  export const warframeErrorCodes: readonly ["common.fetchFailed", "relic.invalidName", "relic.dataLoading", "relic.notFound", "arbitration.invalidDayRange", "voidTrader.drifting", "voidTrader.arriving", "riven.imageFetchFailed", "riven.imageParseFailed", "riven.weaponNotFound", "riven.dispositionError", "riven.weaponTypeError", "riven.statTypeError", "wfm.inputItemName", "wfm.itemNotFound", "wfm.orderFetchFailed", "wfm.noOnlineSeller", "wfm.rivenWeaponNotFound", "wfm.rivenOrderFetchFailed", "wfm.noOnlineRivenSeller", "miscs.hotRiven.noData", "miscs.hotRiven.fetchFailed"];
3
38
  export type WarframeErrorCode = typeof warframeErrorCodes[number];
@@ -17,6 +52,234 @@ declare module "warframe/types/warframe-result" {
17
52
  } | WarframeFailure;
18
53
  export function failure(code: WarframeErrorCode, retryable?: boolean, params?: WarframeErrorParams): WarframeFailure;
19
54
  }
55
+ declare module "warframe/types/wf/region" {
56
+ export interface WFRegion {
57
+ name: string;
58
+ systemIndex: number;
59
+ systemName: string;
60
+ nodeType: number;
61
+ masteryReq: number;
62
+ missionType: string;
63
+ missionIndex: number;
64
+ missionName: string;
65
+ faction: string;
66
+ factionIndex: number;
67
+ factionName: string;
68
+ minEnemyLevel: number;
69
+ maxEnemyLevel: number;
70
+ masteryExp: number;
71
+ levelOverride: string;
72
+ rewardManifests: string[];
73
+ nextNodes: unknown[];
74
+ }
75
+ export interface WFRegionShort {
76
+ name: string;
77
+ system: string;
78
+ type: string;
79
+ faction: string;
80
+ minLevel: number;
81
+ maxLevel: number;
82
+ }
83
+ }
84
+ declare module "warframe/types/wf/arbitration" {
85
+ import type { WFRegionShort } from "warframe/types/wf/region";
86
+ export interface ArbitrationShort {
87
+ time: number;
88
+ node: string;
89
+ }
90
+ export interface Arbitration extends WFRegionShort {
91
+ time: string;
92
+ rewards: number;
93
+ }
94
+ }
95
+ declare module "warframe/types/wf/fissure" {
96
+ import type { WFRegionShort } from "warframe/types/wf/region";
97
+ export interface Fissure {
98
+ category: string;
99
+ hard: boolean;
100
+ /** Expire time. Timestamp in miliseconds */
101
+ activation: number;
102
+ /** Expire time. Timestamp in miliseconds */
103
+ expiry: number;
104
+ node: WFRegionShort;
105
+ tier: string;
106
+ tierNum: number;
107
+ }
108
+ }
109
+ declare module "warframe/types/wf/relic" {
110
+ export type RelicTier = 'Lith' | 'Meso' | 'Neo' | 'Axi' | 'Requiem' | 'Vanguard';
111
+ export type RelicQuality = 'Intact' | 'Exceptional' | 'Flawless' | 'Radiant';
112
+ export type RelicRewardRarity = 'COMMON' | 'UNCOMMON' | 'RARE';
113
+ export interface ExternalRelic {
114
+ tier: RelicTier;
115
+ num: string;
116
+ quality: RelicQuality;
117
+ items: ExternalRelicReward[];
118
+ }
119
+ export interface ExternalRelicReward {
120
+ name: string;
121
+ rate: number;
122
+ }
123
+ export interface Relic {
124
+ tier: RelicTier;
125
+ tierKey: string;
126
+ num: string;
127
+ items: RelicReward[];
128
+ }
129
+ export interface RelicReward {
130
+ name: string;
131
+ rarity: RelicRewardRarity;
132
+ quantity: number;
133
+ }
134
+ export interface OutputRelic {
135
+ tier: string;
136
+ num: string;
137
+ items: OutputRelicReward[];
138
+ }
139
+ export interface OutputRelicReward extends RelicReward {
140
+ ducats: number;
141
+ platinum?: number;
142
+ }
143
+ }
144
+ declare module "warframe/types/wfm" {
145
+ import type { RivenAttribute, RivenOrder } from 'wfm-api-client';
146
+ export type { ClosedStatisticsEntry, Ducatnator, ItemShort, LiveStatisticsEntry, OrderWithUser, RivenAttribute, RivenAttributeUnit, RivenItem, RivenOrder, StatisticsCollection, WFMLang, } from 'wfm-api-client';
147
+ export interface PrimedModHistoryItem {
148
+ name: string | undefined;
149
+ last: string;
150
+ plats?: number;
151
+ }
152
+ export interface ItemStatisticsPoint {
153
+ datetime: string;
154
+ median: number;
155
+ waPrice: number;
156
+ volume: number;
157
+ donchTop: number;
158
+ donchBot: number;
159
+ }
160
+ export interface ItemStatisticsSummary {
161
+ chart: ItemStatisticsPoint[];
162
+ recentAvg?: number;
163
+ recentVolume: number;
164
+ baselineMedian?: number;
165
+ trend: 'up' | 'down' | 'flat';
166
+ rangeMin?: number;
167
+ rangeMax?: number;
168
+ onlineMin: number;
169
+ }
170
+ export type RivenAttributeShortInternal = RivenOrder['item']['attributes'][number] & {
171
+ attribute: RivenAttribute;
172
+ };
173
+ export type RivenOrderInternal = Omit<RivenOrder, 'item'> & {
174
+ item: Omit<RivenOrder['item'], 'attributes'> & {
175
+ attributes: RivenAttributeShortInternal[];
176
+ };
177
+ };
178
+ }
179
+ declare module "warframe/types/wf/riven" {
180
+ import type { IWeapon } from 'warframe-public-export-plus';
181
+ import type { RivenAttributeUnit } from "warframe/types/wfm";
182
+ export type RivenWeaponType = 'Rifle' | 'Shotgun' | 'Pistol' | 'Archgun' | 'Melee';
183
+ export type RivenStatCountType = '31' | '2' | '21' | '3';
184
+ export interface RivenStatFixFactor {
185
+ buffFactor: number;
186
+ buffCount: number;
187
+ curseFactor: number;
188
+ curseCount: number;
189
+ }
190
+ export type RivenStatFixFactorMap = Record<RivenStatCountType, RivenStatFixFactor>;
191
+ export interface RivenStatAnalyzsis {
192
+ name: string;
193
+ unit: RivenAttributeUnit;
194
+ percent: number;
195
+ value: number;
196
+ max: number;
197
+ min: number;
198
+ }
199
+ export interface RivenStatAnalyzeResult {
200
+ name: string;
201
+ disposition: number;
202
+ buffs: RivenStatAnalyzsis[];
203
+ curses: RivenStatAnalyzsis[];
204
+ }
205
+ export interface RivenWeaponDisposition {
206
+ name: {
207
+ en: string;
208
+ zh: string;
209
+ };
210
+ calc: {
211
+ disposition: number;
212
+ name: string;
213
+ texture: string;
214
+ riventype: string;
215
+ };
216
+ weapon: IWeapon;
217
+ }
218
+ export interface RivenStatResult {
219
+ positive: Record<string, {
220
+ name: string;
221
+ max: number;
222
+ min: number;
223
+ unit: RivenAttributeUnit;
224
+ }>;
225
+ negative: Record<string, {
226
+ name: string;
227
+ max: number;
228
+ min: number;
229
+ unit: RivenAttributeUnit;
230
+ }> | undefined;
231
+ }
232
+ }
233
+ declare module "warframe/types/wf/voidtrader" {
234
+ export interface VoidTrader {
235
+ expiry: string;
236
+ items: VoidTraderItem[];
237
+ }
238
+ export interface VoidTraderItem {
239
+ name: string;
240
+ ducats: number;
241
+ credits: number;
242
+ }
243
+ }
244
+ declare module "warframe/types/wf/weekly" {
245
+ import type { WFRegionShort } from "warframe/types/wf/region";
246
+ export interface ArchonHunt {
247
+ name: string;
248
+ missions: ArchonHuntMissions[];
249
+ }
250
+ export interface ArchonHuntMissions {
251
+ type: string;
252
+ node: WFRegionShort;
253
+ }
254
+ export interface ArchiMedea {
255
+ name: string;
256
+ missions: ArchiMedeaMission[];
257
+ peronal: ArchiMedeaDebuff[];
258
+ }
259
+ export interface ArchiMedeaMission {
260
+ type: string;
261
+ deviation: ArchiMedeaDebuff;
262
+ risks: ArchiMedeaDebuff[];
263
+ }
264
+ export interface ArchiMedeaDebuff {
265
+ name: string;
266
+ desc: string;
267
+ }
268
+ }
269
+ declare module "warframe/types/index" {
270
+ export type { AsyncCache, AsyncCacheFactory } from "warframe/types/cache";
271
+ export type { RivenType, RivenWeaponItem, RivenWeaponResponse, WeaponGroup, } from "warframe/types/miscs/lab";
272
+ export type { OcrAPISecret } from "warframe/types/ocr";
273
+ export type { WarframeError, WarframeErrorCode, WarframeErrorParams, WarframeFailure, WarframeResult, } from "warframe/types/warframe-result";
274
+ export type { Arbitration, ArbitrationShort } from "warframe/types/wf/arbitration";
275
+ export type { Fissure } from "warframe/types/wf/fissure";
276
+ export type { WFRegion, WFRegionShort } from "warframe/types/wf/region";
277
+ export type { ExternalRelic, ExternalRelicReward, OutputRelic, OutputRelicReward, Relic, RelicQuality, RelicReward, RelicRewardRarity, RelicTier, } from "warframe/types/wf/relic";
278
+ export type { RivenStatAnalyzeResult, RivenStatAnalyzsis, RivenStatCountType, RivenStatFixFactor, RivenStatFixFactorMap, RivenStatResult, RivenWeaponDisposition, RivenWeaponType, } from "warframe/types/wf/riven";
279
+ export type { VoidTrader, VoidTraderItem } from "warframe/types/wf/voidtrader";
280
+ export type { ArchiMedea, ArchiMedeaDebuff, ArchiMedeaMission, ArchonHunt, ArchonHuntMissions, } from "warframe/types/wf/weekly";
281
+ export type { ClosedStatisticsEntry, Ducatnator, ItemShort, ItemStatisticsPoint, ItemStatisticsSummary, LiveStatisticsEntry, OrderWithUser, PrimedModHistoryItem, RivenAttribute, RivenAttributeShortInternal, RivenAttributeUnit, RivenItem, RivenOrder, RivenOrderInternal, StatisticsCollection, WFMLang, } from "warframe/types/wfm";
282
+ }
20
283
  declare module "warframe/utils/assets" {
21
284
  export function loadAssetJson<T>(path: string): T;
22
285
  export function loadAssetText(path: string): string;
@@ -28,6 +291,7 @@ declare module "warframe/utils/cache" {
28
291
  * @param ttlMs Time-to-live in milliseconds. Defaults to 60_000 meaning 1 minute. Set to -1 for infinity duration.
29
292
  * @returns A cache instance.
30
293
  */
294
+ import type { AsyncCache, AsyncCacheFactory } from "warframe/types/index";
31
295
  export function createAsyncCache<T>(factory: AsyncCacheFactory<T>, ttlMs?: number): AsyncCache<T>;
32
296
  }
33
297
  declare module "warframe/utils/collection" {
@@ -77,25 +341,18 @@ declare module "warframe/utils/index" {
77
341
  export * from "warframe/utils/time";
78
342
  }
79
343
  declare module "warframe/infrastructure/miscs/lab-api" {
80
- import type { RivenWeaponItem } from '../../types/miscs/lab';
344
+ import type { RivenWeaponItem } from "warframe/types/index";
81
345
  export function getHotRivenWeapons(num?: number): Promise<RivenWeaponItem[] | undefined>;
82
346
  }
83
347
  declare module "warframe/data/miscs/lab" {
84
- export const globalHotRivenWeapons: AsyncCache<import("warframe").RivenWeaponItem[]>;
348
+ export const globalHotRivenWeapons: import("warframe").AsyncCache<import("warframe").RivenWeaponItem[]>;
85
349
  }
86
350
  declare module "warframe/services/miscs-service" {
87
- import type { RivenWeaponItem } from '../types/miscs/lab';
88
- import type { WarframeResult } from "warframe/types/warframe-result";
351
+ import type { RivenWeaponItem, WarframeResult } from "warframe/types/index";
89
352
  export function getHotRivenWeapons(): Promise<WarframeResult<RivenWeaponItem[]>>;
90
353
  }
91
- declare module "warframe/types/ocr" {
92
- export interface OcrAPISecret {
93
- id: string;
94
- key: string;
95
- }
96
- }
97
354
  declare module "warframe/assets/index" {
98
- import type { RivenWeaponDisposition } from '../types/wf/riven';
355
+ import type { RivenWeaponDisposition } from "warframe/types/index";
99
356
  export interface BaroParsedItem {
100
357
  name: string;
101
358
  last: string;
@@ -116,6 +373,7 @@ declare module "warframe/assets/index" {
116
373
  export const warframeAlias: Record<string, string[]>;
117
374
  }
118
375
  declare module "warframe/data/wf/arbitrationSchedule" {
376
+ import type { ArbitrationShort } from "warframe/types/index";
119
377
  export const arbitrationSchedule: ArbitrationShort[];
120
378
  }
121
379
  declare module "warframe/infrastructure/wf/wf-api" {
@@ -139,6 +397,7 @@ declare module "warframe/infrastructure/wf/wf-api" {
139
397
  }
140
398
  declare module "warframe/infrastructure/wf/wf-export-adapter" {
141
399
  import type { IRegion } from 'warframe-public-export-plus';
400
+ import type { RelicQuality, WFRegionShort } from "warframe/types/index";
142
401
  export function regionToShort(region: IRegion, dict: Record<string, string>): WFRegionShort;
143
402
  export function relicQualityToName(quality: string): RelicQuality;
144
403
  /**
@@ -159,6 +418,7 @@ declare module "warframe/infrastructure/wf/wf-export-adapter" {
159
418
  }
160
419
  declare module "warframe/infrastructure/wf/wfcd-adapter" {
161
420
  import type { TMissionType } from 'warframe-public-export-plus';
421
+ import type { VoidTraderItem } from "warframe/types/index";
162
422
  export function getSolNodeKey(name: string): Promise<string>;
163
423
  export function getMissionTypeKey(name: string): Promise<TMissionType>;
164
424
  export const fissureTierName: {
@@ -180,9 +440,10 @@ declare module "warframe/infrastructure/wf/wfcd-adapter" {
180
440
  }
181
441
  declare module "warframe/data/wf/globalWorldState" {
182
442
  import type WorldState from 'warframe-worldstate-parser';
443
+ import type { Fissure } from "warframe/types/index";
183
444
  type ParsedFissure = WorldState['fissures'][number];
184
445
  export function adaptFissure(fissure: ParsedFissure): Promise<Fissure>;
185
- export const globalWorldState: AsyncCache<{
446
+ export const globalWorldState: import("warframe").AsyncCache<{
186
447
  raw: WorldState;
187
448
  fissures: Fissure[];
188
449
  spFissures: Fissure[];
@@ -190,17 +451,18 @@ declare module "warframe/data/wf/globalWorldState" {
190
451
  }>;
191
452
  }
192
453
  declare module "warframe/data/wf/relics" {
454
+ import type { Relic } from "warframe/types/index";
193
455
  export const relics: Record<string, Relic>;
194
456
  }
195
457
  declare module "warframe/data/wf/rivenBaseValues" {
196
458
  export const rivenAttrValueDict: Record<string, Record<string, number>>;
197
459
  }
198
460
  declare module "warframe/data/wf/rivenDisposition" {
199
- import type { RivenWeaponDisposition } from '../../types/wf/riven';
461
+ import type { RivenWeaponDisposition } from "warframe/types/index";
200
462
  export const weaponRivenDispositionDict: Record<string, RivenWeaponDisposition>;
201
463
  }
202
464
  declare module "warframe/data/wf/rivenStatData" {
203
- import type { RivenStatFixFactorMap } from '../../types/wf/riven';
465
+ import type { RivenStatFixFactorMap } from "warframe/types/index";
204
466
  export const rivenStatFixFactor: RivenStatFixFactorMap;
205
467
  }
206
468
  declare module "warframe/infrastructure/wfm-client" {
@@ -224,7 +486,7 @@ declare module "warframe/infrastructure/wfm-client" {
224
486
  };
225
487
  }
226
488
  declare module "warframe/data/wfm/globalRivenAttribute" {
227
- import type { RivenAttribute } from '../../types/wfm';
489
+ import type { AsyncCache, RivenAttribute } from "warframe/types/index";
228
490
  export function globalRivenAttributeFactory(rivenAttributeData?: RivenAttribute[]): Promise<{
229
491
  globalRivenAttributeList: RivenAttribute[];
230
492
  globalRivenAttributeDict: Record<string, RivenAttribute>;
@@ -241,7 +503,7 @@ declare module "warframe/data/wfm/globalRivenAttribute" {
241
503
  }>): void;
242
504
  }
243
505
  declare module "warframe/data/wfm/globalRivenItem" {
244
- import type { RivenItem } from '../../types/wfm';
506
+ import type { RivenItem } from "warframe/types/index";
245
507
  export interface GlobalRivenItemWordPrefixCandidate {
246
508
  item: RivenItem;
247
509
  normalizedName: string;
@@ -253,7 +515,7 @@ declare module "warframe/data/wfm/globalRivenItem" {
253
515
  globalRivenItemNameToSlugDict: Record<string, string>;
254
516
  globalRivenItemWordPrefixCandidates: GlobalRivenItemWordPrefixCandidate[];
255
517
  }>;
256
- export const globalRivenItemData: AsyncCache<{
518
+ export const globalRivenItemData: import("warframe").AsyncCache<{
257
519
  globalRivenItemList: RivenItem[];
258
520
  globalRivenItemDict: Record<string, RivenItem>;
259
521
  globalRivenItemNameToSlugDict: Record<string, string>;
@@ -261,15 +523,12 @@ declare module "warframe/data/wfm/globalRivenItem" {
261
523
  }>;
262
524
  }
263
525
  declare module "warframe/infrastructure/ocr-api" {
264
- import type { OcrAPISecret } from "warframe/types/ocr";
526
+ import type { OcrAPISecret } from "warframe/types/index";
265
527
  export function extractTextFromImage(image: string | Blob, secret: OcrAPISecret): Promise<string[] | undefined>;
266
528
  }
267
529
  declare module "warframe/services/wf-service" {
268
530
  import type { WeeklyRiven } from 'warframe-weekly-rivens';
269
- import type { OcrAPISecret } from "warframe/types/ocr";
270
- import type { WarframeResult } from "warframe/types/warframe-result";
271
- import type { RivenStatAnalyzeResult, RivenStatResult } from '../types/wf/riven';
272
- import type { RivenAttribute } from '../types/wfm';
531
+ import type { Arbitration, ArchiMedea, ArchonHunt, Fissure, OcrAPISecret, Relic, RivenAttribute, RivenStatAnalyzeResult, RivenStatResult, VoidTrader, WarframeResult } from "warframe/types/index";
273
532
  import { weaponRivenDispositionDict } from "warframe/data/wf/rivenDisposition";
274
533
  export function getRelic(input: string): Promise<WarframeResult<Relic>>;
275
534
  export function getArbitrations(day?: number): WarframeResult<Arbitration[]>;
@@ -312,10 +571,10 @@ declare module "warframe/services/wf-service" {
312
571
  }): WarframeResult<RivenStatAnalyzeResult>;
313
572
  }
314
573
  declare module "warframe/data/wfm/globalDucatnator" {
315
- export const globalDucatnatorIDDict: AsyncCache<Record<string, import("wfm-api-client").Ducatnator> | undefined>;
574
+ export const globalDucatnatorIDDict: import("warframe").AsyncCache<Record<string, import("wfm-api-client").Ducatnator> | undefined>;
316
575
  }
317
576
  declare module "warframe/data/wfm/globalItem" {
318
- import type { ItemShort } from '../../types/wfm';
577
+ import type { AsyncCache, ItemShort } from "warframe/types/index";
319
578
  export interface GlobalItemWordPrefixCandidate {
320
579
  item: ItemShort;
321
580
  normalizedName: string;
@@ -345,7 +604,7 @@ declare module "warframe/data/wfm/globalItem" {
345
604
  }
346
605
  declare module "warframe/services/wfm-service/wfm-service.item-matcher" {
347
606
  import type { GlobalItemWordPrefixCandidate } from "warframe/data/wfm/globalItem";
348
- import type { ItemShort } from '../../types/wfm';
607
+ import type { ItemShort } from "warframe/types/index";
349
608
  interface WFMItemLookupData {
350
609
  globalItemDict: Record<string, ItemShort>;
351
610
  globalItemNameToSlugDict: Record<string, string>;
@@ -387,7 +646,7 @@ declare module "warframe/services/wfm-service/wfm-service.item-matcher" {
387
646
  }
388
647
  declare module "warframe/services/wfm-service/wfm-service.riven-item-matcher" {
389
648
  import type { GlobalRivenItemWordPrefixCandidate } from "warframe/data/wfm/globalRivenItem";
390
- import type { RivenItem } from '../../types/wfm';
649
+ import type { RivenItem } from "warframe/types/index";
391
650
  interface WFMRivenItemLookupData {
392
651
  globalRivenItemDict: Record<string, RivenItem>;
393
652
  globalRivenItemNameToSlugDict: Record<string, string>;
@@ -402,24 +661,29 @@ declare module "warframe/services/wfm-service/wfm-service.riven-item-matcher" {
402
661
  export const matchByShortHand: typeof shortHandProcess;
403
662
  export const stringToWFMItem: typeof findRivenItemByName;
404
663
  }
664
+ declare module "warframe/services/wfm-service/wfm-service.statistics" {
665
+ import type { ItemStatisticsSummary, StatisticsCollection } from "warframe/types/index";
666
+ export function computeItemStatistics(stats: StatisticsCollection, targetRank: number | undefined, onlineMin: number): ItemStatisticsSummary;
667
+ }
405
668
  declare module "warframe/services/wfm-service/index" {
406
- import type { WarframeResult } from "warframe/types/warframe-result";
407
- import type { ItemShort, OrderWithUser, PrimedModHistoryItem, RivenItem, RivenOrderInternal } from '../../types/wfm';
669
+ import type { ItemShort, ItemStatisticsSummary, OrderWithUser, OutputRelic, PrimedModHistoryItem, Relic, RivenItem, RivenOrderInternal, WarframeResult } from "warframe/types/index";
408
670
  import { stringToWFMItem } from "warframe/services/wfm-service/wfm-service.item-matcher";
409
671
  export { stringToWFMItem };
410
672
  export function updateCache(): Promise<string>;
411
673
  export function getItemOrders(input: string): Promise<WarframeResult<{
412
674
  item: ItemShort;
413
675
  orders: OrderWithUser[];
676
+ statistics?: ItemStatisticsSummary;
414
677
  }>>;
415
678
  export function getRivenOrders(input: string): Promise<WarframeResult<{
416
679
  item: RivenItem;
417
680
  orders: RivenOrderInternal[];
418
681
  }>>;
419
682
  export function applyRelicData(relic: Relic): Promise<OutputRelic>;
420
- export const primedModHistory: AsyncCache<PrimedModHistoryItem[]>;
683
+ export const primedModHistory: import("warframe").AsyncCache<PrimedModHistoryItem[]>;
421
684
  }
422
685
  declare module "warframe/services/world-state-refresh" {
686
+ import type { WFRegionShort } from "warframe/types/index";
423
687
  import { globalWorldState } from "warframe/data/wf/globalWorldState";
424
688
  export type WorldStateSnapshot = Awaited<ReturnType<typeof globalWorldState.get>>;
425
689
  export type WorldStateNotification = {
@@ -469,20 +733,11 @@ declare module "warframe/services/index" {
469
733
  }
470
734
  declare module "warframe/index" {
471
735
  export * from "warframe/services/index";
472
- export type { RivenWeaponItem } from './types/miscs/lab';
473
- export type { OcrAPISecret } from "warframe/types/ocr";
736
+ export type * from "warframe/types/index";
474
737
  export { failure } from "warframe/types/warframe-result";
475
- export type { WarframeError, WarframeErrorCode, WarframeErrorParams, WarframeFailure, WarframeResult, } from "warframe/types/warframe-result";
476
- export type { RivenStatAnalyzeResult, RivenStatResult, } from './types/wf/riven';
477
- export type { ItemShort, OrderWithUser, PrimedModHistoryItem, RivenAttributeShortInternal, RivenAttributeUnit, RivenItem, RivenOrderInternal, } from './types/wfm';
478
738
  export { msToHumanReadable } from "warframe/utils/time";
479
739
  }
480
- declare module "components/miscs" {
481
- import type { Element } from 'koishi';
482
- import type { RivenWeaponItem } from "warframe/index";
483
- export function HotRivenComponent(data: RivenWeaponItem[]): Element;
484
- }
485
- declare module "messages" {
740
+ declare module "i18n" {
486
741
  import type { WarframeFailure } from "warframe/index";
487
742
  export const messages: {
488
743
  readonly 'common.fetchFailed': "内部错误,获取最新信息失败";
@@ -518,6 +773,11 @@ declare module "messages" {
518
773
  export function t(message: MessageKey, params?: MessageParams): string;
519
774
  export function t(result: WarframeFailure): string;
520
775
  }
776
+ declare module "components/miscs" {
777
+ import type { Element } from 'koishi';
778
+ import type { RivenWeaponItem } from "warframe/index";
779
+ export function HotRivenComponent(data: RivenWeaponItem[]): Element;
780
+ }
521
781
  declare module "commands/miscs" {
522
782
  import type { PluginDependencies } from '../types/config';
523
783
  export function inDevelopment(): string;
@@ -546,7 +806,7 @@ declare module "utils/index" {
546
806
  declare module "components/wf" {
547
807
  import type { Element } from 'koishi';
548
808
  import type { WeeklyRiven } from 'warframe-weekly-rivens';
549
- import type { RivenStatAnalyzeResult, RivenStatResult } from "warframe/index";
809
+ import type { Arbitration, ArchiMedea, ArchonHunt, Fissure, OutputRelic, RivenStatAnalyzeResult, RivenStatResult, VoidTrader } from "warframe/index";
550
810
  export function ArbitrationComponent(arbi: Arbitration[]): Element;
551
811
  export function CircuitComponent(currentIncarnons: number, currentWarframes: number, allIncarnons: string[][], allWarframes: string[][]): Element;
552
812
  export function FissureComponent(fissures: Fissure[], type: 'fissure' | 'sp-fissure' | 'rj-fissure'): Element;
@@ -583,15 +843,15 @@ declare module "components/render" {
583
843
  }
584
844
  declare module "components/wfm" {
585
845
  import type Element from '@satorijs/element';
586
- import type { ItemShort, OrderWithUser, PrimedModHistoryItem, RivenItem, RivenOrderInternal } from "warframe/index";
587
- export function ItemOrderComponent(item: ItemShort, orders: OrderWithUser[]): Element;
846
+ import type { ItemShort, ItemStatisticsSummary, OrderWithUser, PrimedModHistoryItem, RivenItem, RivenOrderInternal } from "warframe/index";
847
+ export function ItemOrderComponent(item: ItemShort, orders: OrderWithUser[], statistics?: ItemStatisticsSummary): Element;
588
848
  export function RivenOrderComponent(item: RivenItem, orders: RivenOrderInternal[]): Element;
589
849
  export function PrimedModHistoryComponent(history: PrimedModHistoryItem[]): Element;
590
850
  }
591
851
  declare module "messages/wfm" {
592
852
  import type { Element } from 'koishi';
593
- import type { ItemShort, OrderWithUser } from "warframe/index";
594
- export function wmMessage(img: Element, item: ItemShort, orders: OrderWithUser[]): Element;
853
+ import type { ItemShort, ItemStatisticsSummary, OrderWithUser } from "warframe/index";
854
+ export function wmMessage(img: Element, item: ItemShort, orders: OrderWithUser[], statistics?: ItemStatisticsSummary): Element;
595
855
  }
596
856
  declare module "commands/wfm" {
597
857
  import type { Argv, Element } from 'koishi';
@@ -604,9 +864,20 @@ declare module "commands/wfm" {
604
864
  };
605
865
  }
606
866
  declare module "commands/index" {
607
- export * from "commands/miscs";
608
- export * from "commands/wf";
609
- export * from "commands/wfm";
867
+ import type { Context } from 'koishi';
868
+ import type { PluginDependencies } from '../types/config';
869
+ export function setupCommands(ctx: Context, deps: PluginDependencies): void;
870
+ }
871
+ declare module "hooks/index" {
872
+ import type { Context } from 'koishi';
873
+ import type { PluginDependencies } from '../types/config';
874
+ export function setupHooks(ctx: Context, deps: PluginDependencies): void;
875
+ }
876
+ declare module "schedules/pmod-history" {
877
+ import type { Context } from 'koishi';
878
+ import type { PluginDependencies } from '../types/config';
879
+ type Refresh = () => Promise<unknown>;
880
+ export function setupPrimedModHistorySchedule(ctx: Context, deps: PluginDependencies, refresh?: Refresh): void;
610
881
  }
611
882
  declare module "messages/world-state" {
612
883
  import type { Element } from 'koishi';
@@ -637,7 +908,3 @@ declare module "index" {
637
908
  export const Config: Schema<PluginConfig>;
638
909
  export function apply(ctx: Context): void;
639
910
  }
640
- declare module "warframe/types/result" {
641
- export { failure, type WarframeError, type WarframeErrorCode, type WarframeErrorParams, type WarframeFailure, type WarframeResult, } from "warframe/types/warframe-result";
642
- export type { WarframeResult as ServiceResult } from "warframe/types/warframe-result";
643
- }