@tx5dr/contracts 1.2.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.
Files changed (180) hide show
  1. package/CLAUDE.md +41 -0
  2. package/dist/index.d.ts +55 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +86 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/schema/__tests__/plugin-runtime-log.schema.test.d.ts +2 -0
  7. package/dist/schema/__tests__/plugin-runtime-log.schema.test.d.ts.map +1 -0
  8. package/dist/schema/__tests__/plugin-runtime-log.schema.test.js +78 -0
  9. package/dist/schema/__tests__/plugin-runtime-log.schema.test.js.map +1 -0
  10. package/dist/schema/ability.d.ts +85 -0
  11. package/dist/schema/ability.d.ts.map +1 -0
  12. package/dist/schema/ability.js +119 -0
  13. package/dist/schema/ability.js.map +1 -0
  14. package/dist/schema/api-response.schema.d.ts +1017 -0
  15. package/dist/schema/api-response.schema.d.ts.map +1 -0
  16. package/dist/schema/api-response.schema.js +137 -0
  17. package/dist/schema/api-response.schema.js.map +1 -0
  18. package/dist/schema/audio-sidecar.schema.d.ts +106 -0
  19. package/dist/schema/audio-sidecar.schema.d.ts.map +1 -0
  20. package/dist/schema/audio-sidecar.schema.js +47 -0
  21. package/dist/schema/audio-sidecar.schema.js.map +1 -0
  22. package/dist/schema/audio.schema.d.ts +227 -0
  23. package/dist/schema/audio.schema.d.ts.map +1 -0
  24. package/dist/schema/audio.schema.js +56 -0
  25. package/dist/schema/audio.schema.js.map +1 -0
  26. package/dist/schema/auth.schema.d.ts +738 -0
  27. package/dist/schema/auth.schema.d.ts.map +1 -0
  28. package/dist/schema/auth.schema.js +161 -0
  29. package/dist/schema/auth.schema.js.map +1 -0
  30. package/dist/schema/cycle.schema.d.ts +33 -0
  31. package/dist/schema/cycle.schema.d.ts.map +1 -0
  32. package/dist/schema/cycle.schema.js +23 -0
  33. package/dist/schema/cycle.schema.js.map +1 -0
  34. package/dist/schema/desktop-https.schema.d.ts +146 -0
  35. package/dist/schema/desktop-https.schema.d.ts.map +1 -0
  36. package/dist/schema/desktop-https.schema.js +31 -0
  37. package/dist/schema/desktop-https.schema.js.map +1 -0
  38. package/dist/schema/ft8.schema.d.ts +1107 -0
  39. package/dist/schema/ft8.schema.d.ts.map +1 -0
  40. package/dist/schema/ft8.schema.js +268 -0
  41. package/dist/schema/ft8.schema.js.map +1 -0
  42. package/dist/schema/hello.schema.d.ts +10 -0
  43. package/dist/schema/hello.schema.d.ts.map +1 -0
  44. package/dist/schema/hello.schema.js +5 -0
  45. package/dist/schema/hello.schema.js.map +1 -0
  46. package/dist/schema/logbook.schema.d.ts +1472 -0
  47. package/dist/schema/logbook.schema.d.ts.map +1 -0
  48. package/dist/schema/logbook.schema.js +256 -0
  49. package/dist/schema/logbook.schema.js.map +1 -0
  50. package/dist/schema/mode.schema.d.ts +130 -0
  51. package/dist/schema/mode.schema.d.ts.map +1 -0
  52. package/dist/schema/mode.schema.js +141 -0
  53. package/dist/schema/mode.schema.js.map +1 -0
  54. package/dist/schema/openwebrx.schema.d.ts +352 -0
  55. package/dist/schema/openwebrx.schema.d.ts.map +1 -0
  56. package/dist/schema/openwebrx.schema.js +139 -0
  57. package/dist/schema/openwebrx.schema.js.map +1 -0
  58. package/dist/schema/operator.schema.d.ts +883 -0
  59. package/dist/schema/operator.schema.d.ts.map +1 -0
  60. package/dist/schema/operator.schema.js +97 -0
  61. package/dist/schema/operator.schema.js.map +1 -0
  62. package/dist/schema/plugin.schema.d.ts +1579 -0
  63. package/dist/schema/plugin.schema.d.ts.map +1 -0
  64. package/dist/schema/plugin.schema.js +336 -0
  65. package/dist/schema/plugin.schema.js.map +1 -0
  66. package/dist/schema/process-monitor.schema.d.ts +282 -0
  67. package/dist/schema/process-monitor.schema.d.ts.map +1 -0
  68. package/dist/schema/process-monitor.schema.js +31 -0
  69. package/dist/schema/process-monitor.schema.js.map +1 -0
  70. package/dist/schema/pskreporter.schema.d.ts +185 -0
  71. package/dist/schema/pskreporter.schema.d.ts.map +1 -0
  72. package/dist/schema/pskreporter.schema.js +80 -0
  73. package/dist/schema/pskreporter.schema.js.map +1 -0
  74. package/dist/schema/qso.schema.d.ts +419 -0
  75. package/dist/schema/qso.schema.d.ts.map +1 -0
  76. package/dist/schema/qso.schema.js +137 -0
  77. package/dist/schema/qso.schema.js.map +1 -0
  78. package/dist/schema/radio-capability.schema.d.ts +625 -0
  79. package/dist/schema/radio-capability.schema.d.ts.map +1 -0
  80. package/dist/schema/radio-capability.schema.js +191 -0
  81. package/dist/schema/radio-capability.schema.js.map +1 -0
  82. package/dist/schema/radio-power-support.d.ts +45 -0
  83. package/dist/schema/radio-power-support.d.ts.map +1 -0
  84. package/dist/schema/radio-power-support.js +64 -0
  85. package/dist/schema/radio-power-support.js.map +1 -0
  86. package/dist/schema/radio-power.schema.d.ts +319 -0
  87. package/dist/schema/radio-power.schema.d.ts.map +1 -0
  88. package/dist/schema/radio-power.schema.js +87 -0
  89. package/dist/schema/radio-power.schema.js.map +1 -0
  90. package/dist/schema/radio-profile.schema.d.ts +2694 -0
  91. package/dist/schema/radio-profile.schema.d.ts.map +1 -0
  92. package/dist/schema/radio-profile.schema.js +71 -0
  93. package/dist/schema/radio-profile.schema.js.map +1 -0
  94. package/dist/schema/radio.schema.d.ts +1438 -0
  95. package/dist/schema/radio.schema.d.ts.map +1 -0
  96. package/dist/schema/radio.schema.js +314 -0
  97. package/dist/schema/radio.schema.js.map +1 -0
  98. package/dist/schema/realtime.schema.d.ts +1299 -0
  99. package/dist/schema/realtime.schema.d.ts.map +1 -0
  100. package/dist/schema/realtime.schema.js +184 -0
  101. package/dist/schema/realtime.schema.js.map +1 -0
  102. package/dist/schema/rigctld.schema.d.ts +151 -0
  103. package/dist/schema/rigctld.schema.d.ts.map +1 -0
  104. package/dist/schema/rigctld.schema.js +42 -0
  105. package/dist/schema/rigctld.schema.js.map +1 -0
  106. package/dist/schema/server-message-keys.d.ts +21 -0
  107. package/dist/schema/server-message-keys.d.ts.map +1 -0
  108. package/dist/schema/server-message-keys.js +22 -0
  109. package/dist/schema/server-message-keys.js.map +1 -0
  110. package/dist/schema/slot-info.schema.d.ts +696 -0
  111. package/dist/schema/slot-info.schema.d.ts.map +1 -0
  112. package/dist/schema/slot-info.schema.js +144 -0
  113. package/dist/schema/slot-info.schema.js.map +1 -0
  114. package/dist/schema/spectrum.schema.d.ts +716 -0
  115. package/dist/schema/spectrum.schema.d.ts.map +1 -0
  116. package/dist/schema/spectrum.schema.js +128 -0
  117. package/dist/schema/spectrum.schema.js.map +1 -0
  118. package/dist/schema/station-info.schema.d.ts +202 -0
  119. package/dist/schema/station-info.schema.d.ts.map +1 -0
  120. package/dist/schema/station-info.schema.js +32 -0
  121. package/dist/schema/station-info.schema.js.map +1 -0
  122. package/dist/schema/system.schema.d.ts +113 -0
  123. package/dist/schema/system.schema.d.ts.map +1 -0
  124. package/dist/schema/system.schema.js +95 -0
  125. package/dist/schema/system.schema.js.map +1 -0
  126. package/dist/schema/transmission.schema.d.ts +413 -0
  127. package/dist/schema/transmission.schema.d.ts.map +1 -0
  128. package/dist/schema/transmission.schema.js +78 -0
  129. package/dist/schema/transmission.schema.js.map +1 -0
  130. package/dist/schema/voice.schema.d.ts +38 -0
  131. package/dist/schema/voice.schema.d.ts.map +1 -0
  132. package/dist/schema/voice.schema.js +24 -0
  133. package/dist/schema/voice.schema.js.map +1 -0
  134. package/dist/schema/websocket.schema.d.ts +16916 -0
  135. package/dist/schema/websocket.schema.d.ts.map +1 -0
  136. package/dist/schema/websocket.schema.js +1050 -0
  137. package/dist/schema/websocket.schema.js.map +1 -0
  138. package/dist/utils/grid.d.ts +13 -0
  139. package/dist/utils/grid.d.ts.map +1 -0
  140. package/dist/utils/grid.js +71 -0
  141. package/dist/utils/grid.js.map +1 -0
  142. package/eslint.config.js +15 -0
  143. package/package.json +28 -0
  144. package/src/index.ts +152 -0
  145. package/src/schema/__tests__/plugin-runtime-log.schema.test.ts +90 -0
  146. package/src/schema/ability.ts +205 -0
  147. package/src/schema/api-response.schema.ts +187 -0
  148. package/src/schema/audio-sidecar.schema.ts +53 -0
  149. package/src/schema/audio.schema.ts +73 -0
  150. package/src/schema/auth.schema.ts +224 -0
  151. package/src/schema/cycle.schema.ts +25 -0
  152. package/src/schema/desktop-https.schema.ts +43 -0
  153. package/src/schema/ft8.schema.ts +362 -0
  154. package/src/schema/hello.schema.ts +7 -0
  155. package/src/schema/logbook.schema.ts +310 -0
  156. package/src/schema/mode.schema.ts +158 -0
  157. package/src/schema/openwebrx.schema.ts +160 -0
  158. package/src/schema/operator.schema.ts +112 -0
  159. package/src/schema/plugin.schema.ts +503 -0
  160. package/src/schema/process-monitor.schema.ts +41 -0
  161. package/src/schema/pskreporter.schema.ts +102 -0
  162. package/src/schema/qso.schema.ts +173 -0
  163. package/src/schema/radio-capability.schema.ts +244 -0
  164. package/src/schema/radio-power-support.ts +107 -0
  165. package/src/schema/radio-power.schema.ts +101 -0
  166. package/src/schema/radio-profile.schema.ts +91 -0
  167. package/src/schema/radio.schema.ts +385 -0
  168. package/src/schema/realtime.schema.ts +262 -0
  169. package/src/schema/rigctld.schema.ts +51 -0
  170. package/src/schema/server-message-keys.ts +26 -0
  171. package/src/schema/slot-info.schema.ts +162 -0
  172. package/src/schema/spectrum.schema.ts +166 -0
  173. package/src/schema/station-info.schema.ts +40 -0
  174. package/src/schema/system.schema.ts +121 -0
  175. package/src/schema/transmission.schema.ts +105 -0
  176. package/src/schema/voice.schema.ts +28 -0
  177. package/src/schema/websocket.schema.ts +1480 -0
  178. package/src/utils/grid.ts +94 -0
  179. package/test/mode-schema.test.ts +48 -0
  180. package/tsconfig.json +9 -0
@@ -0,0 +1,1107 @@
1
+ import { z } from 'zod';
2
+ export declare const FT8DecodeSchema: z.ZodObject<{
3
+ timestamp: z.ZodNumber;
4
+ snr: z.ZodNumber;
5
+ dt: z.ZodNumber;
6
+ df: z.ZodNumber;
7
+ message: z.ZodString;
8
+ lowConfidence: z.ZodOptional<z.ZodBoolean>;
9
+ cycle: z.ZodNumber;
10
+ }, "strip", z.ZodTypeAny, {
11
+ message: string;
12
+ snr: number;
13
+ dt: number;
14
+ timestamp: number;
15
+ df: number;
16
+ cycle: number;
17
+ lowConfidence?: boolean | undefined;
18
+ }, {
19
+ message: string;
20
+ snr: number;
21
+ dt: number;
22
+ timestamp: number;
23
+ df: number;
24
+ cycle: number;
25
+ lowConfidence?: boolean | undefined;
26
+ }>;
27
+ export declare const FT8EncodeRequestSchema: z.ZodObject<{
28
+ message: z.ZodString;
29
+ frequency: z.ZodOptional<z.ZodNumber>;
30
+ power: z.ZodOptional<z.ZodNumber>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ message: string;
33
+ frequency?: number | undefined;
34
+ power?: number | undefined;
35
+ }, {
36
+ message: string;
37
+ frequency?: number | undefined;
38
+ power?: number | undefined;
39
+ }>;
40
+ export declare const FT8EncodeResponseSchema: z.ZodObject<{
41
+ success: z.ZodBoolean;
42
+ audioData: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
43
+ duration: z.ZodOptional<z.ZodNumber>;
44
+ error: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ success: boolean;
47
+ error?: string | undefined;
48
+ audioData?: number[] | undefined;
49
+ duration?: number | undefined;
50
+ }, {
51
+ success: boolean;
52
+ error?: string | undefined;
53
+ audioData?: number[] | undefined;
54
+ duration?: number | undefined;
55
+ }>;
56
+ export declare const FT8DecodesResponseSchema: z.ZodObject<{
57
+ decodes: z.ZodArray<z.ZodObject<{
58
+ timestamp: z.ZodNumber;
59
+ snr: z.ZodNumber;
60
+ dt: z.ZodNumber;
61
+ df: z.ZodNumber;
62
+ message: z.ZodString;
63
+ lowConfidence: z.ZodOptional<z.ZodBoolean>;
64
+ cycle: z.ZodNumber;
65
+ }, "strip", z.ZodTypeAny, {
66
+ message: string;
67
+ snr: number;
68
+ dt: number;
69
+ timestamp: number;
70
+ df: number;
71
+ cycle: number;
72
+ lowConfidence?: boolean | undefined;
73
+ }, {
74
+ message: string;
75
+ snr: number;
76
+ dt: number;
77
+ timestamp: number;
78
+ df: number;
79
+ cycle: number;
80
+ lowConfidence?: boolean | undefined;
81
+ }>, "many">;
82
+ cycle: z.ZodNumber;
83
+ timestamp: z.ZodNumber;
84
+ }, "strip", z.ZodTypeAny, {
85
+ timestamp: number;
86
+ cycle: number;
87
+ decodes: {
88
+ message: string;
89
+ snr: number;
90
+ dt: number;
91
+ timestamp: number;
92
+ df: number;
93
+ cycle: number;
94
+ lowConfidence?: boolean | undefined;
95
+ }[];
96
+ }, {
97
+ timestamp: number;
98
+ cycle: number;
99
+ decodes: {
100
+ message: string;
101
+ snr: number;
102
+ dt: number;
103
+ timestamp: number;
104
+ df: number;
105
+ cycle: number;
106
+ lowConfidence?: boolean | undefined;
107
+ }[];
108
+ }>;
109
+ export declare const FT8SpectrumSchema: z.ZodObject<{
110
+ timestamp: z.ZodNumber;
111
+ sampleRate: z.ZodNumber;
112
+ frequencyRange: z.ZodObject<{
113
+ min: z.ZodNumber;
114
+ max: z.ZodNumber;
115
+ }, "strip", z.ZodTypeAny, {
116
+ min: number;
117
+ max: number;
118
+ }, {
119
+ min: number;
120
+ max: number;
121
+ }>;
122
+ binaryData: z.ZodObject<{
123
+ data: z.ZodString;
124
+ format: z.ZodObject<{
125
+ type: z.ZodLiteral<"int16">;
126
+ length: z.ZodNumber;
127
+ scale: z.ZodOptional<z.ZodNumber>;
128
+ offset: z.ZodOptional<z.ZodNumber>;
129
+ }, "strip", z.ZodTypeAny, {
130
+ type: "int16";
131
+ length: number;
132
+ scale?: number | undefined;
133
+ offset?: number | undefined;
134
+ }, {
135
+ type: "int16";
136
+ length: number;
137
+ scale?: number | undefined;
138
+ offset?: number | undefined;
139
+ }>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ data: string;
142
+ format: {
143
+ type: "int16";
144
+ length: number;
145
+ scale?: number | undefined;
146
+ offset?: number | undefined;
147
+ };
148
+ }, {
149
+ data: string;
150
+ format: {
151
+ type: "int16";
152
+ length: number;
153
+ scale?: number | undefined;
154
+ offset?: number | undefined;
155
+ };
156
+ }>;
157
+ summary: z.ZodOptional<z.ZodObject<{
158
+ peakFrequency: z.ZodNumber;
159
+ peakMagnitude: z.ZodNumber;
160
+ averageMagnitude: z.ZodNumber;
161
+ dynamicRange: z.ZodNumber;
162
+ energyDistribution: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ peakFrequency: number;
165
+ peakMagnitude: number;
166
+ averageMagnitude: number;
167
+ dynamicRange: number;
168
+ energyDistribution?: number[] | undefined;
169
+ }, {
170
+ peakFrequency: number;
171
+ peakMagnitude: number;
172
+ averageMagnitude: number;
173
+ dynamicRange: number;
174
+ energyDistribution?: number[] | undefined;
175
+ }>>;
176
+ }, "strip", z.ZodTypeAny, {
177
+ sampleRate: number;
178
+ timestamp: number;
179
+ frequencyRange: {
180
+ min: number;
181
+ max: number;
182
+ };
183
+ binaryData: {
184
+ data: string;
185
+ format: {
186
+ type: "int16";
187
+ length: number;
188
+ scale?: number | undefined;
189
+ offset?: number | undefined;
190
+ };
191
+ };
192
+ summary?: {
193
+ peakFrequency: number;
194
+ peakMagnitude: number;
195
+ averageMagnitude: number;
196
+ dynamicRange: number;
197
+ energyDistribution?: number[] | undefined;
198
+ } | undefined;
199
+ }, {
200
+ sampleRate: number;
201
+ timestamp: number;
202
+ frequencyRange: {
203
+ min: number;
204
+ max: number;
205
+ };
206
+ binaryData: {
207
+ data: string;
208
+ format: {
209
+ type: "int16";
210
+ length: number;
211
+ scale?: number | undefined;
212
+ offset?: number | undefined;
213
+ };
214
+ };
215
+ summary?: {
216
+ peakFrequency: number;
217
+ peakMagnitude: number;
218
+ averageMagnitude: number;
219
+ dynamicRange: number;
220
+ energyDistribution?: number[] | undefined;
221
+ } | undefined;
222
+ }>;
223
+ export declare const FT8SpectrumResponseSchema: z.ZodObject<{
224
+ spectrum: z.ZodObject<{
225
+ timestamp: z.ZodNumber;
226
+ sampleRate: z.ZodNumber;
227
+ frequencyRange: z.ZodObject<{
228
+ min: z.ZodNumber;
229
+ max: z.ZodNumber;
230
+ }, "strip", z.ZodTypeAny, {
231
+ min: number;
232
+ max: number;
233
+ }, {
234
+ min: number;
235
+ max: number;
236
+ }>;
237
+ binaryData: z.ZodObject<{
238
+ data: z.ZodString;
239
+ format: z.ZodObject<{
240
+ type: z.ZodLiteral<"int16">;
241
+ length: z.ZodNumber;
242
+ scale: z.ZodOptional<z.ZodNumber>;
243
+ offset: z.ZodOptional<z.ZodNumber>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ type: "int16";
246
+ length: number;
247
+ scale?: number | undefined;
248
+ offset?: number | undefined;
249
+ }, {
250
+ type: "int16";
251
+ length: number;
252
+ scale?: number | undefined;
253
+ offset?: number | undefined;
254
+ }>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ data: string;
257
+ format: {
258
+ type: "int16";
259
+ length: number;
260
+ scale?: number | undefined;
261
+ offset?: number | undefined;
262
+ };
263
+ }, {
264
+ data: string;
265
+ format: {
266
+ type: "int16";
267
+ length: number;
268
+ scale?: number | undefined;
269
+ offset?: number | undefined;
270
+ };
271
+ }>;
272
+ summary: z.ZodOptional<z.ZodObject<{
273
+ peakFrequency: z.ZodNumber;
274
+ peakMagnitude: z.ZodNumber;
275
+ averageMagnitude: z.ZodNumber;
276
+ dynamicRange: z.ZodNumber;
277
+ energyDistribution: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
278
+ }, "strip", z.ZodTypeAny, {
279
+ peakFrequency: number;
280
+ peakMagnitude: number;
281
+ averageMagnitude: number;
282
+ dynamicRange: number;
283
+ energyDistribution?: number[] | undefined;
284
+ }, {
285
+ peakFrequency: number;
286
+ peakMagnitude: number;
287
+ averageMagnitude: number;
288
+ dynamicRange: number;
289
+ energyDistribution?: number[] | undefined;
290
+ }>>;
291
+ }, "strip", z.ZodTypeAny, {
292
+ sampleRate: number;
293
+ timestamp: number;
294
+ frequencyRange: {
295
+ min: number;
296
+ max: number;
297
+ };
298
+ binaryData: {
299
+ data: string;
300
+ format: {
301
+ type: "int16";
302
+ length: number;
303
+ scale?: number | undefined;
304
+ offset?: number | undefined;
305
+ };
306
+ };
307
+ summary?: {
308
+ peakFrequency: number;
309
+ peakMagnitude: number;
310
+ averageMagnitude: number;
311
+ dynamicRange: number;
312
+ energyDistribution?: number[] | undefined;
313
+ } | undefined;
314
+ }, {
315
+ sampleRate: number;
316
+ timestamp: number;
317
+ frequencyRange: {
318
+ min: number;
319
+ max: number;
320
+ };
321
+ binaryData: {
322
+ data: string;
323
+ format: {
324
+ type: "int16";
325
+ length: number;
326
+ scale?: number | undefined;
327
+ offset?: number | undefined;
328
+ };
329
+ };
330
+ summary?: {
331
+ peakFrequency: number;
332
+ peakMagnitude: number;
333
+ averageMagnitude: number;
334
+ dynamicRange: number;
335
+ energyDistribution?: number[] | undefined;
336
+ } | undefined;
337
+ }>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ spectrum: {
340
+ sampleRate: number;
341
+ timestamp: number;
342
+ frequencyRange: {
343
+ min: number;
344
+ max: number;
345
+ };
346
+ binaryData: {
347
+ data: string;
348
+ format: {
349
+ type: "int16";
350
+ length: number;
351
+ scale?: number | undefined;
352
+ offset?: number | undefined;
353
+ };
354
+ };
355
+ summary?: {
356
+ peakFrequency: number;
357
+ peakMagnitude: number;
358
+ averageMagnitude: number;
359
+ dynamicRange: number;
360
+ energyDistribution?: number[] | undefined;
361
+ } | undefined;
362
+ };
363
+ }, {
364
+ spectrum: {
365
+ sampleRate: number;
366
+ timestamp: number;
367
+ frequencyRange: {
368
+ min: number;
369
+ max: number;
370
+ };
371
+ binaryData: {
372
+ data: string;
373
+ format: {
374
+ type: "int16";
375
+ length: number;
376
+ scale?: number | undefined;
377
+ offset?: number | undefined;
378
+ };
379
+ };
380
+ summary?: {
381
+ peakFrequency: number;
382
+ peakMagnitude: number;
383
+ averageMagnitude: number;
384
+ dynamicRange: number;
385
+ energyDistribution?: number[] | undefined;
386
+ } | undefined;
387
+ };
388
+ }>;
389
+ export declare const FT8TransmitRequestSchema: z.ZodObject<{
390
+ message: z.ZodString;
391
+ frequency: z.ZodNumber;
392
+ immediate: z.ZodOptional<z.ZodBoolean>;
393
+ cycle: z.ZodOptional<z.ZodNumber>;
394
+ }, "strip", z.ZodTypeAny, {
395
+ message: string;
396
+ frequency: number;
397
+ cycle?: number | undefined;
398
+ immediate?: boolean | undefined;
399
+ }, {
400
+ message: string;
401
+ frequency: number;
402
+ cycle?: number | undefined;
403
+ immediate?: boolean | undefined;
404
+ }>;
405
+ export declare const FT8TransmitResponseSchema: z.ZodObject<{
406
+ success: z.ZodBoolean;
407
+ message: z.ZodOptional<z.ZodString>;
408
+ scheduledCycle: z.ZodOptional<z.ZodNumber>;
409
+ }, "strip", z.ZodTypeAny, {
410
+ success: boolean;
411
+ message?: string | undefined;
412
+ scheduledCycle?: number | undefined;
413
+ }, {
414
+ success: boolean;
415
+ message?: string | undefined;
416
+ scheduledCycle?: number | undefined;
417
+ }>;
418
+ /**
419
+ * Canonical FT8 message kind identifiers used by the parser.
420
+ *
421
+ * These values describe the semantic role of a decoded message after TX-5DR has
422
+ * normalized the raw free-text payload into structured FT8/QSO stages.
423
+ */
424
+ export declare const FT8MessageType: {
425
+ readonly CQ: "cq";
426
+ readonly CALL: "call";
427
+ readonly SIGNAL_REPORT: "signal_report";
428
+ readonly ROGER_REPORT: "roger_report";
429
+ readonly RRR: "rrr";
430
+ readonly SEVENTY_THREE: "73";
431
+ readonly FOX_RR73: "fox_rr73";
432
+ readonly CUSTOM: "custom";
433
+ readonly UNKNOWN: "unknown";
434
+ };
435
+ /**
436
+ * Zod schema for {@link FT8MessageType} values.
437
+ */
438
+ export declare const FT8MessageTypeSchema: z.ZodEnum<["cq", "call", "signal_report", "roger_report", "rrr", "73", "fox_rr73", "custom", "unknown"]>;
439
+ /**
440
+ * Base shape shared by every structured FT8 message.
441
+ *
442
+ * Use this when code only needs to discriminate on the message `type` without
443
+ * caring about the rest of the payload.
444
+ */
445
+ export declare const FT8MessageBaseSchema: z.ZodObject<{
446
+ type: z.ZodEnum<["cq", "call", "signal_report", "roger_report", "rrr", "73", "fox_rr73", "custom", "unknown"]>;
447
+ }, "strip", z.ZodTypeAny, {
448
+ type: "custom" | "unknown" | "cq" | "call" | "signal_report" | "roger_report" | "rrr" | "73" | "fox_rr73";
449
+ }, {
450
+ type: "custom" | "unknown" | "cq" | "call" | "signal_report" | "roger_report" | "rrr" | "73" | "fox_rr73";
451
+ }>;
452
+ /**
453
+ * Structured representation of a CQ message.
454
+ *
455
+ * This is typically the main entry point for automation plugins that scan the
456
+ * band for new targets to answer.
457
+ */
458
+ export declare const FT8MessageCQSchema: z.ZodObject<{} & {
459
+ type: z.ZodLiteral<"cq">;
460
+ senderCallsign: z.ZodString;
461
+ flag: z.ZodOptional<z.ZodString>;
462
+ grid: z.ZodOptional<z.ZodString>;
463
+ }, "strip", z.ZodTypeAny, {
464
+ type: "cq";
465
+ senderCallsign: string;
466
+ grid?: string | undefined;
467
+ flag?: string | undefined;
468
+ }, {
469
+ type: "cq";
470
+ senderCallsign: string;
471
+ grid?: string | undefined;
472
+ flag?: string | undefined;
473
+ }>;
474
+ /**
475
+ * Structured representation of a directed call message.
476
+ *
477
+ * This covers "A B" style messages where one station calls or answers a
478
+ * specific target station, optionally including grid information.
479
+ */
480
+ export declare const FT8MessageCallSchema: z.ZodObject<{} & {
481
+ type: z.ZodLiteral<"call">;
482
+ senderCallsign: z.ZodString;
483
+ targetCallsign: z.ZodString;
484
+ grid: z.ZodOptional<z.ZodString>;
485
+ }, "strip", z.ZodTypeAny, {
486
+ type: "call";
487
+ targetCallsign: string;
488
+ senderCallsign: string;
489
+ grid?: string | undefined;
490
+ }, {
491
+ type: "call";
492
+ targetCallsign: string;
493
+ senderCallsign: string;
494
+ grid?: string | undefined;
495
+ }>;
496
+ /**
497
+ * Structured representation of a signal report message.
498
+ *
499
+ * This usually corresponds to the report-exchange phase of a normal FT8 QSO.
500
+ */
501
+ export declare const FT8MessageSignalReportSchema: z.ZodObject<{} & {
502
+ type: z.ZodLiteral<"signal_report">;
503
+ senderCallsign: z.ZodString;
504
+ targetCallsign: z.ZodString;
505
+ report: z.ZodNumber;
506
+ }, "strip", z.ZodTypeAny, {
507
+ type: "signal_report";
508
+ targetCallsign: string;
509
+ senderCallsign: string;
510
+ report: number;
511
+ }, {
512
+ type: "signal_report";
513
+ targetCallsign: string;
514
+ senderCallsign: string;
515
+ report: number;
516
+ }>;
517
+ /**
518
+ * Structured representation of an RR73-style "roger + report" message.
519
+ *
520
+ * In standard FT8 flow this acknowledges the received report while also
521
+ * carrying the sender's report for the other station.
522
+ */
523
+ export declare const FT8MessageRogerReportSchema: z.ZodObject<{} & {
524
+ type: z.ZodLiteral<"roger_report">;
525
+ senderCallsign: z.ZodString;
526
+ targetCallsign: z.ZodString;
527
+ report: z.ZodNumber;
528
+ }, "strip", z.ZodTypeAny, {
529
+ type: "roger_report";
530
+ targetCallsign: string;
531
+ senderCallsign: string;
532
+ report: number;
533
+ }, {
534
+ type: "roger_report";
535
+ targetCallsign: string;
536
+ senderCallsign: string;
537
+ report: number;
538
+ }>;
539
+ /**
540
+ * Structured representation of an `RRR` confirmation message.
541
+ *
542
+ * This indicates the sender considers the report exchange complete.
543
+ */
544
+ export declare const FT8MessageRRRSchema: z.ZodObject<{} & {
545
+ type: z.ZodLiteral<"rrr">;
546
+ senderCallsign: z.ZodString;
547
+ targetCallsign: z.ZodString;
548
+ }, "strip", z.ZodTypeAny, {
549
+ type: "rrr";
550
+ targetCallsign: string;
551
+ senderCallsign: string;
552
+ }, {
553
+ type: "rrr";
554
+ targetCallsign: string;
555
+ senderCallsign: string;
556
+ }>;
557
+ /**
558
+ * Structured representation of a final `73` closing message.
559
+ *
560
+ * This is typically the terminal stage of a completed FT8 QSO.
561
+ */
562
+ export declare const FT8MessageSeventyThreeSchema: z.ZodObject<{} & {
563
+ type: z.ZodLiteral<"73">;
564
+ senderCallsign: z.ZodString;
565
+ targetCallsign: z.ZodString;
566
+ }, "strip", z.ZodTypeAny, {
567
+ type: "73";
568
+ targetCallsign: string;
569
+ senderCallsign: string;
570
+ }, {
571
+ type: "73";
572
+ targetCallsign: string;
573
+ senderCallsign: string;
574
+ }>;
575
+ /**
576
+ * Structured representation of a Fox/Hound `RR73` completion message.
577
+ *
578
+ * This variant appears in DXpedition workflows where the Fox acknowledges one
579
+ * completed Hound and may invite the next one in the same frame.
580
+ */
581
+ export declare const FT8MessageFoxRR73Schema: z.ZodObject<{} & {
582
+ type: z.ZodLiteral<"fox_rr73">;
583
+ senderCallsign: z.ZodOptional<z.ZodString>;
584
+ completedCallsign: z.ZodString;
585
+ nextCallsign: z.ZodString;
586
+ foxHash: z.ZodOptional<z.ZodString>;
587
+ snrForNext: z.ZodOptional<z.ZodNumber>;
588
+ }, "strip", z.ZodTypeAny, {
589
+ type: "fox_rr73";
590
+ completedCallsign: string;
591
+ nextCallsign: string;
592
+ senderCallsign?: string | undefined;
593
+ foxHash?: string | undefined;
594
+ snrForNext?: number | undefined;
595
+ }, {
596
+ type: "fox_rr73";
597
+ completedCallsign: string;
598
+ nextCallsign: string;
599
+ senderCallsign?: string | undefined;
600
+ foxHash?: string | undefined;
601
+ snrForNext?: number | undefined;
602
+ }>;
603
+ /**
604
+ * Structured representation of a decoder-recognized message whose free-text
605
+ * payload is intentionally left uninterpreted.
606
+ */
607
+ export declare const FT8MessageCustomSchema: z.ZodObject<{} & {
608
+ type: z.ZodLiteral<"custom">;
609
+ }, "strip", z.ZodTypeAny, {
610
+ type: "custom";
611
+ }, {
612
+ type: "custom";
613
+ }>;
614
+ /**
615
+ * Fallback structured representation for a decoded message that the parser
616
+ * could not confidently classify.
617
+ */
618
+ export declare const FT8MessageUnknownSchema: z.ZodObject<{} & {
619
+ type: z.ZodLiteral<"unknown">;
620
+ }, "strip", z.ZodTypeAny, {
621
+ type: "unknown";
622
+ }, {
623
+ type: "unknown";
624
+ }>;
625
+ /**
626
+ * Discriminated union of every structured FT8 message variant understood by
627
+ * TX-5DR.
628
+ */
629
+ export declare const FT8MessageSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{} & {
630
+ type: z.ZodLiteral<"cq">;
631
+ senderCallsign: z.ZodString;
632
+ flag: z.ZodOptional<z.ZodString>;
633
+ grid: z.ZodOptional<z.ZodString>;
634
+ }, "strip", z.ZodTypeAny, {
635
+ type: "cq";
636
+ senderCallsign: string;
637
+ grid?: string | undefined;
638
+ flag?: string | undefined;
639
+ }, {
640
+ type: "cq";
641
+ senderCallsign: string;
642
+ grid?: string | undefined;
643
+ flag?: string | undefined;
644
+ }>, z.ZodObject<{} & {
645
+ type: z.ZodLiteral<"call">;
646
+ senderCallsign: z.ZodString;
647
+ targetCallsign: z.ZodString;
648
+ grid: z.ZodOptional<z.ZodString>;
649
+ }, "strip", z.ZodTypeAny, {
650
+ type: "call";
651
+ targetCallsign: string;
652
+ senderCallsign: string;
653
+ grid?: string | undefined;
654
+ }, {
655
+ type: "call";
656
+ targetCallsign: string;
657
+ senderCallsign: string;
658
+ grid?: string | undefined;
659
+ }>, z.ZodObject<{} & {
660
+ type: z.ZodLiteral<"signal_report">;
661
+ senderCallsign: z.ZodString;
662
+ targetCallsign: z.ZodString;
663
+ report: z.ZodNumber;
664
+ }, "strip", z.ZodTypeAny, {
665
+ type: "signal_report";
666
+ targetCallsign: string;
667
+ senderCallsign: string;
668
+ report: number;
669
+ }, {
670
+ type: "signal_report";
671
+ targetCallsign: string;
672
+ senderCallsign: string;
673
+ report: number;
674
+ }>, z.ZodObject<{} & {
675
+ type: z.ZodLiteral<"roger_report">;
676
+ senderCallsign: z.ZodString;
677
+ targetCallsign: z.ZodString;
678
+ report: z.ZodNumber;
679
+ }, "strip", z.ZodTypeAny, {
680
+ type: "roger_report";
681
+ targetCallsign: string;
682
+ senderCallsign: string;
683
+ report: number;
684
+ }, {
685
+ type: "roger_report";
686
+ targetCallsign: string;
687
+ senderCallsign: string;
688
+ report: number;
689
+ }>, z.ZodObject<{} & {
690
+ type: z.ZodLiteral<"rrr">;
691
+ senderCallsign: z.ZodString;
692
+ targetCallsign: z.ZodString;
693
+ }, "strip", z.ZodTypeAny, {
694
+ type: "rrr";
695
+ targetCallsign: string;
696
+ senderCallsign: string;
697
+ }, {
698
+ type: "rrr";
699
+ targetCallsign: string;
700
+ senderCallsign: string;
701
+ }>, z.ZodObject<{} & {
702
+ type: z.ZodLiteral<"73">;
703
+ senderCallsign: z.ZodString;
704
+ targetCallsign: z.ZodString;
705
+ }, "strip", z.ZodTypeAny, {
706
+ type: "73";
707
+ targetCallsign: string;
708
+ senderCallsign: string;
709
+ }, {
710
+ type: "73";
711
+ targetCallsign: string;
712
+ senderCallsign: string;
713
+ }>, z.ZodObject<{} & {
714
+ type: z.ZodLiteral<"fox_rr73">;
715
+ senderCallsign: z.ZodOptional<z.ZodString>;
716
+ completedCallsign: z.ZodString;
717
+ nextCallsign: z.ZodString;
718
+ foxHash: z.ZodOptional<z.ZodString>;
719
+ snrForNext: z.ZodOptional<z.ZodNumber>;
720
+ }, "strip", z.ZodTypeAny, {
721
+ type: "fox_rr73";
722
+ completedCallsign: string;
723
+ nextCallsign: string;
724
+ senderCallsign?: string | undefined;
725
+ foxHash?: string | undefined;
726
+ snrForNext?: number | undefined;
727
+ }, {
728
+ type: "fox_rr73";
729
+ completedCallsign: string;
730
+ nextCallsign: string;
731
+ senderCallsign?: string | undefined;
732
+ foxHash?: string | undefined;
733
+ snrForNext?: number | undefined;
734
+ }>, z.ZodObject<{} & {
735
+ type: z.ZodLiteral<"custom">;
736
+ }, "strip", z.ZodTypeAny, {
737
+ type: "custom";
738
+ }, {
739
+ type: "custom";
740
+ }>, z.ZodObject<{} & {
741
+ type: z.ZodLiteral<"unknown">;
742
+ }, "strip", z.ZodTypeAny, {
743
+ type: "unknown";
744
+ }, {
745
+ type: "unknown";
746
+ }>]>;
747
+ /**
748
+ * Fully parsed decode entry used by selection, filtering and automation logic.
749
+ *
750
+ * This is the main plugin-facing FT8 payload. It combines RF metrics from the
751
+ * decoder (`snr`, `dt`, `df`), the original unparsed text (`rawMessage`), the
752
+ * normalized semantic form (`message`) and optional logbook enrichment.
753
+ */
754
+ export declare const ParsedFT8MessageSchema: z.ZodObject<{
755
+ snr: z.ZodNumber;
756
+ dt: z.ZodNumber;
757
+ df: z.ZodNumber;
758
+ rawMessage: z.ZodString;
759
+ message: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{} & {
760
+ type: z.ZodLiteral<"cq">;
761
+ senderCallsign: z.ZodString;
762
+ flag: z.ZodOptional<z.ZodString>;
763
+ grid: z.ZodOptional<z.ZodString>;
764
+ }, "strip", z.ZodTypeAny, {
765
+ type: "cq";
766
+ senderCallsign: string;
767
+ grid?: string | undefined;
768
+ flag?: string | undefined;
769
+ }, {
770
+ type: "cq";
771
+ senderCallsign: string;
772
+ grid?: string | undefined;
773
+ flag?: string | undefined;
774
+ }>, z.ZodObject<{} & {
775
+ type: z.ZodLiteral<"call">;
776
+ senderCallsign: z.ZodString;
777
+ targetCallsign: z.ZodString;
778
+ grid: z.ZodOptional<z.ZodString>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ type: "call";
781
+ targetCallsign: string;
782
+ senderCallsign: string;
783
+ grid?: string | undefined;
784
+ }, {
785
+ type: "call";
786
+ targetCallsign: string;
787
+ senderCallsign: string;
788
+ grid?: string | undefined;
789
+ }>, z.ZodObject<{} & {
790
+ type: z.ZodLiteral<"signal_report">;
791
+ senderCallsign: z.ZodString;
792
+ targetCallsign: z.ZodString;
793
+ report: z.ZodNumber;
794
+ }, "strip", z.ZodTypeAny, {
795
+ type: "signal_report";
796
+ targetCallsign: string;
797
+ senderCallsign: string;
798
+ report: number;
799
+ }, {
800
+ type: "signal_report";
801
+ targetCallsign: string;
802
+ senderCallsign: string;
803
+ report: number;
804
+ }>, z.ZodObject<{} & {
805
+ type: z.ZodLiteral<"roger_report">;
806
+ senderCallsign: z.ZodString;
807
+ targetCallsign: z.ZodString;
808
+ report: z.ZodNumber;
809
+ }, "strip", z.ZodTypeAny, {
810
+ type: "roger_report";
811
+ targetCallsign: string;
812
+ senderCallsign: string;
813
+ report: number;
814
+ }, {
815
+ type: "roger_report";
816
+ targetCallsign: string;
817
+ senderCallsign: string;
818
+ report: number;
819
+ }>, z.ZodObject<{} & {
820
+ type: z.ZodLiteral<"rrr">;
821
+ senderCallsign: z.ZodString;
822
+ targetCallsign: z.ZodString;
823
+ }, "strip", z.ZodTypeAny, {
824
+ type: "rrr";
825
+ targetCallsign: string;
826
+ senderCallsign: string;
827
+ }, {
828
+ type: "rrr";
829
+ targetCallsign: string;
830
+ senderCallsign: string;
831
+ }>, z.ZodObject<{} & {
832
+ type: z.ZodLiteral<"73">;
833
+ senderCallsign: z.ZodString;
834
+ targetCallsign: z.ZodString;
835
+ }, "strip", z.ZodTypeAny, {
836
+ type: "73";
837
+ targetCallsign: string;
838
+ senderCallsign: string;
839
+ }, {
840
+ type: "73";
841
+ targetCallsign: string;
842
+ senderCallsign: string;
843
+ }>, z.ZodObject<{} & {
844
+ type: z.ZodLiteral<"fox_rr73">;
845
+ senderCallsign: z.ZodOptional<z.ZodString>;
846
+ completedCallsign: z.ZodString;
847
+ nextCallsign: z.ZodString;
848
+ foxHash: z.ZodOptional<z.ZodString>;
849
+ snrForNext: z.ZodOptional<z.ZodNumber>;
850
+ }, "strip", z.ZodTypeAny, {
851
+ type: "fox_rr73";
852
+ completedCallsign: string;
853
+ nextCallsign: string;
854
+ senderCallsign?: string | undefined;
855
+ foxHash?: string | undefined;
856
+ snrForNext?: number | undefined;
857
+ }, {
858
+ type: "fox_rr73";
859
+ completedCallsign: string;
860
+ nextCallsign: string;
861
+ senderCallsign?: string | undefined;
862
+ foxHash?: string | undefined;
863
+ snrForNext?: number | undefined;
864
+ }>, z.ZodObject<{} & {
865
+ type: z.ZodLiteral<"custom">;
866
+ }, "strip", z.ZodTypeAny, {
867
+ type: "custom";
868
+ }, {
869
+ type: "custom";
870
+ }>, z.ZodObject<{} & {
871
+ type: z.ZodLiteral<"unknown">;
872
+ }, "strip", z.ZodTypeAny, {
873
+ type: "unknown";
874
+ }, {
875
+ type: "unknown";
876
+ }>]>;
877
+ slotId: z.ZodString;
878
+ timestamp: z.ZodNumber;
879
+ logbookAnalysis: z.ZodOptional<z.ZodObject<{
880
+ isNewCallsign: z.ZodOptional<z.ZodBoolean>;
881
+ isNewDxccEntity: z.ZodOptional<z.ZodBoolean>;
882
+ isNewBandDxccEntity: z.ZodOptional<z.ZodBoolean>;
883
+ isConfirmedDxcc: z.ZodOptional<z.ZodBoolean>;
884
+ isNewGrid: z.ZodOptional<z.ZodBoolean>;
885
+ callsign: z.ZodOptional<z.ZodString>;
886
+ grid: z.ZodOptional<z.ZodString>;
887
+ prefix: z.ZodOptional<z.ZodString>;
888
+ state: z.ZodOptional<z.ZodString>;
889
+ stateConfidence: z.ZodOptional<z.ZodEnum<["high", "low"]>>;
890
+ dxccId: z.ZodOptional<z.ZodNumber>;
891
+ dxccEntity: z.ZodOptional<z.ZodString>;
892
+ dxccStatus: z.ZodOptional<z.ZodEnum<["current", "deleted", "none", "unknown"]>>;
893
+ }, "strip", z.ZodTypeAny, {
894
+ prefix?: string | undefined;
895
+ callsign?: string | undefined;
896
+ grid?: string | undefined;
897
+ dxccId?: number | undefined;
898
+ dxccEntity?: string | undefined;
899
+ dxccStatus?: "unknown" | "current" | "deleted" | "none" | undefined;
900
+ isNewCallsign?: boolean | undefined;
901
+ isNewDxccEntity?: boolean | undefined;
902
+ isNewBandDxccEntity?: boolean | undefined;
903
+ isConfirmedDxcc?: boolean | undefined;
904
+ isNewGrid?: boolean | undefined;
905
+ state?: string | undefined;
906
+ stateConfidence?: "high" | "low" | undefined;
907
+ }, {
908
+ prefix?: string | undefined;
909
+ callsign?: string | undefined;
910
+ grid?: string | undefined;
911
+ dxccId?: number | undefined;
912
+ dxccEntity?: string | undefined;
913
+ dxccStatus?: "unknown" | "current" | "deleted" | "none" | undefined;
914
+ isNewCallsign?: boolean | undefined;
915
+ isNewDxccEntity?: boolean | undefined;
916
+ isNewBandDxccEntity?: boolean | undefined;
917
+ isConfirmedDxcc?: boolean | undefined;
918
+ isNewGrid?: boolean | undefined;
919
+ state?: string | undefined;
920
+ stateConfidence?: "high" | "low" | undefined;
921
+ }>>;
922
+ }, "strip", z.ZodTypeAny, {
923
+ message: {
924
+ type: "cq";
925
+ senderCallsign: string;
926
+ grid?: string | undefined;
927
+ flag?: string | undefined;
928
+ } | {
929
+ type: "call";
930
+ targetCallsign: string;
931
+ senderCallsign: string;
932
+ grid?: string | undefined;
933
+ } | {
934
+ type: "signal_report";
935
+ targetCallsign: string;
936
+ senderCallsign: string;
937
+ report: number;
938
+ } | {
939
+ type: "roger_report";
940
+ targetCallsign: string;
941
+ senderCallsign: string;
942
+ report: number;
943
+ } | {
944
+ type: "rrr";
945
+ targetCallsign: string;
946
+ senderCallsign: string;
947
+ } | {
948
+ type: "73";
949
+ targetCallsign: string;
950
+ senderCallsign: string;
951
+ } | {
952
+ type: "fox_rr73";
953
+ completedCallsign: string;
954
+ nextCallsign: string;
955
+ senderCallsign?: string | undefined;
956
+ foxHash?: string | undefined;
957
+ snrForNext?: number | undefined;
958
+ } | {
959
+ type: "custom";
960
+ } | {
961
+ type: "unknown";
962
+ };
963
+ snr: number;
964
+ dt: number;
965
+ slotId: string;
966
+ timestamp: number;
967
+ df: number;
968
+ rawMessage: string;
969
+ logbookAnalysis?: {
970
+ prefix?: string | undefined;
971
+ callsign?: string | undefined;
972
+ grid?: string | undefined;
973
+ dxccId?: number | undefined;
974
+ dxccEntity?: string | undefined;
975
+ dxccStatus?: "unknown" | "current" | "deleted" | "none" | undefined;
976
+ isNewCallsign?: boolean | undefined;
977
+ isNewDxccEntity?: boolean | undefined;
978
+ isNewBandDxccEntity?: boolean | undefined;
979
+ isConfirmedDxcc?: boolean | undefined;
980
+ isNewGrid?: boolean | undefined;
981
+ state?: string | undefined;
982
+ stateConfidence?: "high" | "low" | undefined;
983
+ } | undefined;
984
+ }, {
985
+ message: {
986
+ type: "cq";
987
+ senderCallsign: string;
988
+ grid?: string | undefined;
989
+ flag?: string | undefined;
990
+ } | {
991
+ type: "call";
992
+ targetCallsign: string;
993
+ senderCallsign: string;
994
+ grid?: string | undefined;
995
+ } | {
996
+ type: "signal_report";
997
+ targetCallsign: string;
998
+ senderCallsign: string;
999
+ report: number;
1000
+ } | {
1001
+ type: "roger_report";
1002
+ targetCallsign: string;
1003
+ senderCallsign: string;
1004
+ report: number;
1005
+ } | {
1006
+ type: "rrr";
1007
+ targetCallsign: string;
1008
+ senderCallsign: string;
1009
+ } | {
1010
+ type: "73";
1011
+ targetCallsign: string;
1012
+ senderCallsign: string;
1013
+ } | {
1014
+ type: "fox_rr73";
1015
+ completedCallsign: string;
1016
+ nextCallsign: string;
1017
+ senderCallsign?: string | undefined;
1018
+ foxHash?: string | undefined;
1019
+ snrForNext?: number | undefined;
1020
+ } | {
1021
+ type: "custom";
1022
+ } | {
1023
+ type: "unknown";
1024
+ };
1025
+ snr: number;
1026
+ dt: number;
1027
+ slotId: string;
1028
+ timestamp: number;
1029
+ df: number;
1030
+ rawMessage: string;
1031
+ logbookAnalysis?: {
1032
+ prefix?: string | undefined;
1033
+ callsign?: string | undefined;
1034
+ grid?: string | undefined;
1035
+ dxccId?: number | undefined;
1036
+ dxccEntity?: string | undefined;
1037
+ dxccStatus?: "unknown" | "current" | "deleted" | "none" | undefined;
1038
+ isNewCallsign?: boolean | undefined;
1039
+ isNewDxccEntity?: boolean | undefined;
1040
+ isNewBandDxccEntity?: boolean | undefined;
1041
+ isConfirmedDxcc?: boolean | undefined;
1042
+ isNewGrid?: boolean | undefined;
1043
+ state?: string | undefined;
1044
+ stateConfidence?: "high" | "low" | undefined;
1045
+ } | undefined;
1046
+ }>;
1047
+ export type FT8Decode = z.infer<typeof FT8DecodeSchema>;
1048
+ export type FT8EncodeRequest = z.infer<typeof FT8EncodeRequestSchema>;
1049
+ export type FT8EncodeResponse = z.infer<typeof FT8EncodeResponseSchema>;
1050
+ export type FT8DecodesResponse = z.infer<typeof FT8DecodesResponseSchema>;
1051
+ export type FT8Spectrum = z.infer<typeof FT8SpectrumSchema>;
1052
+ export type FT8SpectrumResponse = z.infer<typeof FT8SpectrumResponseSchema>;
1053
+ export type FT8TransmitRequest = z.infer<typeof FT8TransmitRequestSchema>;
1054
+ export type FT8TransmitResponse = z.infer<typeof FT8TransmitResponseSchema>;
1055
+ /**
1056
+ * Base FT8 message type containing only the discriminant field.
1057
+ */
1058
+ export type FT8MessageBase = z.infer<typeof FT8MessageBaseSchema>;
1059
+ /**
1060
+ * Structured CQ message with sender identity and optional grid/modifier metadata.
1061
+ */
1062
+ export type FT8MessageCQ = z.infer<typeof FT8MessageCQSchema>;
1063
+ /**
1064
+ * Structured directed-call message between a sender and a target station.
1065
+ */
1066
+ export type FT8MessageCall = z.infer<typeof FT8MessageCallSchema>;
1067
+ /**
1068
+ * Structured signal-report exchange message carrying a numeric report.
1069
+ */
1070
+ export type FT8MessageSignalReport = z.infer<typeof FT8MessageSignalReportSchema>;
1071
+ /**
1072
+ * Structured "roger + report" exchange message.
1073
+ */
1074
+ export type FT8MessageRogerReport = z.infer<typeof FT8MessageRogerReportSchema>;
1075
+ /**
1076
+ * Structured `RRR` completion/acknowledgement message.
1077
+ */
1078
+ export type FT8MessageRRR = z.infer<typeof FT8MessageRRRSchema>;
1079
+ /**
1080
+ * Structured final `73` closing message.
1081
+ */
1082
+ export type FT8MessageSeventyThree = z.infer<typeof FT8MessageSeventyThreeSchema>;
1083
+ /**
1084
+ * Structured Fox/Hound `RR73` completion-and-invite message.
1085
+ */
1086
+ export type FT8MessageFoxRR73 = z.infer<typeof FT8MessageFoxRR73Schema>;
1087
+ /**
1088
+ * Structured custom FT8 message whose payload is intentionally not further
1089
+ * parsed by the core parser.
1090
+ */
1091
+ export type FT8MessageCustom = z.infer<typeof FT8MessageCustomSchema>;
1092
+ /**
1093
+ * Structured fallback FT8 message for unclassified decoder output.
1094
+ */
1095
+ export type FT8MessageUnknown = z.infer<typeof FT8MessageUnknownSchema>;
1096
+ /**
1097
+ * Union of every structured FT8 message variant recognized by TX-5DR.
1098
+ */
1099
+ export type FT8Message = z.infer<typeof FT8MessageSchema>;
1100
+ /**
1101
+ * Primary plugin-facing FT8 decode model.
1102
+ *
1103
+ * Prefer this type when filtering targets, scoring candidates or reacting to
1104
+ * decoded traffic in plugin hooks.
1105
+ */
1106
+ export type ParsedFT8Message = z.infer<typeof ParsedFT8MessageSchema>;
1107
+ //# sourceMappingURL=ft8.schema.d.ts.map