@tx5dr/contracts 1.7.12 → 2.5.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 (255) hide show
  1. package/dist/index.d.ts +7 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/schema/__tests__/android-operator-audio.schema.test.d.ts +2 -0
  6. package/dist/schema/__tests__/android-operator-audio.schema.test.d.ts.map +1 -0
  7. package/dist/schema/__tests__/android-operator-audio.schema.test.js +27 -0
  8. package/dist/schema/__tests__/android-operator-audio.schema.test.js.map +1 -0
  9. package/dist/schema/__tests__/assisted-queue.schema.test.d.ts +2 -0
  10. package/dist/schema/__tests__/assisted-queue.schema.test.d.ts.map +1 -0
  11. package/dist/schema/__tests__/assisted-queue.schema.test.js +114 -0
  12. package/dist/schema/__tests__/assisted-queue.schema.test.js.map +1 -0
  13. package/dist/schema/__tests__/audio-sidecar.schema.test.d.ts +2 -0
  14. package/dist/schema/__tests__/audio-sidecar.schema.test.d.ts.map +1 -0
  15. package/dist/schema/__tests__/audio-sidecar.schema.test.js +42 -0
  16. package/dist/schema/__tests__/audio-sidecar.schema.test.js.map +1 -0
  17. package/dist/schema/__tests__/audio.schema.test.js +92 -1
  18. package/dist/schema/__tests__/audio.schema.test.js.map +1 -1
  19. package/dist/schema/__tests__/diagnostics.schema.test.d.ts +2 -0
  20. package/dist/schema/__tests__/diagnostics.schema.test.d.ts.map +1 -0
  21. package/dist/schema/__tests__/diagnostics.schema.test.js +31 -0
  22. package/dist/schema/__tests__/diagnostics.schema.test.js.map +1 -0
  23. package/dist/schema/__tests__/logbook-health.schema.test.d.ts +2 -0
  24. package/dist/schema/__tests__/logbook-health.schema.test.d.ts.map +1 -0
  25. package/dist/schema/__tests__/logbook-health.schema.test.js +104 -0
  26. package/dist/schema/__tests__/logbook-health.schema.test.js.map +1 -0
  27. package/dist/schema/__tests__/meter.schema.test.d.ts +2 -0
  28. package/dist/schema/__tests__/meter.schema.test.d.ts.map +1 -0
  29. package/dist/schema/__tests__/meter.schema.test.js +27 -0
  30. package/dist/schema/__tests__/meter.schema.test.js.map +1 -0
  31. package/dist/schema/__tests__/observability.schema.test.d.ts +2 -0
  32. package/dist/schema/__tests__/observability.schema.test.d.ts.map +1 -0
  33. package/dist/schema/__tests__/observability.schema.test.js +12 -0
  34. package/dist/schema/__tests__/observability.schema.test.js.map +1 -0
  35. package/dist/schema/__tests__/operator-context-report.schema.test.d.ts +2 -0
  36. package/dist/schema/__tests__/operator-context-report.schema.test.d.ts.map +1 -0
  37. package/dist/schema/__tests__/operator-context-report.schema.test.js +70 -0
  38. package/dist/schema/__tests__/operator-context-report.schema.test.js.map +1 -0
  39. package/dist/schema/__tests__/operator.schema.test.js +9 -3
  40. package/dist/schema/__tests__/operator.schema.test.js.map +1 -1
  41. package/dist/schema/__tests__/plugin-market.schema.test.js +149 -3
  42. package/dist/schema/__tests__/plugin-market.schema.test.js.map +1 -1
  43. package/dist/schema/__tests__/qso.schema.test.d.ts +2 -0
  44. package/dist/schema/__tests__/qso.schema.test.d.ts.map +1 -0
  45. package/dist/schema/__tests__/qso.schema.test.js +70 -0
  46. package/dist/schema/__tests__/qso.schema.test.js.map +1 -0
  47. package/dist/schema/__tests__/radio-power-support.test.js +15 -0
  48. package/dist/schema/__tests__/radio-power-support.test.js.map +1 -1
  49. package/dist/schema/__tests__/radio-profile.schema.test.d.ts +2 -0
  50. package/dist/schema/__tests__/radio-profile.schema.test.d.ts.map +1 -0
  51. package/dist/schema/__tests__/radio-profile.schema.test.js +36 -0
  52. package/dist/schema/__tests__/radio-profile.schema.test.js.map +1 -0
  53. package/dist/schema/__tests__/radio.schema.test.js +92 -1
  54. package/dist/schema/__tests__/radio.schema.test.js.map +1 -1
  55. package/dist/schema/__tests__/realtime-settings.schema.test.js +2 -1
  56. package/dist/schema/__tests__/realtime-settings.schema.test.js.map +1 -1
  57. package/dist/schema/__tests__/remote-access.schema.test.d.ts +2 -0
  58. package/dist/schema/__tests__/remote-access.schema.test.d.ts.map +1 -0
  59. package/dist/schema/__tests__/remote-access.schema.test.js +18 -0
  60. package/dist/schema/__tests__/remote-access.schema.test.js.map +1 -0
  61. package/dist/schema/__tests__/spectrum.schema.test.d.ts +2 -0
  62. package/dist/schema/__tests__/spectrum.schema.test.d.ts.map +1 -0
  63. package/dist/schema/__tests__/spectrum.schema.test.js +107 -0
  64. package/dist/schema/__tests__/spectrum.schema.test.js.map +1 -0
  65. package/dist/schema/__tests__/strategy-transmission.schema.test.d.ts +2 -0
  66. package/dist/schema/__tests__/strategy-transmission.schema.test.d.ts.map +1 -0
  67. package/dist/schema/__tests__/strategy-transmission.schema.test.js +95 -0
  68. package/dist/schema/__tests__/strategy-transmission.schema.test.js.map +1 -0
  69. package/dist/schema/android-operator-audio.schema.d.ts +174 -0
  70. package/dist/schema/android-operator-audio.schema.d.ts.map +1 -0
  71. package/dist/schema/android-operator-audio.schema.js +38 -0
  72. package/dist/schema/android-operator-audio.schema.js.map +1 -0
  73. package/dist/schema/api-response.schema.d.ts +503 -44
  74. package/dist/schema/api-response.schema.d.ts.map +1 -1
  75. package/dist/schema/api-response.schema.js +9 -0
  76. package/dist/schema/api-response.schema.js.map +1 -1
  77. package/dist/schema/audio-sidecar.schema.d.ts +75 -0
  78. package/dist/schema/audio-sidecar.schema.d.ts.map +1 -1
  79. package/dist/schema/audio-sidecar.schema.js +32 -0
  80. package/dist/schema/audio-sidecar.schema.js.map +1 -1
  81. package/dist/schema/audio.schema.d.ts +4749 -3
  82. package/dist/schema/audio.schema.d.ts.map +1 -1
  83. package/dist/schema/audio.schema.js +101 -2
  84. package/dist/schema/audio.schema.js.map +1 -1
  85. package/dist/schema/auth.schema.d.ts +173 -14
  86. package/dist/schema/auth.schema.d.ts.map +1 -1
  87. package/dist/schema/auth.schema.js +65 -1
  88. package/dist/schema/auth.schema.js.map +1 -1
  89. package/dist/schema/cpu-profile.schema.d.ts +2 -2
  90. package/dist/schema/cw-decoder.schema.d.ts +74 -74
  91. package/dist/schema/cw-keyer.schema.d.ts +20 -14
  92. package/dist/schema/cw-keyer.schema.d.ts.map +1 -1
  93. package/dist/schema/cw-keyer.schema.js +3 -0
  94. package/dist/schema/cw-keyer.schema.js.map +1 -1
  95. package/dist/schema/desktop-https.schema.d.ts +6 -6
  96. package/dist/schema/device-ui.schema.d.ts +16 -16
  97. package/dist/schema/diagnostics.schema.d.ts +163 -0
  98. package/dist/schema/diagnostics.schema.d.ts.map +1 -0
  99. package/dist/schema/diagnostics.schema.js +46 -0
  100. package/dist/schema/diagnostics.schema.js.map +1 -0
  101. package/dist/schema/ft8.schema.d.ts +12 -2
  102. package/dist/schema/ft8.schema.d.ts.map +1 -1
  103. package/dist/schema/ft8.schema.js +8 -0
  104. package/dist/schema/ft8.schema.js.map +1 -1
  105. package/dist/schema/image-radio.schema.d.ts +2597 -0
  106. package/dist/schema/image-radio.schema.d.ts.map +1 -0
  107. package/dist/schema/image-radio.schema.js +283 -0
  108. package/dist/schema/image-radio.schema.js.map +1 -0
  109. package/dist/schema/logbook.schema.d.ts +2128 -18
  110. package/dist/schema/logbook.schema.d.ts.map +1 -1
  111. package/dist/schema/logbook.schema.js +159 -1
  112. package/dist/schema/logbook.schema.js.map +1 -1
  113. package/dist/schema/mode.schema.d.ts +4 -6
  114. package/dist/schema/mode.schema.d.ts.map +1 -1
  115. package/dist/schema/mode.schema.js +18 -6
  116. package/dist/schema/mode.schema.js.map +1 -1
  117. package/dist/schema/observability.schema.d.ts +66 -0
  118. package/dist/schema/observability.schema.d.ts.map +1 -0
  119. package/dist/schema/observability.schema.js +20 -0
  120. package/dist/schema/observability.schema.js.map +1 -0
  121. package/dist/schema/openwebrx.schema.d.ts +2 -2
  122. package/dist/schema/operator.schema.d.ts +2682 -6
  123. package/dist/schema/operator.schema.d.ts.map +1 -1
  124. package/dist/schema/operator.schema.js +10 -20
  125. package/dist/schema/operator.schema.js.map +1 -1
  126. package/dist/schema/plugin.schema.d.ts +1977 -492
  127. package/dist/schema/plugin.schema.d.ts.map +1 -1
  128. package/dist/schema/plugin.schema.js +165 -14
  129. package/dist/schema/plugin.schema.js.map +1 -1
  130. package/dist/schema/process-monitor.schema.d.ts +132 -132
  131. package/dist/schema/pskreporter.schema.d.ts +1 -3
  132. package/dist/schema/pskreporter.schema.d.ts.map +1 -1
  133. package/dist/schema/pskreporter.schema.js +1 -3
  134. package/dist/schema/pskreporter.schema.js.map +1 -1
  135. package/dist/schema/qso.schema.d.ts +246 -1
  136. package/dist/schema/qso.schema.d.ts.map +1 -1
  137. package/dist/schema/qso.schema.js +68 -0
  138. package/dist/schema/qso.schema.js.map +1 -1
  139. package/dist/schema/radio-capability.schema.d.ts +31 -40
  140. package/dist/schema/radio-capability.schema.d.ts.map +1 -1
  141. package/dist/schema/radio-capability.schema.js +8 -15
  142. package/dist/schema/radio-capability.schema.js.map +1 -1
  143. package/dist/schema/radio-power-support.d.ts.map +1 -1
  144. package/dist/schema/radio-power-support.js +3 -0
  145. package/dist/schema/radio-power-support.js.map +1 -1
  146. package/dist/schema/radio-power.schema.d.ts +102 -13
  147. package/dist/schema/radio-power.schema.d.ts.map +1 -1
  148. package/dist/schema/radio-power.schema.js +15 -8
  149. package/dist/schema/radio-power.schema.js.map +1 -1
  150. package/dist/schema/radio-profile.schema.d.ts +1491 -97
  151. package/dist/schema/radio-profile.schema.d.ts.map +1 -1
  152. package/dist/schema/radio-profile.schema.js +7 -0
  153. package/dist/schema/radio-profile.schema.js.map +1 -1
  154. package/dist/schema/radio.schema.d.ts +442 -48
  155. package/dist/schema/radio.schema.d.ts.map +1 -1
  156. package/dist/schema/radio.schema.js +75 -7
  157. package/dist/schema/radio.schema.js.map +1 -1
  158. package/dist/schema/realtime.schema.d.ts +60 -52
  159. package/dist/schema/realtime.schema.d.ts.map +1 -1
  160. package/dist/schema/realtime.schema.js +9 -1
  161. package/dist/schema/realtime.schema.js.map +1 -1
  162. package/dist/schema/rigctld.schema.d.ts +6 -6
  163. package/dist/schema/slot-info.schema.d.ts +28 -9
  164. package/dist/schema/slot-info.schema.d.ts.map +1 -1
  165. package/dist/schema/slot-info.schema.js +17 -10
  166. package/dist/schema/slot-info.schema.js.map +1 -1
  167. package/dist/schema/spectrum-config.schema.d.ts +638 -0
  168. package/dist/schema/spectrum-config.schema.d.ts.map +1 -0
  169. package/dist/schema/spectrum-config.schema.js +129 -0
  170. package/dist/schema/spectrum-config.schema.js.map +1 -0
  171. package/dist/schema/spectrum.schema.d.ts +1323 -30
  172. package/dist/schema/spectrum.schema.d.ts.map +1 -1
  173. package/dist/schema/spectrum.schema.js +72 -0
  174. package/dist/schema/spectrum.schema.js.map +1 -1
  175. package/dist/schema/station-info.schema.d.ts +5 -0
  176. package/dist/schema/station-info.schema.d.ts.map +1 -1
  177. package/dist/schema/station-info.schema.js +5 -0
  178. package/dist/schema/station-info.schema.js.map +1 -1
  179. package/dist/schema/system.schema.d.ts +56 -6
  180. package/dist/schema/system.schema.d.ts.map +1 -1
  181. package/dist/schema/system.schema.js +22 -0
  182. package/dist/schema/system.schema.js.map +1 -1
  183. package/dist/schema/transmission.schema.d.ts +8 -7
  184. package/dist/schema/transmission.schema.d.ts.map +1 -1
  185. package/dist/schema/transmission.schema.js +2 -7
  186. package/dist/schema/transmission.schema.js.map +1 -1
  187. package/dist/schema/tx-audio-input.schema.d.ts +8 -0
  188. package/dist/schema/tx-audio-input.schema.d.ts.map +1 -0
  189. package/dist/schema/tx-audio-input.schema.js +19 -0
  190. package/dist/schema/tx-audio-input.schema.js.map +1 -0
  191. package/dist/schema/voice-keyer.schema.d.ts +16 -16
  192. package/dist/schema/voice.schema.d.ts +1 -1
  193. package/dist/schema/voice.schema.d.ts.map +1 -1
  194. package/dist/schema/voice.schema.js +1 -1
  195. package/dist/schema/voice.schema.js.map +1 -1
  196. package/dist/schema/websocket.schema.d.ts +35811 -7829
  197. package/dist/schema/websocket.schema.d.ts.map +1 -1
  198. package/dist/schema/websocket.schema.js +453 -9
  199. package/dist/schema/websocket.schema.js.map +1 -1
  200. package/package.json +6 -1
  201. package/src/index.ts +7 -0
  202. package/src/schema/__tests__/android-operator-audio.schema.test.ts +31 -0
  203. package/src/schema/__tests__/assisted-queue.schema.test.ts +122 -0
  204. package/src/schema/__tests__/audio-sidecar.schema.test.ts +48 -0
  205. package/src/schema/__tests__/audio.schema.test.ts +102 -0
  206. package/src/schema/__tests__/diagnostics.schema.test.ts +32 -0
  207. package/src/schema/__tests__/logbook-health.schema.test.ts +117 -0
  208. package/src/schema/__tests__/meter.schema.test.ts +28 -0
  209. package/src/schema/__tests__/observability.schema.test.ts +15 -0
  210. package/src/schema/__tests__/operator-context-report.schema.test.ts +77 -0
  211. package/src/schema/__tests__/operator.schema.test.ts +11 -3
  212. package/src/schema/__tests__/plugin-market.schema.test.ts +165 -2
  213. package/src/schema/__tests__/qso.schema.test.ts +91 -0
  214. package/src/schema/__tests__/radio-power-support.test.ts +17 -0
  215. package/src/schema/__tests__/radio-profile.schema.test.ts +44 -0
  216. package/src/schema/__tests__/radio.schema.test.ts +108 -1
  217. package/src/schema/__tests__/realtime-settings.schema.test.ts +2 -1
  218. package/src/schema/__tests__/remote-access.schema.test.ts +22 -0
  219. package/src/schema/__tests__/spectrum.schema.test.ts +119 -0
  220. package/src/schema/__tests__/strategy-transmission.schema.test.ts +106 -0
  221. package/src/schema/android-operator-audio.schema.ts +49 -0
  222. package/src/schema/api-response.schema.ts +11 -0
  223. package/src/schema/audio-sidecar.schema.ts +35 -0
  224. package/src/schema/audio.schema.ts +115 -2
  225. package/src/schema/auth.schema.ts +79 -1
  226. package/src/schema/cw-keyer.schema.ts +5 -0
  227. package/src/schema/diagnostics.schema.ts +55 -0
  228. package/src/schema/ft8.schema.ts +8 -0
  229. package/src/schema/image-radio.schema.ts +342 -0
  230. package/src/schema/logbook.schema.ts +205 -1
  231. package/src/schema/mode.schema.ts +18 -6
  232. package/src/schema/observability.schema.ts +26 -0
  233. package/src/schema/operator.schema.ts +11 -20
  234. package/src/schema/plugin.schema.ts +186 -15
  235. package/src/schema/pskreporter.schema.ts +1 -3
  236. package/src/schema/qso.schema.ts +78 -0
  237. package/src/schema/radio-capability.schema.ts +8 -15
  238. package/src/schema/radio-power-support.ts +3 -0
  239. package/src/schema/radio-power.schema.ts +15 -8
  240. package/src/schema/radio-profile.schema.ts +7 -0
  241. package/src/schema/radio.schema.ts +90 -7
  242. package/src/schema/realtime.schema.ts +9 -1
  243. package/src/schema/slot-info.schema.ts +18 -11
  244. package/src/schema/spectrum-config.schema.ts +156 -0
  245. package/src/schema/spectrum.schema.ts +89 -0
  246. package/src/schema/station-info.schema.ts +5 -0
  247. package/src/schema/system.schema.ts +29 -0
  248. package/src/schema/transmission.schema.ts +2 -7
  249. package/src/schema/tx-audio-input.schema.ts +22 -0
  250. package/src/schema/voice.schema.ts +1 -1
  251. package/src/schema/websocket.schema.ts +601 -13
  252. package/test/image-radio-schema.test.ts +107 -0
  253. package/test/plugin-slot-schema.test.ts +31 -0
  254. package/test/radio-capability-schema.test.ts +44 -0
  255. package/CLAUDE.md +0 -41
@@ -0,0 +1,2597 @@
1
+ import { z } from 'zod';
2
+ export declare const ImageFamilySchema: z.ZodEnum<["sstv", "fax"]>;
3
+ export type ImageFamily = z.infer<typeof ImageFamilySchema>;
4
+ export declare const ImagePixelFormatSchema: z.ZodEnum<["rgb8", "gray8"]>;
5
+ export type ImagePixelFormat = z.infer<typeof ImagePixelFormatSchema>;
6
+ export declare const ImageSstvReceiveProfileSchema: z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
7
+ family: z.ZodLiteral<"sstv">;
8
+ strategy: z.ZodLiteral<"auto">;
9
+ }, "strip", z.ZodTypeAny, {
10
+ strategy: "auto";
11
+ family: "sstv";
12
+ }, {
13
+ strategy: "auto";
14
+ family: "sstv";
15
+ }>, z.ZodObject<{
16
+ family: z.ZodLiteral<"sstv">;
17
+ strategy: z.ZodLiteral<"manual">;
18
+ mode: z.ZodString;
19
+ }, "strip", z.ZodTypeAny, {
20
+ mode: string;
21
+ strategy: "manual";
22
+ family: "sstv";
23
+ }, {
24
+ mode: string;
25
+ strategy: "manual";
26
+ family: "sstv";
27
+ }>]>;
28
+ export type ImageSstvReceiveProfile = z.infer<typeof ImageSstvReceiveProfileSchema>;
29
+ export declare const ImageFaxReceiveProfileSchema: z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
30
+ family: z.ZodLiteral<"fax">;
31
+ strategy: z.ZodLiteral<"auto">;
32
+ }, "strip", z.ZodTypeAny, {
33
+ strategy: "auto";
34
+ family: "fax";
35
+ }, {
36
+ strategy: "auto";
37
+ family: "fax";
38
+ }>, z.ZodObject<{
39
+ family: z.ZodLiteral<"fax">;
40
+ strategy: z.ZodLiteral<"manual">;
41
+ ioc: z.ZodEnum<["ioc288", "ioc576"]>;
42
+ lpm: z.ZodNumber;
43
+ modulation: z.ZodEnum<["fm", "am"]>;
44
+ centerHz: z.ZodNumber;
45
+ deviationHz: z.ZodNumber;
46
+ }, "strip", z.ZodTypeAny, {
47
+ strategy: "manual";
48
+ family: "fax";
49
+ ioc: "ioc288" | "ioc576";
50
+ lpm: number;
51
+ modulation: "fm" | "am";
52
+ centerHz: number;
53
+ deviationHz: number;
54
+ }, {
55
+ strategy: "manual";
56
+ family: "fax";
57
+ ioc: "ioc288" | "ioc576";
58
+ lpm: number;
59
+ modulation: "fm" | "am";
60
+ centerHz: number;
61
+ deviationHz: number;
62
+ }>]>;
63
+ export type ImageFaxReceiveProfile = z.infer<typeof ImageFaxReceiveProfileSchema>;
64
+ export declare const ImageReceiveProfileSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
65
+ family: z.ZodLiteral<"sstv">;
66
+ strategy: z.ZodLiteral<"auto">;
67
+ }, "strip", z.ZodTypeAny, {
68
+ strategy: "auto";
69
+ family: "sstv";
70
+ }, {
71
+ strategy: "auto";
72
+ family: "sstv";
73
+ }>, z.ZodObject<{
74
+ family: z.ZodLiteral<"sstv">;
75
+ strategy: z.ZodLiteral<"manual">;
76
+ mode: z.ZodString;
77
+ }, "strip", z.ZodTypeAny, {
78
+ mode: string;
79
+ strategy: "manual";
80
+ family: "sstv";
81
+ }, {
82
+ mode: string;
83
+ strategy: "manual";
84
+ family: "sstv";
85
+ }>]>, z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
86
+ family: z.ZodLiteral<"fax">;
87
+ strategy: z.ZodLiteral<"auto">;
88
+ }, "strip", z.ZodTypeAny, {
89
+ strategy: "auto";
90
+ family: "fax";
91
+ }, {
92
+ strategy: "auto";
93
+ family: "fax";
94
+ }>, z.ZodObject<{
95
+ family: z.ZodLiteral<"fax">;
96
+ strategy: z.ZodLiteral<"manual">;
97
+ ioc: z.ZodEnum<["ioc288", "ioc576"]>;
98
+ lpm: z.ZodNumber;
99
+ modulation: z.ZodEnum<["fm", "am"]>;
100
+ centerHz: z.ZodNumber;
101
+ deviationHz: z.ZodNumber;
102
+ }, "strip", z.ZodTypeAny, {
103
+ strategy: "manual";
104
+ family: "fax";
105
+ ioc: "ioc288" | "ioc576";
106
+ lpm: number;
107
+ modulation: "fm" | "am";
108
+ centerHz: number;
109
+ deviationHz: number;
110
+ }, {
111
+ strategy: "manual";
112
+ family: "fax";
113
+ ioc: "ioc288" | "ioc576";
114
+ lpm: number;
115
+ modulation: "fm" | "am";
116
+ centerHz: number;
117
+ deviationHz: number;
118
+ }>]>]>;
119
+ export type ImageReceiveProfile = z.infer<typeof ImageReceiveProfileSchema>;
120
+ export declare const ImageSstvModeInfoSchema: z.ZodObject<{
121
+ mode: z.ZodString;
122
+ name: z.ZodString;
123
+ visCode: z.ZodNumber;
124
+ width: z.ZodNumber;
125
+ height: z.ZodNumber;
126
+ colorLayout: z.ZodEnum<["monochrome", "rgb", "yuv"]>;
127
+ scanLayout: z.ZodEnum<["monochrome", "martin", "scottie", "robot", "pd", "wraase", "pasokon"]>;
128
+ lineSeconds: z.ZodNumber;
129
+ rowsPerLine: z.ZodNumber;
130
+ status: z.ZodEnum<["canonical", "compatibility"]>;
131
+ }, "strip", z.ZodTypeAny, {
132
+ status: "canonical" | "compatibility";
133
+ name: string;
134
+ mode: string;
135
+ width: number;
136
+ visCode: number;
137
+ height: number;
138
+ colorLayout: "monochrome" | "rgb" | "yuv";
139
+ scanLayout: "monochrome" | "martin" | "scottie" | "robot" | "pd" | "wraase" | "pasokon";
140
+ lineSeconds: number;
141
+ rowsPerLine: number;
142
+ }, {
143
+ status: "canonical" | "compatibility";
144
+ name: string;
145
+ mode: string;
146
+ width: number;
147
+ visCode: number;
148
+ height: number;
149
+ colorLayout: "monochrome" | "rgb" | "yuv";
150
+ scanLayout: "monochrome" | "martin" | "scottie" | "robot" | "pd" | "wraase" | "pasokon";
151
+ lineSeconds: number;
152
+ rowsPerLine: number;
153
+ }>;
154
+ export type ImageSstvModeInfo = z.infer<typeof ImageSstvModeInfoSchema>;
155
+ export declare const ImageRadioCapabilitySchema: z.ZodObject<{
156
+ available: z.ZodBoolean;
157
+ reason: z.ZodOptional<z.ZodString>;
158
+ sstv: z.ZodObject<{
159
+ rx: z.ZodLiteral<true>;
160
+ tx: z.ZodLiteral<true>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ tx: true;
163
+ rx: true;
164
+ }, {
165
+ tx: true;
166
+ rx: true;
167
+ }>;
168
+ fax: z.ZodObject<{
169
+ rx: z.ZodLiteral<true>;
170
+ tx: z.ZodLiteral<false>;
171
+ }, "strip", z.ZodTypeAny, {
172
+ tx: false;
173
+ rx: true;
174
+ }, {
175
+ tx: false;
176
+ rx: true;
177
+ }>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ available: boolean;
180
+ sstv: {
181
+ tx: true;
182
+ rx: true;
183
+ };
184
+ fax: {
185
+ tx: false;
186
+ rx: true;
187
+ };
188
+ reason?: string | undefined;
189
+ }, {
190
+ available: boolean;
191
+ sstv: {
192
+ tx: true;
193
+ rx: true;
194
+ };
195
+ fax: {
196
+ tx: false;
197
+ rx: true;
198
+ };
199
+ reason?: string | undefined;
200
+ }>;
201
+ export type ImageRadioCapability = z.infer<typeof ImageRadioCapabilitySchema>;
202
+ export declare const ImageRadioServiceStateSchema: z.ZodEnum<["stopped", "starting", "ready", "degraded", "unavailable"]>;
203
+ export declare const ImageRxStateSchema: z.ZodEnum<["off", "searching", "acquiring", "receiving", "completed", "aborted", "error"]>;
204
+ export declare const SstvTxPhaseSchema: z.ZodEnum<["idle", "preparing", "waiting_for_lease", "keying", "on_air", "draining", "completed", "cancelled", "error", "ptt_unknown"]>;
205
+ export declare const SstvStationIdModeSchema: z.ZodEnum<["fsk", "cw", "none"]>;
206
+ export type SstvStationIdMode = z.infer<typeof SstvStationIdModeSchema>;
207
+ export declare const SstvTxEnvelopeSelectionSchema: z.ZodObject<{
208
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
209
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
210
+ }, "strip", z.ZodTypeAny, {
211
+ enhancedPreamble: boolean;
212
+ stationIdMode: "none" | "cw" | "fsk";
213
+ }, {
214
+ enhancedPreamble?: boolean | undefined;
215
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
216
+ }>;
217
+ export type SstvTxEnvelopeSelection = z.infer<typeof SstvTxEnvelopeSelectionSchema>;
218
+ export declare const SstvTxEnvelopeSnapshotSchema: z.ZodObject<{
219
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
220
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
221
+ } & {
222
+ callsign: z.ZodOptional<z.ZodString>;
223
+ postImageGapMs: z.ZodLiteral<500>;
224
+ endGuardMs: z.ZodLiteral<300>;
225
+ cwWpm: z.ZodLiteral<20>;
226
+ cwToneHz: z.ZodLiteral<800>;
227
+ }, "strip", z.ZodTypeAny, {
228
+ enhancedPreamble: boolean;
229
+ stationIdMode: "none" | "cw" | "fsk";
230
+ postImageGapMs: 500;
231
+ endGuardMs: 300;
232
+ cwWpm: 20;
233
+ cwToneHz: 800;
234
+ callsign?: string | undefined;
235
+ }, {
236
+ postImageGapMs: 500;
237
+ endGuardMs: 300;
238
+ cwWpm: 20;
239
+ cwToneHz: 800;
240
+ callsign?: string | undefined;
241
+ enhancedPreamble?: boolean | undefined;
242
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
243
+ }>;
244
+ export type SstvTxEnvelopeSnapshot = z.infer<typeof SstvTxEnvelopeSnapshotSchema>;
245
+ export declare const SstvTxPreferencesSchema: z.ZodObject<{
246
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
247
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
248
+ } & {
249
+ operatorId: z.ZodString;
250
+ updatedAt: z.ZodNumber;
251
+ }, "strip", z.ZodTypeAny, {
252
+ operatorId: string;
253
+ updatedAt: number;
254
+ enhancedPreamble: boolean;
255
+ stationIdMode: "none" | "cw" | "fsk";
256
+ }, {
257
+ operatorId: string;
258
+ updatedAt: number;
259
+ enhancedPreamble?: boolean | undefined;
260
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
261
+ }>;
262
+ export type SstvTxPreferences = z.infer<typeof SstvTxPreferencesSchema>;
263
+ export declare const ImageSessionSummarySchema: z.ZodObject<{
264
+ sessionId: z.ZodString;
265
+ family: z.ZodEnum<["sstv", "fax"]>;
266
+ generation: z.ZodNumber;
267
+ revision: z.ZodNumber;
268
+ codecMode: z.ZodOptional<z.ZodString>;
269
+ width: z.ZodOptional<z.ZodNumber>;
270
+ height: z.ZodOptional<z.ZodNumber>;
271
+ receivedLines: z.ZodDefault<z.ZodNumber>;
272
+ firstAvailableLine: z.ZodDefault<z.ZodNumber>;
273
+ startedAt: z.ZodNumber;
274
+ }, "strip", z.ZodTypeAny, {
275
+ revision: number;
276
+ generation: number;
277
+ sessionId: string;
278
+ startedAt: number;
279
+ family: "sstv" | "fax";
280
+ receivedLines: number;
281
+ firstAvailableLine: number;
282
+ width?: number | undefined;
283
+ height?: number | undefined;
284
+ codecMode?: string | undefined;
285
+ }, {
286
+ revision: number;
287
+ generation: number;
288
+ sessionId: string;
289
+ startedAt: number;
290
+ family: "sstv" | "fax";
291
+ width?: number | undefined;
292
+ height?: number | undefined;
293
+ codecMode?: string | undefined;
294
+ receivedLines?: number | undefined;
295
+ firstAvailableLine?: number | undefined;
296
+ }>;
297
+ export type ImageSessionSummary = z.infer<typeof ImageSessionSummarySchema>;
298
+ export declare const SstvTxStatusSchema: z.ZodObject<{
299
+ phase: z.ZodEnum<["idle", "preparing", "waiting_for_lease", "keying", "on_air", "draining", "completed", "cancelled", "error", "ptt_unknown"]>;
300
+ sessionId: z.ZodOptional<z.ZodString>;
301
+ requestId: z.ZodOptional<z.ZodString>;
302
+ operatorId: z.ZodOptional<z.ZodString>;
303
+ artifactId: z.ZodOptional<z.ZodString>;
304
+ historyId: z.ZodOptional<z.ZodString>;
305
+ mode: z.ZodOptional<z.ZodString>;
306
+ encoderStage: z.ZodOptional<z.ZodEnum<["preamble", "vis", "raster", "stationId", "guard", "finished"]>>;
307
+ envelope: z.ZodOptional<z.ZodObject<{
308
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
309
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
310
+ } & {
311
+ callsign: z.ZodOptional<z.ZodString>;
312
+ postImageGapMs: z.ZodLiteral<500>;
313
+ endGuardMs: z.ZodLiteral<300>;
314
+ cwWpm: z.ZodLiteral<20>;
315
+ cwToneHz: z.ZodLiteral<800>;
316
+ }, "strip", z.ZodTypeAny, {
317
+ enhancedPreamble: boolean;
318
+ stationIdMode: "none" | "cw" | "fsk";
319
+ postImageGapMs: 500;
320
+ endGuardMs: 300;
321
+ cwWpm: 20;
322
+ cwToneHz: 800;
323
+ callsign?: string | undefined;
324
+ }, {
325
+ postImageGapMs: 500;
326
+ endGuardMs: 300;
327
+ cwWpm: 20;
328
+ cwToneHz: 800;
329
+ callsign?: string | undefined;
330
+ enhancedPreamble?: boolean | undefined;
331
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
332
+ }>>;
333
+ revision: z.ZodDefault<z.ZodNumber>;
334
+ samplesEmitted: z.ZodDefault<z.ZodNumber>;
335
+ estimatedTotalSamples: z.ZodDefault<z.ZodNumber>;
336
+ currentRow: z.ZodOptional<z.ZodNumber>;
337
+ startedAt: z.ZodOptional<z.ZodNumber>;
338
+ errorCode: z.ZodOptional<z.ZodString>;
339
+ }, "strip", z.ZodTypeAny, {
340
+ revision: number;
341
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
342
+ samplesEmitted: number;
343
+ estimatedTotalSamples: number;
344
+ operatorId?: string | undefined;
345
+ mode?: string | undefined;
346
+ errorCode?: string | undefined;
347
+ sessionId?: string | undefined;
348
+ startedAt?: number | undefined;
349
+ requestId?: string | undefined;
350
+ artifactId?: string | undefined;
351
+ historyId?: string | undefined;
352
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
353
+ envelope?: {
354
+ enhancedPreamble: boolean;
355
+ stationIdMode: "none" | "cw" | "fsk";
356
+ postImageGapMs: 500;
357
+ endGuardMs: 300;
358
+ cwWpm: 20;
359
+ cwToneHz: 800;
360
+ callsign?: string | undefined;
361
+ } | undefined;
362
+ currentRow?: number | undefined;
363
+ }, {
364
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
365
+ operatorId?: string | undefined;
366
+ mode?: string | undefined;
367
+ revision?: number | undefined;
368
+ errorCode?: string | undefined;
369
+ sessionId?: string | undefined;
370
+ startedAt?: number | undefined;
371
+ requestId?: string | undefined;
372
+ artifactId?: string | undefined;
373
+ historyId?: string | undefined;
374
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
375
+ envelope?: {
376
+ postImageGapMs: 500;
377
+ endGuardMs: 300;
378
+ cwWpm: 20;
379
+ cwToneHz: 800;
380
+ callsign?: string | undefined;
381
+ enhancedPreamble?: boolean | undefined;
382
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
383
+ } | undefined;
384
+ samplesEmitted?: number | undefined;
385
+ estimatedTotalSamples?: number | undefined;
386
+ currentRow?: number | undefined;
387
+ }>;
388
+ export type SstvTxStatus = z.infer<typeof SstvTxStatusSchema>;
389
+ export declare const ImageRadioStatusSchema: z.ZodObject<{
390
+ serviceState: z.ZodEnum<["stopped", "starting", "ready", "degraded", "unavailable"]>;
391
+ family: z.ZodNullable<z.ZodEnum<["sstv", "fax"]>>;
392
+ receiveProfile: z.ZodNullable<z.ZodUnion<[z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
393
+ family: z.ZodLiteral<"sstv">;
394
+ strategy: z.ZodLiteral<"auto">;
395
+ }, "strip", z.ZodTypeAny, {
396
+ strategy: "auto";
397
+ family: "sstv";
398
+ }, {
399
+ strategy: "auto";
400
+ family: "sstv";
401
+ }>, z.ZodObject<{
402
+ family: z.ZodLiteral<"sstv">;
403
+ strategy: z.ZodLiteral<"manual">;
404
+ mode: z.ZodString;
405
+ }, "strip", z.ZodTypeAny, {
406
+ mode: string;
407
+ strategy: "manual";
408
+ family: "sstv";
409
+ }, {
410
+ mode: string;
411
+ strategy: "manual";
412
+ family: "sstv";
413
+ }>]>, z.ZodDiscriminatedUnion<"strategy", [z.ZodObject<{
414
+ family: z.ZodLiteral<"fax">;
415
+ strategy: z.ZodLiteral<"auto">;
416
+ }, "strip", z.ZodTypeAny, {
417
+ strategy: "auto";
418
+ family: "fax";
419
+ }, {
420
+ strategy: "auto";
421
+ family: "fax";
422
+ }>, z.ZodObject<{
423
+ family: z.ZodLiteral<"fax">;
424
+ strategy: z.ZodLiteral<"manual">;
425
+ ioc: z.ZodEnum<["ioc288", "ioc576"]>;
426
+ lpm: z.ZodNumber;
427
+ modulation: z.ZodEnum<["fm", "am"]>;
428
+ centerHz: z.ZodNumber;
429
+ deviationHz: z.ZodNumber;
430
+ }, "strip", z.ZodTypeAny, {
431
+ strategy: "manual";
432
+ family: "fax";
433
+ ioc: "ioc288" | "ioc576";
434
+ lpm: number;
435
+ modulation: "fm" | "am";
436
+ centerHz: number;
437
+ deviationHz: number;
438
+ }, {
439
+ strategy: "manual";
440
+ family: "fax";
441
+ ioc: "ioc288" | "ioc576";
442
+ lpm: number;
443
+ modulation: "fm" | "am";
444
+ centerHz: number;
445
+ deviationHz: number;
446
+ }>]>]>>;
447
+ rxState: z.ZodEnum<["off", "searching", "acquiring", "receiving", "completed", "aborted", "error"]>;
448
+ rxCaptureActive: z.ZodDefault<z.ZodBoolean>;
449
+ capability: z.ZodObject<{
450
+ available: z.ZodBoolean;
451
+ reason: z.ZodOptional<z.ZodString>;
452
+ sstv: z.ZodObject<{
453
+ rx: z.ZodLiteral<true>;
454
+ tx: z.ZodLiteral<true>;
455
+ }, "strip", z.ZodTypeAny, {
456
+ tx: true;
457
+ rx: true;
458
+ }, {
459
+ tx: true;
460
+ rx: true;
461
+ }>;
462
+ fax: z.ZodObject<{
463
+ rx: z.ZodLiteral<true>;
464
+ tx: z.ZodLiteral<false>;
465
+ }, "strip", z.ZodTypeAny, {
466
+ tx: false;
467
+ rx: true;
468
+ }, {
469
+ tx: false;
470
+ rx: true;
471
+ }>;
472
+ }, "strip", z.ZodTypeAny, {
473
+ available: boolean;
474
+ sstv: {
475
+ tx: true;
476
+ rx: true;
477
+ };
478
+ fax: {
479
+ tx: false;
480
+ rx: true;
481
+ };
482
+ reason?: string | undefined;
483
+ }, {
484
+ available: boolean;
485
+ sstv: {
486
+ tx: true;
487
+ rx: true;
488
+ };
489
+ fax: {
490
+ tx: false;
491
+ rx: true;
492
+ };
493
+ reason?: string | undefined;
494
+ }>;
495
+ currentSession: z.ZodNullable<z.ZodObject<{
496
+ sessionId: z.ZodString;
497
+ family: z.ZodEnum<["sstv", "fax"]>;
498
+ generation: z.ZodNumber;
499
+ revision: z.ZodNumber;
500
+ codecMode: z.ZodOptional<z.ZodString>;
501
+ width: z.ZodOptional<z.ZodNumber>;
502
+ height: z.ZodOptional<z.ZodNumber>;
503
+ receivedLines: z.ZodDefault<z.ZodNumber>;
504
+ firstAvailableLine: z.ZodDefault<z.ZodNumber>;
505
+ startedAt: z.ZodNumber;
506
+ }, "strip", z.ZodTypeAny, {
507
+ revision: number;
508
+ generation: number;
509
+ sessionId: string;
510
+ startedAt: number;
511
+ family: "sstv" | "fax";
512
+ receivedLines: number;
513
+ firstAvailableLine: number;
514
+ width?: number | undefined;
515
+ height?: number | undefined;
516
+ codecMode?: string | undefined;
517
+ }, {
518
+ revision: number;
519
+ generation: number;
520
+ sessionId: string;
521
+ startedAt: number;
522
+ family: "sstv" | "fax";
523
+ width?: number | undefined;
524
+ height?: number | undefined;
525
+ codecMode?: string | undefined;
526
+ receivedLines?: number | undefined;
527
+ firstAvailableLine?: number | undefined;
528
+ }>>;
529
+ tx: z.ZodObject<{
530
+ phase: z.ZodEnum<["idle", "preparing", "waiting_for_lease", "keying", "on_air", "draining", "completed", "cancelled", "error", "ptt_unknown"]>;
531
+ sessionId: z.ZodOptional<z.ZodString>;
532
+ requestId: z.ZodOptional<z.ZodString>;
533
+ operatorId: z.ZodOptional<z.ZodString>;
534
+ artifactId: z.ZodOptional<z.ZodString>;
535
+ historyId: z.ZodOptional<z.ZodString>;
536
+ mode: z.ZodOptional<z.ZodString>;
537
+ encoderStage: z.ZodOptional<z.ZodEnum<["preamble", "vis", "raster", "stationId", "guard", "finished"]>>;
538
+ envelope: z.ZodOptional<z.ZodObject<{
539
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
540
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
541
+ } & {
542
+ callsign: z.ZodOptional<z.ZodString>;
543
+ postImageGapMs: z.ZodLiteral<500>;
544
+ endGuardMs: z.ZodLiteral<300>;
545
+ cwWpm: z.ZodLiteral<20>;
546
+ cwToneHz: z.ZodLiteral<800>;
547
+ }, "strip", z.ZodTypeAny, {
548
+ enhancedPreamble: boolean;
549
+ stationIdMode: "none" | "cw" | "fsk";
550
+ postImageGapMs: 500;
551
+ endGuardMs: 300;
552
+ cwWpm: 20;
553
+ cwToneHz: 800;
554
+ callsign?: string | undefined;
555
+ }, {
556
+ postImageGapMs: 500;
557
+ endGuardMs: 300;
558
+ cwWpm: 20;
559
+ cwToneHz: 800;
560
+ callsign?: string | undefined;
561
+ enhancedPreamble?: boolean | undefined;
562
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
563
+ }>>;
564
+ revision: z.ZodDefault<z.ZodNumber>;
565
+ samplesEmitted: z.ZodDefault<z.ZodNumber>;
566
+ estimatedTotalSamples: z.ZodDefault<z.ZodNumber>;
567
+ currentRow: z.ZodOptional<z.ZodNumber>;
568
+ startedAt: z.ZodOptional<z.ZodNumber>;
569
+ errorCode: z.ZodOptional<z.ZodString>;
570
+ }, "strip", z.ZodTypeAny, {
571
+ revision: number;
572
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
573
+ samplesEmitted: number;
574
+ estimatedTotalSamples: number;
575
+ operatorId?: string | undefined;
576
+ mode?: string | undefined;
577
+ errorCode?: string | undefined;
578
+ sessionId?: string | undefined;
579
+ startedAt?: number | undefined;
580
+ requestId?: string | undefined;
581
+ artifactId?: string | undefined;
582
+ historyId?: string | undefined;
583
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
584
+ envelope?: {
585
+ enhancedPreamble: boolean;
586
+ stationIdMode: "none" | "cw" | "fsk";
587
+ postImageGapMs: 500;
588
+ endGuardMs: 300;
589
+ cwWpm: 20;
590
+ cwToneHz: 800;
591
+ callsign?: string | undefined;
592
+ } | undefined;
593
+ currentRow?: number | undefined;
594
+ }, {
595
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
596
+ operatorId?: string | undefined;
597
+ mode?: string | undefined;
598
+ revision?: number | undefined;
599
+ errorCode?: string | undefined;
600
+ sessionId?: string | undefined;
601
+ startedAt?: number | undefined;
602
+ requestId?: string | undefined;
603
+ artifactId?: string | undefined;
604
+ historyId?: string | undefined;
605
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
606
+ envelope?: {
607
+ postImageGapMs: 500;
608
+ endGuardMs: 300;
609
+ cwWpm: 20;
610
+ cwToneHz: 800;
611
+ callsign?: string | undefined;
612
+ enhancedPreamble?: boolean | undefined;
613
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
614
+ } | undefined;
615
+ samplesEmitted?: number | undefined;
616
+ estimatedTotalSamples?: number | undefined;
617
+ currentRow?: number | undefined;
618
+ }>;
619
+ nativeQueuedSamples: z.ZodDefault<z.ZodNumber>;
620
+ jsBacklogSamples: z.ZodDefault<z.ZodNumber>;
621
+ discontinuities: z.ZodDefault<z.ZodNumber>;
622
+ updatedAt: z.ZodNumber;
623
+ }, "strip", z.ZodTypeAny, {
624
+ tx: {
625
+ revision: number;
626
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
627
+ samplesEmitted: number;
628
+ estimatedTotalSamples: number;
629
+ operatorId?: string | undefined;
630
+ mode?: string | undefined;
631
+ errorCode?: string | undefined;
632
+ sessionId?: string | undefined;
633
+ startedAt?: number | undefined;
634
+ requestId?: string | undefined;
635
+ artifactId?: string | undefined;
636
+ historyId?: string | undefined;
637
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
638
+ envelope?: {
639
+ enhancedPreamble: boolean;
640
+ stationIdMode: "none" | "cw" | "fsk";
641
+ postImageGapMs: 500;
642
+ endGuardMs: 300;
643
+ cwWpm: 20;
644
+ cwToneHz: 800;
645
+ callsign?: string | undefined;
646
+ } | undefined;
647
+ currentRow?: number | undefined;
648
+ };
649
+ updatedAt: number;
650
+ capability: {
651
+ available: boolean;
652
+ sstv: {
653
+ tx: true;
654
+ rx: true;
655
+ };
656
+ fax: {
657
+ tx: false;
658
+ rx: true;
659
+ };
660
+ reason?: string | undefined;
661
+ };
662
+ family: "sstv" | "fax" | null;
663
+ serviceState: "unavailable" | "stopped" | "ready" | "degraded" | "starting";
664
+ receiveProfile: {
665
+ strategy: "auto";
666
+ family: "sstv";
667
+ } | {
668
+ mode: string;
669
+ strategy: "manual";
670
+ family: "sstv";
671
+ } | {
672
+ strategy: "auto";
673
+ family: "fax";
674
+ } | {
675
+ strategy: "manual";
676
+ family: "fax";
677
+ ioc: "ioc288" | "ioc576";
678
+ lpm: number;
679
+ modulation: "fm" | "am";
680
+ centerHz: number;
681
+ deviationHz: number;
682
+ } | null;
683
+ rxState: "aborted" | "error" | "off" | "searching" | "acquiring" | "receiving" | "completed";
684
+ rxCaptureActive: boolean;
685
+ currentSession: {
686
+ revision: number;
687
+ generation: number;
688
+ sessionId: string;
689
+ startedAt: number;
690
+ family: "sstv" | "fax";
691
+ receivedLines: number;
692
+ firstAvailableLine: number;
693
+ width?: number | undefined;
694
+ height?: number | undefined;
695
+ codecMode?: string | undefined;
696
+ } | null;
697
+ nativeQueuedSamples: number;
698
+ jsBacklogSamples: number;
699
+ discontinuities: number;
700
+ }, {
701
+ tx: {
702
+ phase: "idle" | "error" | "keying" | "preparing" | "completed" | "waiting_for_lease" | "on_air" | "draining" | "cancelled" | "ptt_unknown";
703
+ operatorId?: string | undefined;
704
+ mode?: string | undefined;
705
+ revision?: number | undefined;
706
+ errorCode?: string | undefined;
707
+ sessionId?: string | undefined;
708
+ startedAt?: number | undefined;
709
+ requestId?: string | undefined;
710
+ artifactId?: string | undefined;
711
+ historyId?: string | undefined;
712
+ encoderStage?: "preamble" | "vis" | "raster" | "stationId" | "guard" | "finished" | undefined;
713
+ envelope?: {
714
+ postImageGapMs: 500;
715
+ endGuardMs: 300;
716
+ cwWpm: 20;
717
+ cwToneHz: 800;
718
+ callsign?: string | undefined;
719
+ enhancedPreamble?: boolean | undefined;
720
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
721
+ } | undefined;
722
+ samplesEmitted?: number | undefined;
723
+ estimatedTotalSamples?: number | undefined;
724
+ currentRow?: number | undefined;
725
+ };
726
+ updatedAt: number;
727
+ capability: {
728
+ available: boolean;
729
+ sstv: {
730
+ tx: true;
731
+ rx: true;
732
+ };
733
+ fax: {
734
+ tx: false;
735
+ rx: true;
736
+ };
737
+ reason?: string | undefined;
738
+ };
739
+ family: "sstv" | "fax" | null;
740
+ serviceState: "unavailable" | "stopped" | "ready" | "degraded" | "starting";
741
+ receiveProfile: {
742
+ strategy: "auto";
743
+ family: "sstv";
744
+ } | {
745
+ mode: string;
746
+ strategy: "manual";
747
+ family: "sstv";
748
+ } | {
749
+ strategy: "auto";
750
+ family: "fax";
751
+ } | {
752
+ strategy: "manual";
753
+ family: "fax";
754
+ ioc: "ioc288" | "ioc576";
755
+ lpm: number;
756
+ modulation: "fm" | "am";
757
+ centerHz: number;
758
+ deviationHz: number;
759
+ } | null;
760
+ rxState: "aborted" | "error" | "off" | "searching" | "acquiring" | "receiving" | "completed";
761
+ currentSession: {
762
+ revision: number;
763
+ generation: number;
764
+ sessionId: string;
765
+ startedAt: number;
766
+ family: "sstv" | "fax";
767
+ width?: number | undefined;
768
+ height?: number | undefined;
769
+ codecMode?: string | undefined;
770
+ receivedLines?: number | undefined;
771
+ firstAvailableLine?: number | undefined;
772
+ } | null;
773
+ rxCaptureActive?: boolean | undefined;
774
+ nativeQueuedSamples?: number | undefined;
775
+ jsBacklogSamples?: number | undefined;
776
+ discontinuities?: number | undefined;
777
+ }>;
778
+ export type ImageRadioStatus = z.infer<typeof ImageRadioStatusSchema>;
779
+ export declare const ImageRowPatchSchema: z.ZodObject<{
780
+ rowIndex: z.ZodNumber;
781
+ width: z.ZodNumber;
782
+ rowRevision: z.ZodNumber;
783
+ completeness: z.ZodOptional<z.ZodEnum<["provisional", "final"]>>;
784
+ dataBase64: z.ZodString;
785
+ }, "strip", z.ZodTypeAny, {
786
+ width: number;
787
+ rowIndex: number;
788
+ rowRevision: number;
789
+ dataBase64: string;
790
+ completeness?: "provisional" | "final" | undefined;
791
+ }, {
792
+ width: number;
793
+ rowIndex: number;
794
+ rowRevision: number;
795
+ dataBase64: string;
796
+ completeness?: "provisional" | "final" | undefined;
797
+ }>;
798
+ export declare const ImagePaperBoundaryKindSchema: z.ZodEnum<["initial", "vis", "syncTiming", "aptPhasing", "protocolEnd", "manualMode", "discontinuity", "reset", "truncated", "protocolObserved", "localTxStart", "localTxEnd"]>;
799
+ export type ImagePaperBoundaryKind = z.infer<typeof ImagePaperBoundaryKindSchema>;
800
+ export declare const ImagePaperSourceSchema: z.ZodEnum<["rx", "localTx"]>;
801
+ export type ImagePaperSource = z.infer<typeof ImagePaperSourceSchema>;
802
+ export declare const ImagePaperBoundarySchema: z.ZodObject<{
803
+ boundaryId: z.ZodString;
804
+ lineIndex: z.ZodNumber;
805
+ kind: z.ZodEnum<["initial", "vis", "syncTiming", "aptPhasing", "protocolEnd", "manualMode", "discontinuity", "reset", "truncated", "protocolObserved", "localTxStart", "localTxEnd"]>;
806
+ trusted: z.ZodBoolean;
807
+ codecMode: z.ZodString;
808
+ width: z.ZodNumber;
809
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
810
+ timestamp: z.ZodNumber;
811
+ detection: z.ZodOptional<z.ZodString>;
812
+ nominalHeight: z.ZodOptional<z.ZodNumber>;
813
+ source: z.ZodOptional<z.ZodEnum<["rx", "localTx"]>>;
814
+ txSessionId: z.ZodOptional<z.ZodString>;
815
+ txOutcome: z.ZodOptional<z.ZodEnum<["completed", "interrupted"]>>;
816
+ }, "strip", z.ZodTypeAny, {
817
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
818
+ timestamp: number;
819
+ width: number;
820
+ codecMode: string;
821
+ boundaryId: string;
822
+ lineIndex: number;
823
+ trusted: boolean;
824
+ pixelFormat: "rgb8" | "gray8";
825
+ source?: "rx" | "localTx" | undefined;
826
+ detection?: string | undefined;
827
+ nominalHeight?: number | undefined;
828
+ txSessionId?: string | undefined;
829
+ txOutcome?: "completed" | "interrupted" | undefined;
830
+ }, {
831
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
832
+ timestamp: number;
833
+ width: number;
834
+ codecMode: string;
835
+ boundaryId: string;
836
+ lineIndex: number;
837
+ trusted: boolean;
838
+ pixelFormat: "rgb8" | "gray8";
839
+ source?: "rx" | "localTx" | undefined;
840
+ detection?: string | undefined;
841
+ nominalHeight?: number | undefined;
842
+ txSessionId?: string | undefined;
843
+ txOutcome?: "completed" | "interrupted" | undefined;
844
+ }>;
845
+ export type ImagePaperBoundary = z.infer<typeof ImagePaperBoundarySchema>;
846
+ export declare const ImageFaxCalibrationPointSchema: z.ZodObject<{
847
+ revision: z.ZodNumber;
848
+ referenceLine: z.ZodNumber;
849
+ phasePixels: z.ZodNumber;
850
+ clockPpm: z.ZodNumber;
851
+ confidence: z.ZodNumber;
852
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
853
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
854
+ }, "strip", z.ZodTypeAny, {
855
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
856
+ confidence: number;
857
+ revision: number;
858
+ source: "manual" | "nominal" | "phasing" | "imageContent";
859
+ referenceLine: number;
860
+ phasePixels: number;
861
+ clockPpm: number;
862
+ }, {
863
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
864
+ confidence: number;
865
+ revision: number;
866
+ source: "manual" | "nominal" | "phasing" | "imageContent";
867
+ referenceLine: number;
868
+ phasePixels: number;
869
+ clockPpm: number;
870
+ }>;
871
+ export type ImageFaxCalibrationPoint = z.infer<typeof ImageFaxCalibrationPointSchema>;
872
+ export declare const ImageFaxCalibrationSchema: z.ZodObject<{
873
+ boundaryId: z.ZodString;
874
+ revision: z.ZodNumber;
875
+ autoEnabled: z.ZodBoolean;
876
+ autoPoints: z.ZodArray<z.ZodObject<{
877
+ revision: z.ZodNumber;
878
+ referenceLine: z.ZodNumber;
879
+ phasePixels: z.ZodNumber;
880
+ clockPpm: z.ZodNumber;
881
+ confidence: z.ZodNumber;
882
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
883
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
884
+ }, "strip", z.ZodTypeAny, {
885
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
886
+ confidence: number;
887
+ revision: number;
888
+ source: "manual" | "nominal" | "phasing" | "imageContent";
889
+ referenceLine: number;
890
+ phasePixels: number;
891
+ clockPpm: number;
892
+ }, {
893
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
894
+ confidence: number;
895
+ revision: number;
896
+ source: "manual" | "nominal" | "phasing" | "imageContent";
897
+ referenceLine: number;
898
+ phasePixels: number;
899
+ clockPpm: number;
900
+ }>, "many">;
901
+ manualPhasePixels: z.ZodNumber;
902
+ manualClockPpm: z.ZodNumber;
903
+ updatedAt: z.ZodNumber;
904
+ }, "strip", z.ZodTypeAny, {
905
+ revision: number;
906
+ updatedAt: number;
907
+ boundaryId: string;
908
+ autoEnabled: boolean;
909
+ autoPoints: {
910
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
911
+ confidence: number;
912
+ revision: number;
913
+ source: "manual" | "nominal" | "phasing" | "imageContent";
914
+ referenceLine: number;
915
+ phasePixels: number;
916
+ clockPpm: number;
917
+ }[];
918
+ manualPhasePixels: number;
919
+ manualClockPpm: number;
920
+ }, {
921
+ revision: number;
922
+ updatedAt: number;
923
+ boundaryId: string;
924
+ autoEnabled: boolean;
925
+ autoPoints: {
926
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
927
+ confidence: number;
928
+ revision: number;
929
+ source: "manual" | "nominal" | "phasing" | "imageContent";
930
+ referenceLine: number;
931
+ phasePixels: number;
932
+ clockPpm: number;
933
+ }[];
934
+ manualPhasePixels: number;
935
+ manualClockPpm: number;
936
+ }>;
937
+ export type ImageFaxCalibration = z.infer<typeof ImageFaxCalibrationSchema>;
938
+ export declare const ImageRxEventSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
939
+ type: z.ZodLiteral<"paperStarted">;
940
+ session: z.ZodObject<{
941
+ sessionId: z.ZodString;
942
+ family: z.ZodEnum<["sstv", "fax"]>;
943
+ generation: z.ZodNumber;
944
+ revision: z.ZodNumber;
945
+ codecMode: z.ZodOptional<z.ZodString>;
946
+ width: z.ZodOptional<z.ZodNumber>;
947
+ height: z.ZodOptional<z.ZodNumber>;
948
+ receivedLines: z.ZodDefault<z.ZodNumber>;
949
+ firstAvailableLine: z.ZodDefault<z.ZodNumber>;
950
+ startedAt: z.ZodNumber;
951
+ }, "strip", z.ZodTypeAny, {
952
+ revision: number;
953
+ generation: number;
954
+ sessionId: string;
955
+ startedAt: number;
956
+ family: "sstv" | "fax";
957
+ receivedLines: number;
958
+ firstAvailableLine: number;
959
+ width?: number | undefined;
960
+ height?: number | undefined;
961
+ codecMode?: string | undefined;
962
+ }, {
963
+ revision: number;
964
+ generation: number;
965
+ sessionId: string;
966
+ startedAt: number;
967
+ family: "sstv" | "fax";
968
+ width?: number | undefined;
969
+ height?: number | undefined;
970
+ codecMode?: string | undefined;
971
+ receivedLines?: number | undefined;
972
+ firstAvailableLine?: number | undefined;
973
+ }>;
974
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
975
+ }, "strip", z.ZodTypeAny, {
976
+ type: "paperStarted";
977
+ pixelFormat: "rgb8" | "gray8";
978
+ session: {
979
+ revision: number;
980
+ generation: number;
981
+ sessionId: string;
982
+ startedAt: number;
983
+ family: "sstv" | "fax";
984
+ receivedLines: number;
985
+ firstAvailableLine: number;
986
+ width?: number | undefined;
987
+ height?: number | undefined;
988
+ codecMode?: string | undefined;
989
+ };
990
+ }, {
991
+ type: "paperStarted";
992
+ pixelFormat: "rgb8" | "gray8";
993
+ session: {
994
+ revision: number;
995
+ generation: number;
996
+ sessionId: string;
997
+ startedAt: number;
998
+ family: "sstv" | "fax";
999
+ width?: number | undefined;
1000
+ height?: number | undefined;
1001
+ codecMode?: string | undefined;
1002
+ receivedLines?: number | undefined;
1003
+ firstAvailableLine?: number | undefined;
1004
+ };
1005
+ }>, z.ZodObject<{
1006
+ type: z.ZodLiteral<"boundary">;
1007
+ sessionId: z.ZodString;
1008
+ generation: z.ZodNumber;
1009
+ revision: z.ZodNumber;
1010
+ boundary: z.ZodObject<{
1011
+ boundaryId: z.ZodString;
1012
+ lineIndex: z.ZodNumber;
1013
+ kind: z.ZodEnum<["initial", "vis", "syncTiming", "aptPhasing", "protocolEnd", "manualMode", "discontinuity", "reset", "truncated", "protocolObserved", "localTxStart", "localTxEnd"]>;
1014
+ trusted: z.ZodBoolean;
1015
+ codecMode: z.ZodString;
1016
+ width: z.ZodNumber;
1017
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
1018
+ timestamp: z.ZodNumber;
1019
+ detection: z.ZodOptional<z.ZodString>;
1020
+ nominalHeight: z.ZodOptional<z.ZodNumber>;
1021
+ source: z.ZodOptional<z.ZodEnum<["rx", "localTx"]>>;
1022
+ txSessionId: z.ZodOptional<z.ZodString>;
1023
+ txOutcome: z.ZodOptional<z.ZodEnum<["completed", "interrupted"]>>;
1024
+ }, "strip", z.ZodTypeAny, {
1025
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
1026
+ timestamp: number;
1027
+ width: number;
1028
+ codecMode: string;
1029
+ boundaryId: string;
1030
+ lineIndex: number;
1031
+ trusted: boolean;
1032
+ pixelFormat: "rgb8" | "gray8";
1033
+ source?: "rx" | "localTx" | undefined;
1034
+ detection?: string | undefined;
1035
+ nominalHeight?: number | undefined;
1036
+ txSessionId?: string | undefined;
1037
+ txOutcome?: "completed" | "interrupted" | undefined;
1038
+ }, {
1039
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
1040
+ timestamp: number;
1041
+ width: number;
1042
+ codecMode: string;
1043
+ boundaryId: string;
1044
+ lineIndex: number;
1045
+ trusted: boolean;
1046
+ pixelFormat: "rgb8" | "gray8";
1047
+ source?: "rx" | "localTx" | undefined;
1048
+ detection?: string | undefined;
1049
+ nominalHeight?: number | undefined;
1050
+ txSessionId?: string | undefined;
1051
+ txOutcome?: "completed" | "interrupted" | undefined;
1052
+ }>;
1053
+ }, "strip", z.ZodTypeAny, {
1054
+ type: "boundary";
1055
+ revision: number;
1056
+ generation: number;
1057
+ sessionId: string;
1058
+ boundary: {
1059
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
1060
+ timestamp: number;
1061
+ width: number;
1062
+ codecMode: string;
1063
+ boundaryId: string;
1064
+ lineIndex: number;
1065
+ trusted: boolean;
1066
+ pixelFormat: "rgb8" | "gray8";
1067
+ source?: "rx" | "localTx" | undefined;
1068
+ detection?: string | undefined;
1069
+ nominalHeight?: number | undefined;
1070
+ txSessionId?: string | undefined;
1071
+ txOutcome?: "completed" | "interrupted" | undefined;
1072
+ };
1073
+ }, {
1074
+ type: "boundary";
1075
+ revision: number;
1076
+ generation: number;
1077
+ sessionId: string;
1078
+ boundary: {
1079
+ kind: "vis" | "initial" | "syncTiming" | "aptPhasing" | "protocolEnd" | "manualMode" | "discontinuity" | "reset" | "truncated" | "protocolObserved" | "localTxStart" | "localTxEnd";
1080
+ timestamp: number;
1081
+ width: number;
1082
+ codecMode: string;
1083
+ boundaryId: string;
1084
+ lineIndex: number;
1085
+ trusted: boolean;
1086
+ pixelFormat: "rgb8" | "gray8";
1087
+ source?: "rx" | "localTx" | undefined;
1088
+ detection?: string | undefined;
1089
+ nominalHeight?: number | undefined;
1090
+ txSessionId?: string | undefined;
1091
+ txOutcome?: "completed" | "interrupted" | undefined;
1092
+ };
1093
+ }>, z.ZodObject<{
1094
+ type: z.ZodLiteral<"faxCalibration">;
1095
+ sessionId: z.ZodString;
1096
+ generation: z.ZodNumber;
1097
+ revision: z.ZodNumber;
1098
+ calibration: z.ZodObject<{
1099
+ boundaryId: z.ZodString;
1100
+ revision: z.ZodNumber;
1101
+ autoEnabled: z.ZodBoolean;
1102
+ autoPoints: z.ZodArray<z.ZodObject<{
1103
+ revision: z.ZodNumber;
1104
+ referenceLine: z.ZodNumber;
1105
+ phasePixels: z.ZodNumber;
1106
+ clockPpm: z.ZodNumber;
1107
+ confidence: z.ZodNumber;
1108
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
1109
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
1110
+ }, "strip", z.ZodTypeAny, {
1111
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1112
+ confidence: number;
1113
+ revision: number;
1114
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1115
+ referenceLine: number;
1116
+ phasePixels: number;
1117
+ clockPpm: number;
1118
+ }, {
1119
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1120
+ confidence: number;
1121
+ revision: number;
1122
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1123
+ referenceLine: number;
1124
+ phasePixels: number;
1125
+ clockPpm: number;
1126
+ }>, "many">;
1127
+ manualPhasePixels: z.ZodNumber;
1128
+ manualClockPpm: z.ZodNumber;
1129
+ updatedAt: z.ZodNumber;
1130
+ }, "strip", z.ZodTypeAny, {
1131
+ revision: number;
1132
+ updatedAt: number;
1133
+ boundaryId: string;
1134
+ autoEnabled: boolean;
1135
+ autoPoints: {
1136
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1137
+ confidence: number;
1138
+ revision: number;
1139
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1140
+ referenceLine: number;
1141
+ phasePixels: number;
1142
+ clockPpm: number;
1143
+ }[];
1144
+ manualPhasePixels: number;
1145
+ manualClockPpm: number;
1146
+ }, {
1147
+ revision: number;
1148
+ updatedAt: number;
1149
+ boundaryId: string;
1150
+ autoEnabled: boolean;
1151
+ autoPoints: {
1152
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1153
+ confidence: number;
1154
+ revision: number;
1155
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1156
+ referenceLine: number;
1157
+ phasePixels: number;
1158
+ clockPpm: number;
1159
+ }[];
1160
+ manualPhasePixels: number;
1161
+ manualClockPpm: number;
1162
+ }>;
1163
+ }, "strip", z.ZodTypeAny, {
1164
+ type: "faxCalibration";
1165
+ revision: number;
1166
+ generation: number;
1167
+ sessionId: string;
1168
+ calibration: {
1169
+ revision: number;
1170
+ updatedAt: number;
1171
+ boundaryId: string;
1172
+ autoEnabled: boolean;
1173
+ autoPoints: {
1174
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1175
+ confidence: number;
1176
+ revision: number;
1177
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1178
+ referenceLine: number;
1179
+ phasePixels: number;
1180
+ clockPpm: number;
1181
+ }[];
1182
+ manualPhasePixels: number;
1183
+ manualClockPpm: number;
1184
+ };
1185
+ }, {
1186
+ type: "faxCalibration";
1187
+ revision: number;
1188
+ generation: number;
1189
+ sessionId: string;
1190
+ calibration: {
1191
+ revision: number;
1192
+ updatedAt: number;
1193
+ boundaryId: string;
1194
+ autoEnabled: boolean;
1195
+ autoPoints: {
1196
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1197
+ confidence: number;
1198
+ revision: number;
1199
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1200
+ referenceLine: number;
1201
+ phasePixels: number;
1202
+ clockPpm: number;
1203
+ }[];
1204
+ manualPhasePixels: number;
1205
+ manualClockPpm: number;
1206
+ };
1207
+ }>, z.ZodObject<{
1208
+ type: z.ZodLiteral<"signalDetected">;
1209
+ family: z.ZodEnum<["sstv", "fax"]>;
1210
+ confidence: z.ZodNumber;
1211
+ candidates: z.ZodArray<z.ZodString, "many">;
1212
+ timestamp: z.ZodNumber;
1213
+ }, "strip", z.ZodTypeAny, {
1214
+ type: "signalDetected";
1215
+ confidence: number;
1216
+ timestamp: number;
1217
+ family: "sstv" | "fax";
1218
+ candidates: string[];
1219
+ }, {
1220
+ type: "signalDetected";
1221
+ confidence: number;
1222
+ timestamp: number;
1223
+ family: "sstv" | "fax";
1224
+ candidates: string[];
1225
+ }>, z.ZodObject<{
1226
+ type: z.ZodLiteral<"imageStarted">;
1227
+ session: z.ZodObject<{
1228
+ sessionId: z.ZodString;
1229
+ family: z.ZodEnum<["sstv", "fax"]>;
1230
+ generation: z.ZodNumber;
1231
+ revision: z.ZodNumber;
1232
+ codecMode: z.ZodOptional<z.ZodString>;
1233
+ width: z.ZodOptional<z.ZodNumber>;
1234
+ height: z.ZodOptional<z.ZodNumber>;
1235
+ receivedLines: z.ZodDefault<z.ZodNumber>;
1236
+ firstAvailableLine: z.ZodDefault<z.ZodNumber>;
1237
+ startedAt: z.ZodNumber;
1238
+ }, "strip", z.ZodTypeAny, {
1239
+ revision: number;
1240
+ generation: number;
1241
+ sessionId: string;
1242
+ startedAt: number;
1243
+ family: "sstv" | "fax";
1244
+ receivedLines: number;
1245
+ firstAvailableLine: number;
1246
+ width?: number | undefined;
1247
+ height?: number | undefined;
1248
+ codecMode?: string | undefined;
1249
+ }, {
1250
+ revision: number;
1251
+ generation: number;
1252
+ sessionId: string;
1253
+ startedAt: number;
1254
+ family: "sstv" | "fax";
1255
+ width?: number | undefined;
1256
+ height?: number | undefined;
1257
+ codecMode?: string | undefined;
1258
+ receivedLines?: number | undefined;
1259
+ firstAvailableLine?: number | undefined;
1260
+ }>;
1261
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
1262
+ detection: z.ZodOptional<z.ZodString>;
1263
+ confidence: z.ZodOptional<z.ZodNumber>;
1264
+ }, "strip", z.ZodTypeAny, {
1265
+ type: "imageStarted";
1266
+ pixelFormat: "rgb8" | "gray8";
1267
+ session: {
1268
+ revision: number;
1269
+ generation: number;
1270
+ sessionId: string;
1271
+ startedAt: number;
1272
+ family: "sstv" | "fax";
1273
+ receivedLines: number;
1274
+ firstAvailableLine: number;
1275
+ width?: number | undefined;
1276
+ height?: number | undefined;
1277
+ codecMode?: string | undefined;
1278
+ };
1279
+ confidence?: number | undefined;
1280
+ detection?: string | undefined;
1281
+ }, {
1282
+ type: "imageStarted";
1283
+ pixelFormat: "rgb8" | "gray8";
1284
+ session: {
1285
+ revision: number;
1286
+ generation: number;
1287
+ sessionId: string;
1288
+ startedAt: number;
1289
+ family: "sstv" | "fax";
1290
+ width?: number | undefined;
1291
+ height?: number | undefined;
1292
+ codecMode?: string | undefined;
1293
+ receivedLines?: number | undefined;
1294
+ firstAvailableLine?: number | undefined;
1295
+ };
1296
+ confidence?: number | undefined;
1297
+ detection?: string | undefined;
1298
+ }>, z.ZodObject<{
1299
+ type: z.ZodLiteral<"rows">;
1300
+ sessionId: z.ZodString;
1301
+ generation: z.ZodNumber;
1302
+ revision: z.ZodNumber;
1303
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
1304
+ rows: z.ZodArray<z.ZodObject<{
1305
+ rowIndex: z.ZodNumber;
1306
+ width: z.ZodNumber;
1307
+ rowRevision: z.ZodNumber;
1308
+ completeness: z.ZodOptional<z.ZodEnum<["provisional", "final"]>>;
1309
+ dataBase64: z.ZodString;
1310
+ }, "strip", z.ZodTypeAny, {
1311
+ width: number;
1312
+ rowIndex: number;
1313
+ rowRevision: number;
1314
+ dataBase64: string;
1315
+ completeness?: "provisional" | "final" | undefined;
1316
+ }, {
1317
+ width: number;
1318
+ rowIndex: number;
1319
+ rowRevision: number;
1320
+ dataBase64: string;
1321
+ completeness?: "provisional" | "final" | undefined;
1322
+ }>, "many">;
1323
+ }, "strip", z.ZodTypeAny, {
1324
+ type: "rows";
1325
+ revision: number;
1326
+ generation: number;
1327
+ sessionId: string;
1328
+ pixelFormat: "rgb8" | "gray8";
1329
+ rows: {
1330
+ width: number;
1331
+ rowIndex: number;
1332
+ rowRevision: number;
1333
+ dataBase64: string;
1334
+ completeness?: "provisional" | "final" | undefined;
1335
+ }[];
1336
+ }, {
1337
+ type: "rows";
1338
+ revision: number;
1339
+ generation: number;
1340
+ sessionId: string;
1341
+ pixelFormat: "rgb8" | "gray8";
1342
+ rows: {
1343
+ width: number;
1344
+ rowIndex: number;
1345
+ rowRevision: number;
1346
+ dataBase64: string;
1347
+ completeness?: "provisional" | "final" | undefined;
1348
+ }[];
1349
+ }>, z.ZodObject<{
1350
+ type: z.ZodLiteral<"imageCompleted">;
1351
+ sessionId: z.ZodString;
1352
+ generation: z.ZodNumber;
1353
+ revision: z.ZodNumber;
1354
+ artifactId: z.ZodString;
1355
+ previewUrl: z.ZodString;
1356
+ partial: z.ZodBoolean;
1357
+ }, "strip", z.ZodTypeAny, {
1358
+ type: "imageCompleted";
1359
+ revision: number;
1360
+ partial: boolean;
1361
+ generation: number;
1362
+ sessionId: string;
1363
+ artifactId: string;
1364
+ previewUrl: string;
1365
+ }, {
1366
+ type: "imageCompleted";
1367
+ revision: number;
1368
+ partial: boolean;
1369
+ generation: number;
1370
+ sessionId: string;
1371
+ artifactId: string;
1372
+ previewUrl: string;
1373
+ }>, z.ZodObject<{
1374
+ type: z.ZodLiteral<"imageAborted">;
1375
+ sessionId: z.ZodString;
1376
+ generation: z.ZodNumber;
1377
+ revision: z.ZodNumber;
1378
+ reason: z.ZodString;
1379
+ lastRow: z.ZodOptional<z.ZodNumber>;
1380
+ temporary: z.ZodBoolean;
1381
+ }, "strip", z.ZodTypeAny, {
1382
+ type: "imageAborted";
1383
+ reason: string;
1384
+ revision: number;
1385
+ generation: number;
1386
+ sessionId: string;
1387
+ temporary: boolean;
1388
+ lastRow?: number | undefined;
1389
+ }, {
1390
+ type: "imageAborted";
1391
+ reason: string;
1392
+ revision: number;
1393
+ generation: number;
1394
+ sessionId: string;
1395
+ temporary: boolean;
1396
+ lastRow?: number | undefined;
1397
+ }>, z.ZodObject<{
1398
+ type: z.ZodLiteral<"snapshotRequired">;
1399
+ sessionId: z.ZodString;
1400
+ generation: z.ZodNumber;
1401
+ revision: z.ZodNumber;
1402
+ snapshotUrl: z.ZodString;
1403
+ }, "strip", z.ZodTypeAny, {
1404
+ type: "snapshotRequired";
1405
+ revision: number;
1406
+ generation: number;
1407
+ sessionId: string;
1408
+ snapshotUrl: string;
1409
+ }, {
1410
+ type: "snapshotRequired";
1411
+ revision: number;
1412
+ generation: number;
1413
+ sessionId: string;
1414
+ snapshotUrl: string;
1415
+ }>, z.ZodObject<{
1416
+ type: z.ZodLiteral<"captureSaved">;
1417
+ sessionId: z.ZodString;
1418
+ generation: z.ZodNumber;
1419
+ revision: z.ZodNumber;
1420
+ artifactId: z.ZodString;
1421
+ previewUrl: z.ZodString;
1422
+ saveReason: z.ZodEnum<["manual", "protocolEnd"]>;
1423
+ complete: z.ZodBoolean;
1424
+ startLine: z.ZodNumber;
1425
+ endLine: z.ZodNumber;
1426
+ }, "strip", z.ZodTypeAny, {
1427
+ type: "captureSaved";
1428
+ revision: number;
1429
+ generation: number;
1430
+ sessionId: string;
1431
+ artifactId: string;
1432
+ previewUrl: string;
1433
+ saveReason: "manual" | "protocolEnd";
1434
+ complete: boolean;
1435
+ startLine: number;
1436
+ endLine: number;
1437
+ }, {
1438
+ type: "captureSaved";
1439
+ revision: number;
1440
+ generation: number;
1441
+ sessionId: string;
1442
+ artifactId: string;
1443
+ previewUrl: string;
1444
+ saveReason: "manual" | "protocolEnd";
1445
+ complete: boolean;
1446
+ startLine: number;
1447
+ endLine: number;
1448
+ }>]>;
1449
+ export type ImageRxEvent = z.infer<typeof ImageRxEventSchema>;
1450
+ export declare const ImageArtifactSchema: z.ZodObject<{
1451
+ id: z.ZodString;
1452
+ family: z.ZodEnum<["sstv", "fax"]>;
1453
+ direction: z.ZodEnum<["rx", "tx"]>;
1454
+ operatorId: z.ZodOptional<z.ZodString>;
1455
+ codecMode: z.ZodString;
1456
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
1457
+ width: z.ZodNumber;
1458
+ height: z.ZodNumber;
1459
+ frequency: z.ZodNumber;
1460
+ radioMode: z.ZodOptional<z.ZodString>;
1461
+ complete: z.ZodBoolean;
1462
+ saveReason: z.ZodOptional<z.ZodEnum<["manual", "protocolEnd"]>>;
1463
+ captureStartedAt: z.ZodOptional<z.ZodNumber>;
1464
+ captureEndedAt: z.ZodOptional<z.ZodNumber>;
1465
+ truncated: z.ZodDefault<z.ZodBoolean>;
1466
+ pinned: z.ZodDefault<z.ZodBoolean>;
1467
+ qsoId: z.ZodOptional<z.ZodString>;
1468
+ contentHash: z.ZodString;
1469
+ createdAt: z.ZodNumber;
1470
+ imageUrl: z.ZodString;
1471
+ faxCalibration: z.ZodOptional<z.ZodObject<{
1472
+ boundaryId: z.ZodString;
1473
+ revision: z.ZodNumber;
1474
+ autoEnabled: z.ZodBoolean;
1475
+ autoPoints: z.ZodArray<z.ZodObject<{
1476
+ revision: z.ZodNumber;
1477
+ referenceLine: z.ZodNumber;
1478
+ phasePixels: z.ZodNumber;
1479
+ clockPpm: z.ZodNumber;
1480
+ confidence: z.ZodNumber;
1481
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
1482
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
1483
+ }, "strip", z.ZodTypeAny, {
1484
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1485
+ confidence: number;
1486
+ revision: number;
1487
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1488
+ referenceLine: number;
1489
+ phasePixels: number;
1490
+ clockPpm: number;
1491
+ }, {
1492
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1493
+ confidence: number;
1494
+ revision: number;
1495
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1496
+ referenceLine: number;
1497
+ phasePixels: number;
1498
+ clockPpm: number;
1499
+ }>, "many">;
1500
+ manualPhasePixels: z.ZodNumber;
1501
+ manualClockPpm: z.ZodNumber;
1502
+ updatedAt: z.ZodNumber;
1503
+ }, "strip", z.ZodTypeAny, {
1504
+ revision: number;
1505
+ updatedAt: number;
1506
+ boundaryId: string;
1507
+ autoEnabled: boolean;
1508
+ autoPoints: {
1509
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1510
+ confidence: number;
1511
+ revision: number;
1512
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1513
+ referenceLine: number;
1514
+ phasePixels: number;
1515
+ clockPpm: number;
1516
+ }[];
1517
+ manualPhasePixels: number;
1518
+ manualClockPpm: number;
1519
+ }, {
1520
+ revision: number;
1521
+ updatedAt: number;
1522
+ boundaryId: string;
1523
+ autoEnabled: boolean;
1524
+ autoPoints: {
1525
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1526
+ confidence: number;
1527
+ revision: number;
1528
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1529
+ referenceLine: number;
1530
+ phasePixels: number;
1531
+ clockPpm: number;
1532
+ }[];
1533
+ manualPhasePixels: number;
1534
+ manualClockPpm: number;
1535
+ }>>;
1536
+ }, "strip", z.ZodTypeAny, {
1537
+ id: string;
1538
+ frequency: number;
1539
+ width: number;
1540
+ createdAt: number;
1541
+ direction: "tx" | "rx";
1542
+ family: "sstv" | "fax";
1543
+ height: number;
1544
+ codecMode: string;
1545
+ truncated: boolean;
1546
+ pixelFormat: "rgb8" | "gray8";
1547
+ complete: boolean;
1548
+ pinned: boolean;
1549
+ contentHash: string;
1550
+ imageUrl: string;
1551
+ operatorId?: string | undefined;
1552
+ radioMode?: string | undefined;
1553
+ faxCalibration?: {
1554
+ revision: number;
1555
+ updatedAt: number;
1556
+ boundaryId: string;
1557
+ autoEnabled: boolean;
1558
+ autoPoints: {
1559
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1560
+ confidence: number;
1561
+ revision: number;
1562
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1563
+ referenceLine: number;
1564
+ phasePixels: number;
1565
+ clockPpm: number;
1566
+ }[];
1567
+ manualPhasePixels: number;
1568
+ manualClockPpm: number;
1569
+ } | undefined;
1570
+ saveReason?: "manual" | "protocolEnd" | undefined;
1571
+ captureStartedAt?: number | undefined;
1572
+ captureEndedAt?: number | undefined;
1573
+ qsoId?: string | undefined;
1574
+ }, {
1575
+ id: string;
1576
+ frequency: number;
1577
+ width: number;
1578
+ createdAt: number;
1579
+ direction: "tx" | "rx";
1580
+ family: "sstv" | "fax";
1581
+ height: number;
1582
+ codecMode: string;
1583
+ pixelFormat: "rgb8" | "gray8";
1584
+ complete: boolean;
1585
+ contentHash: string;
1586
+ imageUrl: string;
1587
+ operatorId?: string | undefined;
1588
+ radioMode?: string | undefined;
1589
+ truncated?: boolean | undefined;
1590
+ faxCalibration?: {
1591
+ revision: number;
1592
+ updatedAt: number;
1593
+ boundaryId: string;
1594
+ autoEnabled: boolean;
1595
+ autoPoints: {
1596
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1597
+ confidence: number;
1598
+ revision: number;
1599
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1600
+ referenceLine: number;
1601
+ phasePixels: number;
1602
+ clockPpm: number;
1603
+ }[];
1604
+ manualPhasePixels: number;
1605
+ manualClockPpm: number;
1606
+ } | undefined;
1607
+ saveReason?: "manual" | "protocolEnd" | undefined;
1608
+ captureStartedAt?: number | undefined;
1609
+ captureEndedAt?: number | undefined;
1610
+ pinned?: boolean | undefined;
1611
+ qsoId?: string | undefined;
1612
+ }>;
1613
+ export type ImageArtifact = z.infer<typeof ImageArtifactSchema>;
1614
+ export declare const ImageHistoryRecordSchema: z.ZodDiscriminatedUnion<"direction", [z.ZodObject<{
1615
+ id: z.ZodString;
1616
+ artifactId: z.ZodString;
1617
+ family: z.ZodEnum<["sstv", "fax"]>;
1618
+ operatorId: z.ZodOptional<z.ZodString>;
1619
+ occurredAt: z.ZodNumber;
1620
+ qsoId: z.ZodOptional<z.ZodString>;
1621
+ } & {
1622
+ direction: z.ZodLiteral<"rx">;
1623
+ saveReason: z.ZodEnum<["manual", "protocolEnd"]>;
1624
+ complete: z.ZodBoolean;
1625
+ truncated: z.ZodDefault<z.ZodBoolean>;
1626
+ }, "strip", z.ZodTypeAny, {
1627
+ id: string;
1628
+ occurredAt: number;
1629
+ direction: "rx";
1630
+ family: "sstv" | "fax";
1631
+ artifactId: string;
1632
+ truncated: boolean;
1633
+ saveReason: "manual" | "protocolEnd";
1634
+ complete: boolean;
1635
+ operatorId?: string | undefined;
1636
+ qsoId?: string | undefined;
1637
+ }, {
1638
+ id: string;
1639
+ occurredAt: number;
1640
+ direction: "rx";
1641
+ family: "sstv" | "fax";
1642
+ artifactId: string;
1643
+ saveReason: "manual" | "protocolEnd";
1644
+ complete: boolean;
1645
+ operatorId?: string | undefined;
1646
+ truncated?: boolean | undefined;
1647
+ qsoId?: string | undefined;
1648
+ }>, z.ZodObject<{
1649
+ id: z.ZodString;
1650
+ artifactId: z.ZodString;
1651
+ family: z.ZodEnum<["sstv", "fax"]>;
1652
+ occurredAt: z.ZodNumber;
1653
+ qsoId: z.ZodOptional<z.ZodString>;
1654
+ } & {
1655
+ direction: z.ZodLiteral<"tx">;
1656
+ operatorId: z.ZodString;
1657
+ sessionId: z.ZodString;
1658
+ startedAt: z.ZodNumber;
1659
+ endedAt: z.ZodOptional<z.ZodNumber>;
1660
+ outcome: z.ZodEnum<["transmitting", "completed", "interrupted"]>;
1661
+ errorCode: z.ZodOptional<z.ZodString>;
1662
+ envelope: z.ZodOptional<z.ZodObject<{
1663
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
1664
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
1665
+ } & {
1666
+ callsign: z.ZodOptional<z.ZodString>;
1667
+ postImageGapMs: z.ZodLiteral<500>;
1668
+ endGuardMs: z.ZodLiteral<300>;
1669
+ cwWpm: z.ZodLiteral<20>;
1670
+ cwToneHz: z.ZodLiteral<800>;
1671
+ }, "strip", z.ZodTypeAny, {
1672
+ enhancedPreamble: boolean;
1673
+ stationIdMode: "none" | "cw" | "fsk";
1674
+ postImageGapMs: 500;
1675
+ endGuardMs: 300;
1676
+ cwWpm: 20;
1677
+ cwToneHz: 800;
1678
+ callsign?: string | undefined;
1679
+ }, {
1680
+ postImageGapMs: 500;
1681
+ endGuardMs: 300;
1682
+ cwWpm: 20;
1683
+ cwToneHz: 800;
1684
+ callsign?: string | undefined;
1685
+ enhancedPreamble?: boolean | undefined;
1686
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
1687
+ }>>;
1688
+ sampleRate: z.ZodOptional<z.ZodNumber>;
1689
+ estimatedTotalSamples: z.ZodOptional<z.ZodNumber>;
1690
+ }, "strip", z.ZodTypeAny, {
1691
+ id: string;
1692
+ operatorId: string;
1693
+ occurredAt: number;
1694
+ sessionId: string;
1695
+ startedAt: number;
1696
+ direction: "tx";
1697
+ family: "sstv" | "fax";
1698
+ artifactId: string;
1699
+ outcome: "completed" | "interrupted" | "transmitting";
1700
+ sampleRate?: number | undefined;
1701
+ errorCode?: string | undefined;
1702
+ endedAt?: number | undefined;
1703
+ envelope?: {
1704
+ enhancedPreamble: boolean;
1705
+ stationIdMode: "none" | "cw" | "fsk";
1706
+ postImageGapMs: 500;
1707
+ endGuardMs: 300;
1708
+ cwWpm: 20;
1709
+ cwToneHz: 800;
1710
+ callsign?: string | undefined;
1711
+ } | undefined;
1712
+ estimatedTotalSamples?: number | undefined;
1713
+ qsoId?: string | undefined;
1714
+ }, {
1715
+ id: string;
1716
+ operatorId: string;
1717
+ occurredAt: number;
1718
+ sessionId: string;
1719
+ startedAt: number;
1720
+ direction: "tx";
1721
+ family: "sstv" | "fax";
1722
+ artifactId: string;
1723
+ outcome: "completed" | "interrupted" | "transmitting";
1724
+ sampleRate?: number | undefined;
1725
+ errorCode?: string | undefined;
1726
+ endedAt?: number | undefined;
1727
+ envelope?: {
1728
+ postImageGapMs: 500;
1729
+ endGuardMs: 300;
1730
+ cwWpm: 20;
1731
+ cwToneHz: 800;
1732
+ callsign?: string | undefined;
1733
+ enhancedPreamble?: boolean | undefined;
1734
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
1735
+ } | undefined;
1736
+ estimatedTotalSamples?: number | undefined;
1737
+ qsoId?: string | undefined;
1738
+ }>]>;
1739
+ export type ImageHistoryRecord = z.infer<typeof ImageHistoryRecordSchema>;
1740
+ export declare const ImageHistoryEntrySchema: z.ZodObject<{
1741
+ record: z.ZodDiscriminatedUnion<"direction", [z.ZodObject<{
1742
+ id: z.ZodString;
1743
+ artifactId: z.ZodString;
1744
+ family: z.ZodEnum<["sstv", "fax"]>;
1745
+ operatorId: z.ZodOptional<z.ZodString>;
1746
+ occurredAt: z.ZodNumber;
1747
+ qsoId: z.ZodOptional<z.ZodString>;
1748
+ } & {
1749
+ direction: z.ZodLiteral<"rx">;
1750
+ saveReason: z.ZodEnum<["manual", "protocolEnd"]>;
1751
+ complete: z.ZodBoolean;
1752
+ truncated: z.ZodDefault<z.ZodBoolean>;
1753
+ }, "strip", z.ZodTypeAny, {
1754
+ id: string;
1755
+ occurredAt: number;
1756
+ direction: "rx";
1757
+ family: "sstv" | "fax";
1758
+ artifactId: string;
1759
+ truncated: boolean;
1760
+ saveReason: "manual" | "protocolEnd";
1761
+ complete: boolean;
1762
+ operatorId?: string | undefined;
1763
+ qsoId?: string | undefined;
1764
+ }, {
1765
+ id: string;
1766
+ occurredAt: number;
1767
+ direction: "rx";
1768
+ family: "sstv" | "fax";
1769
+ artifactId: string;
1770
+ saveReason: "manual" | "protocolEnd";
1771
+ complete: boolean;
1772
+ operatorId?: string | undefined;
1773
+ truncated?: boolean | undefined;
1774
+ qsoId?: string | undefined;
1775
+ }>, z.ZodObject<{
1776
+ id: z.ZodString;
1777
+ artifactId: z.ZodString;
1778
+ family: z.ZodEnum<["sstv", "fax"]>;
1779
+ occurredAt: z.ZodNumber;
1780
+ qsoId: z.ZodOptional<z.ZodString>;
1781
+ } & {
1782
+ direction: z.ZodLiteral<"tx">;
1783
+ operatorId: z.ZodString;
1784
+ sessionId: z.ZodString;
1785
+ startedAt: z.ZodNumber;
1786
+ endedAt: z.ZodOptional<z.ZodNumber>;
1787
+ outcome: z.ZodEnum<["transmitting", "completed", "interrupted"]>;
1788
+ errorCode: z.ZodOptional<z.ZodString>;
1789
+ envelope: z.ZodOptional<z.ZodObject<{
1790
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
1791
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
1792
+ } & {
1793
+ callsign: z.ZodOptional<z.ZodString>;
1794
+ postImageGapMs: z.ZodLiteral<500>;
1795
+ endGuardMs: z.ZodLiteral<300>;
1796
+ cwWpm: z.ZodLiteral<20>;
1797
+ cwToneHz: z.ZodLiteral<800>;
1798
+ }, "strip", z.ZodTypeAny, {
1799
+ enhancedPreamble: boolean;
1800
+ stationIdMode: "none" | "cw" | "fsk";
1801
+ postImageGapMs: 500;
1802
+ endGuardMs: 300;
1803
+ cwWpm: 20;
1804
+ cwToneHz: 800;
1805
+ callsign?: string | undefined;
1806
+ }, {
1807
+ postImageGapMs: 500;
1808
+ endGuardMs: 300;
1809
+ cwWpm: 20;
1810
+ cwToneHz: 800;
1811
+ callsign?: string | undefined;
1812
+ enhancedPreamble?: boolean | undefined;
1813
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
1814
+ }>>;
1815
+ sampleRate: z.ZodOptional<z.ZodNumber>;
1816
+ estimatedTotalSamples: z.ZodOptional<z.ZodNumber>;
1817
+ }, "strip", z.ZodTypeAny, {
1818
+ id: string;
1819
+ operatorId: string;
1820
+ occurredAt: number;
1821
+ sessionId: string;
1822
+ startedAt: number;
1823
+ direction: "tx";
1824
+ family: "sstv" | "fax";
1825
+ artifactId: string;
1826
+ outcome: "completed" | "interrupted" | "transmitting";
1827
+ sampleRate?: number | undefined;
1828
+ errorCode?: string | undefined;
1829
+ endedAt?: number | undefined;
1830
+ envelope?: {
1831
+ enhancedPreamble: boolean;
1832
+ stationIdMode: "none" | "cw" | "fsk";
1833
+ postImageGapMs: 500;
1834
+ endGuardMs: 300;
1835
+ cwWpm: 20;
1836
+ cwToneHz: 800;
1837
+ callsign?: string | undefined;
1838
+ } | undefined;
1839
+ estimatedTotalSamples?: number | undefined;
1840
+ qsoId?: string | undefined;
1841
+ }, {
1842
+ id: string;
1843
+ operatorId: string;
1844
+ occurredAt: number;
1845
+ sessionId: string;
1846
+ startedAt: number;
1847
+ direction: "tx";
1848
+ family: "sstv" | "fax";
1849
+ artifactId: string;
1850
+ outcome: "completed" | "interrupted" | "transmitting";
1851
+ sampleRate?: number | undefined;
1852
+ errorCode?: string | undefined;
1853
+ endedAt?: number | undefined;
1854
+ envelope?: {
1855
+ postImageGapMs: 500;
1856
+ endGuardMs: 300;
1857
+ cwWpm: 20;
1858
+ cwToneHz: 800;
1859
+ callsign?: string | undefined;
1860
+ enhancedPreamble?: boolean | undefined;
1861
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
1862
+ } | undefined;
1863
+ estimatedTotalSamples?: number | undefined;
1864
+ qsoId?: string | undefined;
1865
+ }>]>;
1866
+ artifact: z.ZodObject<{
1867
+ id: z.ZodString;
1868
+ family: z.ZodEnum<["sstv", "fax"]>;
1869
+ direction: z.ZodEnum<["rx", "tx"]>;
1870
+ operatorId: z.ZodOptional<z.ZodString>;
1871
+ codecMode: z.ZodString;
1872
+ pixelFormat: z.ZodEnum<["rgb8", "gray8"]>;
1873
+ width: z.ZodNumber;
1874
+ height: z.ZodNumber;
1875
+ frequency: z.ZodNumber;
1876
+ radioMode: z.ZodOptional<z.ZodString>;
1877
+ complete: z.ZodBoolean;
1878
+ saveReason: z.ZodOptional<z.ZodEnum<["manual", "protocolEnd"]>>;
1879
+ captureStartedAt: z.ZodOptional<z.ZodNumber>;
1880
+ captureEndedAt: z.ZodOptional<z.ZodNumber>;
1881
+ truncated: z.ZodDefault<z.ZodBoolean>;
1882
+ pinned: z.ZodDefault<z.ZodBoolean>;
1883
+ qsoId: z.ZodOptional<z.ZodString>;
1884
+ contentHash: z.ZodString;
1885
+ createdAt: z.ZodNumber;
1886
+ imageUrl: z.ZodString;
1887
+ faxCalibration: z.ZodOptional<z.ZodObject<{
1888
+ boundaryId: z.ZodString;
1889
+ revision: z.ZodNumber;
1890
+ autoEnabled: z.ZodBoolean;
1891
+ autoPoints: z.ZodArray<z.ZodObject<{
1892
+ revision: z.ZodNumber;
1893
+ referenceLine: z.ZodNumber;
1894
+ phasePixels: z.ZodNumber;
1895
+ clockPpm: z.ZodNumber;
1896
+ confidence: z.ZodNumber;
1897
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
1898
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
1899
+ }, "strip", z.ZodTypeAny, {
1900
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1901
+ confidence: number;
1902
+ revision: number;
1903
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1904
+ referenceLine: number;
1905
+ phasePixels: number;
1906
+ clockPpm: number;
1907
+ }, {
1908
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1909
+ confidence: number;
1910
+ revision: number;
1911
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1912
+ referenceLine: number;
1913
+ phasePixels: number;
1914
+ clockPpm: number;
1915
+ }>, "many">;
1916
+ manualPhasePixels: z.ZodNumber;
1917
+ manualClockPpm: z.ZodNumber;
1918
+ updatedAt: z.ZodNumber;
1919
+ }, "strip", z.ZodTypeAny, {
1920
+ revision: number;
1921
+ updatedAt: number;
1922
+ boundaryId: string;
1923
+ autoEnabled: boolean;
1924
+ autoPoints: {
1925
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1926
+ confidence: number;
1927
+ revision: number;
1928
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1929
+ referenceLine: number;
1930
+ phasePixels: number;
1931
+ clockPpm: number;
1932
+ }[];
1933
+ manualPhasePixels: number;
1934
+ manualClockPpm: number;
1935
+ }, {
1936
+ revision: number;
1937
+ updatedAt: number;
1938
+ boundaryId: string;
1939
+ autoEnabled: boolean;
1940
+ autoPoints: {
1941
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1942
+ confidence: number;
1943
+ revision: number;
1944
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1945
+ referenceLine: number;
1946
+ phasePixels: number;
1947
+ clockPpm: number;
1948
+ }[];
1949
+ manualPhasePixels: number;
1950
+ manualClockPpm: number;
1951
+ }>>;
1952
+ }, "strip", z.ZodTypeAny, {
1953
+ id: string;
1954
+ frequency: number;
1955
+ width: number;
1956
+ createdAt: number;
1957
+ direction: "tx" | "rx";
1958
+ family: "sstv" | "fax";
1959
+ height: number;
1960
+ codecMode: string;
1961
+ truncated: boolean;
1962
+ pixelFormat: "rgb8" | "gray8";
1963
+ complete: boolean;
1964
+ pinned: boolean;
1965
+ contentHash: string;
1966
+ imageUrl: string;
1967
+ operatorId?: string | undefined;
1968
+ radioMode?: string | undefined;
1969
+ faxCalibration?: {
1970
+ revision: number;
1971
+ updatedAt: number;
1972
+ boundaryId: string;
1973
+ autoEnabled: boolean;
1974
+ autoPoints: {
1975
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
1976
+ confidence: number;
1977
+ revision: number;
1978
+ source: "manual" | "nominal" | "phasing" | "imageContent";
1979
+ referenceLine: number;
1980
+ phasePixels: number;
1981
+ clockPpm: number;
1982
+ }[];
1983
+ manualPhasePixels: number;
1984
+ manualClockPpm: number;
1985
+ } | undefined;
1986
+ saveReason?: "manual" | "protocolEnd" | undefined;
1987
+ captureStartedAt?: number | undefined;
1988
+ captureEndedAt?: number | undefined;
1989
+ qsoId?: string | undefined;
1990
+ }, {
1991
+ id: string;
1992
+ frequency: number;
1993
+ width: number;
1994
+ createdAt: number;
1995
+ direction: "tx" | "rx";
1996
+ family: "sstv" | "fax";
1997
+ height: number;
1998
+ codecMode: string;
1999
+ pixelFormat: "rgb8" | "gray8";
2000
+ complete: boolean;
2001
+ contentHash: string;
2002
+ imageUrl: string;
2003
+ operatorId?: string | undefined;
2004
+ radioMode?: string | undefined;
2005
+ truncated?: boolean | undefined;
2006
+ faxCalibration?: {
2007
+ revision: number;
2008
+ updatedAt: number;
2009
+ boundaryId: string;
2010
+ autoEnabled: boolean;
2011
+ autoPoints: {
2012
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2013
+ confidence: number;
2014
+ revision: number;
2015
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2016
+ referenceLine: number;
2017
+ phasePixels: number;
2018
+ clockPpm: number;
2019
+ }[];
2020
+ manualPhasePixels: number;
2021
+ manualClockPpm: number;
2022
+ } | undefined;
2023
+ saveReason?: "manual" | "protocolEnd" | undefined;
2024
+ captureStartedAt?: number | undefined;
2025
+ captureEndedAt?: number | undefined;
2026
+ pinned?: boolean | undefined;
2027
+ qsoId?: string | undefined;
2028
+ }>;
2029
+ }, "strip", z.ZodTypeAny, {
2030
+ record: {
2031
+ id: string;
2032
+ occurredAt: number;
2033
+ direction: "rx";
2034
+ family: "sstv" | "fax";
2035
+ artifactId: string;
2036
+ truncated: boolean;
2037
+ saveReason: "manual" | "protocolEnd";
2038
+ complete: boolean;
2039
+ operatorId?: string | undefined;
2040
+ qsoId?: string | undefined;
2041
+ } | {
2042
+ id: string;
2043
+ operatorId: string;
2044
+ occurredAt: number;
2045
+ sessionId: string;
2046
+ startedAt: number;
2047
+ direction: "tx";
2048
+ family: "sstv" | "fax";
2049
+ artifactId: string;
2050
+ outcome: "completed" | "interrupted" | "transmitting";
2051
+ sampleRate?: number | undefined;
2052
+ errorCode?: string | undefined;
2053
+ endedAt?: number | undefined;
2054
+ envelope?: {
2055
+ enhancedPreamble: boolean;
2056
+ stationIdMode: "none" | "cw" | "fsk";
2057
+ postImageGapMs: 500;
2058
+ endGuardMs: 300;
2059
+ cwWpm: 20;
2060
+ cwToneHz: 800;
2061
+ callsign?: string | undefined;
2062
+ } | undefined;
2063
+ estimatedTotalSamples?: number | undefined;
2064
+ qsoId?: string | undefined;
2065
+ };
2066
+ artifact: {
2067
+ id: string;
2068
+ frequency: number;
2069
+ width: number;
2070
+ createdAt: number;
2071
+ direction: "tx" | "rx";
2072
+ family: "sstv" | "fax";
2073
+ height: number;
2074
+ codecMode: string;
2075
+ truncated: boolean;
2076
+ pixelFormat: "rgb8" | "gray8";
2077
+ complete: boolean;
2078
+ pinned: boolean;
2079
+ contentHash: string;
2080
+ imageUrl: string;
2081
+ operatorId?: string | undefined;
2082
+ radioMode?: string | undefined;
2083
+ faxCalibration?: {
2084
+ revision: number;
2085
+ updatedAt: number;
2086
+ boundaryId: string;
2087
+ autoEnabled: boolean;
2088
+ autoPoints: {
2089
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2090
+ confidence: number;
2091
+ revision: number;
2092
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2093
+ referenceLine: number;
2094
+ phasePixels: number;
2095
+ clockPpm: number;
2096
+ }[];
2097
+ manualPhasePixels: number;
2098
+ manualClockPpm: number;
2099
+ } | undefined;
2100
+ saveReason?: "manual" | "protocolEnd" | undefined;
2101
+ captureStartedAt?: number | undefined;
2102
+ captureEndedAt?: number | undefined;
2103
+ qsoId?: string | undefined;
2104
+ };
2105
+ }, {
2106
+ record: {
2107
+ id: string;
2108
+ occurredAt: number;
2109
+ direction: "rx";
2110
+ family: "sstv" | "fax";
2111
+ artifactId: string;
2112
+ saveReason: "manual" | "protocolEnd";
2113
+ complete: boolean;
2114
+ operatorId?: string | undefined;
2115
+ truncated?: boolean | undefined;
2116
+ qsoId?: string | undefined;
2117
+ } | {
2118
+ id: string;
2119
+ operatorId: string;
2120
+ occurredAt: number;
2121
+ sessionId: string;
2122
+ startedAt: number;
2123
+ direction: "tx";
2124
+ family: "sstv" | "fax";
2125
+ artifactId: string;
2126
+ outcome: "completed" | "interrupted" | "transmitting";
2127
+ sampleRate?: number | undefined;
2128
+ errorCode?: string | undefined;
2129
+ endedAt?: number | undefined;
2130
+ envelope?: {
2131
+ postImageGapMs: 500;
2132
+ endGuardMs: 300;
2133
+ cwWpm: 20;
2134
+ cwToneHz: 800;
2135
+ callsign?: string | undefined;
2136
+ enhancedPreamble?: boolean | undefined;
2137
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
2138
+ } | undefined;
2139
+ estimatedTotalSamples?: number | undefined;
2140
+ qsoId?: string | undefined;
2141
+ };
2142
+ artifact: {
2143
+ id: string;
2144
+ frequency: number;
2145
+ width: number;
2146
+ createdAt: number;
2147
+ direction: "tx" | "rx";
2148
+ family: "sstv" | "fax";
2149
+ height: number;
2150
+ codecMode: string;
2151
+ pixelFormat: "rgb8" | "gray8";
2152
+ complete: boolean;
2153
+ contentHash: string;
2154
+ imageUrl: string;
2155
+ operatorId?: string | undefined;
2156
+ radioMode?: string | undefined;
2157
+ truncated?: boolean | undefined;
2158
+ faxCalibration?: {
2159
+ revision: number;
2160
+ updatedAt: number;
2161
+ boundaryId: string;
2162
+ autoEnabled: boolean;
2163
+ autoPoints: {
2164
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2165
+ confidence: number;
2166
+ revision: number;
2167
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2168
+ referenceLine: number;
2169
+ phasePixels: number;
2170
+ clockPpm: number;
2171
+ }[];
2172
+ manualPhasePixels: number;
2173
+ manualClockPpm: number;
2174
+ } | undefined;
2175
+ saveReason?: "manual" | "protocolEnd" | undefined;
2176
+ captureStartedAt?: number | undefined;
2177
+ captureEndedAt?: number | undefined;
2178
+ pinned?: boolean | undefined;
2179
+ qsoId?: string | undefined;
2180
+ };
2181
+ }>;
2182
+ export type ImageHistoryEntry = z.infer<typeof ImageHistoryEntrySchema>;
2183
+ export declare const ImageTemplateTextLayerSchema: z.ZodObject<{
2184
+ id: z.ZodString;
2185
+ text: z.ZodString;
2186
+ x: z.ZodNumber;
2187
+ y: z.ZodNumber;
2188
+ width: z.ZodNumber;
2189
+ height: z.ZodNumber;
2190
+ fontSize: z.ZodNumber;
2191
+ color: z.ZodString;
2192
+ strokeColor: z.ZodOptional<z.ZodString>;
2193
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2194
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
2195
+ rotation: z.ZodDefault<z.ZodNumber>;
2196
+ }, "strip", z.ZodTypeAny, {
2197
+ id: string;
2198
+ width: number;
2199
+ text: string;
2200
+ height: number;
2201
+ x: number;
2202
+ y: number;
2203
+ fontSize: number;
2204
+ color: string;
2205
+ strokeWidth: number;
2206
+ align: "left" | "right" | "center";
2207
+ rotation: number;
2208
+ strokeColor?: string | undefined;
2209
+ }, {
2210
+ id: string;
2211
+ width: number;
2212
+ text: string;
2213
+ height: number;
2214
+ x: number;
2215
+ y: number;
2216
+ fontSize: number;
2217
+ color: string;
2218
+ strokeColor?: string | undefined;
2219
+ strokeWidth?: number | undefined;
2220
+ align?: "left" | "right" | "center" | undefined;
2221
+ rotation?: number | undefined;
2222
+ }>;
2223
+ export type ImageTemplateTextLayer = z.infer<typeof ImageTemplateTextLayerSchema>;
2224
+ export declare const ImageTemplateSchema: z.ZodObject<{
2225
+ id: z.ZodString;
2226
+ operatorId: z.ZodOptional<z.ZodString>;
2227
+ name: z.ZodString;
2228
+ builtIn: z.ZodDefault<z.ZodBoolean>;
2229
+ backgroundArtifactId: z.ZodOptional<z.ZodString>;
2230
+ layers: z.ZodArray<z.ZodObject<{
2231
+ id: z.ZodString;
2232
+ text: z.ZodString;
2233
+ x: z.ZodNumber;
2234
+ y: z.ZodNumber;
2235
+ width: z.ZodNumber;
2236
+ height: z.ZodNumber;
2237
+ fontSize: z.ZodNumber;
2238
+ color: z.ZodString;
2239
+ strokeColor: z.ZodOptional<z.ZodString>;
2240
+ strokeWidth: z.ZodDefault<z.ZodNumber>;
2241
+ align: z.ZodDefault<z.ZodEnum<["left", "center", "right"]>>;
2242
+ rotation: z.ZodDefault<z.ZodNumber>;
2243
+ }, "strip", z.ZodTypeAny, {
2244
+ id: string;
2245
+ width: number;
2246
+ text: string;
2247
+ height: number;
2248
+ x: number;
2249
+ y: number;
2250
+ fontSize: number;
2251
+ color: string;
2252
+ strokeWidth: number;
2253
+ align: "left" | "right" | "center";
2254
+ rotation: number;
2255
+ strokeColor?: string | undefined;
2256
+ }, {
2257
+ id: string;
2258
+ width: number;
2259
+ text: string;
2260
+ height: number;
2261
+ x: number;
2262
+ y: number;
2263
+ fontSize: number;
2264
+ color: string;
2265
+ strokeColor?: string | undefined;
2266
+ strokeWidth?: number | undefined;
2267
+ align?: "left" | "right" | "center" | undefined;
2268
+ rotation?: number | undefined;
2269
+ }>, "many">;
2270
+ createdAt: z.ZodNumber;
2271
+ updatedAt: z.ZodNumber;
2272
+ }, "strip", z.ZodTypeAny, {
2273
+ id: string;
2274
+ name: string;
2275
+ updatedAt: number;
2276
+ createdAt: number;
2277
+ builtIn: boolean;
2278
+ layers: {
2279
+ id: string;
2280
+ width: number;
2281
+ text: string;
2282
+ height: number;
2283
+ x: number;
2284
+ y: number;
2285
+ fontSize: number;
2286
+ color: string;
2287
+ strokeWidth: number;
2288
+ align: "left" | "right" | "center";
2289
+ rotation: number;
2290
+ strokeColor?: string | undefined;
2291
+ }[];
2292
+ operatorId?: string | undefined;
2293
+ backgroundArtifactId?: string | undefined;
2294
+ }, {
2295
+ id: string;
2296
+ name: string;
2297
+ updatedAt: number;
2298
+ createdAt: number;
2299
+ layers: {
2300
+ id: string;
2301
+ width: number;
2302
+ text: string;
2303
+ height: number;
2304
+ x: number;
2305
+ y: number;
2306
+ fontSize: number;
2307
+ color: string;
2308
+ strokeColor?: string | undefined;
2309
+ strokeWidth?: number | undefined;
2310
+ align?: "left" | "right" | "center" | undefined;
2311
+ rotation?: number | undefined;
2312
+ }[];
2313
+ operatorId?: string | undefined;
2314
+ builtIn?: boolean | undefined;
2315
+ backgroundArtifactId?: string | undefined;
2316
+ }>;
2317
+ export type ImageTemplate = z.infer<typeof ImageTemplateSchema>;
2318
+ export declare const ImageComposerBackgroundSchema: z.ZodObject<{
2319
+ operatorId: z.ZodString;
2320
+ width: z.ZodNumber;
2321
+ height: z.ZodNumber;
2322
+ updatedAt: z.ZodNumber;
2323
+ imageUrl: z.ZodString;
2324
+ }, "strip", z.ZodTypeAny, {
2325
+ operatorId: string;
2326
+ width: number;
2327
+ updatedAt: number;
2328
+ height: number;
2329
+ imageUrl: string;
2330
+ }, {
2331
+ operatorId: string;
2332
+ width: number;
2333
+ updatedAt: number;
2334
+ height: number;
2335
+ imageUrl: string;
2336
+ }>;
2337
+ export type ImageComposerBackground = z.infer<typeof ImageComposerBackgroundSchema>;
2338
+ export declare const ImageRxSubscriptionSchema: z.ZodObject<{
2339
+ enabled: z.ZodBoolean;
2340
+ }, "strip", z.ZodTypeAny, {
2341
+ enabled: boolean;
2342
+ }, {
2343
+ enabled: boolean;
2344
+ }>;
2345
+ export declare const SstvTxStartCommandSchema: z.ZodObject<{
2346
+ requestId: z.ZodString;
2347
+ operatorId: z.ZodString;
2348
+ artifactId: z.ZodString;
2349
+ mode: z.ZodString;
2350
+ expectedFrequency: z.ZodNumber;
2351
+ interruptActiveCapture: z.ZodOptional<z.ZodBoolean>;
2352
+ envelope: z.ZodDefault<z.ZodObject<{
2353
+ enhancedPreamble: z.ZodDefault<z.ZodBoolean>;
2354
+ stationIdMode: z.ZodDefault<z.ZodEnum<["fsk", "cw", "none"]>>;
2355
+ }, "strip", z.ZodTypeAny, {
2356
+ enhancedPreamble: boolean;
2357
+ stationIdMode: "none" | "cw" | "fsk";
2358
+ }, {
2359
+ enhancedPreamble?: boolean | undefined;
2360
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
2361
+ }>>;
2362
+ }, "strip", z.ZodTypeAny, {
2363
+ operatorId: string;
2364
+ mode: string;
2365
+ requestId: string;
2366
+ artifactId: string;
2367
+ envelope: {
2368
+ enhancedPreamble: boolean;
2369
+ stationIdMode: "none" | "cw" | "fsk";
2370
+ };
2371
+ expectedFrequency: number;
2372
+ interruptActiveCapture?: boolean | undefined;
2373
+ }, {
2374
+ operatorId: string;
2375
+ mode: string;
2376
+ requestId: string;
2377
+ artifactId: string;
2378
+ expectedFrequency: number;
2379
+ envelope?: {
2380
+ enhancedPreamble?: boolean | undefined;
2381
+ stationIdMode?: "none" | "cw" | "fsk" | undefined;
2382
+ } | undefined;
2383
+ interruptActiveCapture?: boolean | undefined;
2384
+ }>;
2385
+ export type SstvTxStartCommand = z.infer<typeof SstvTxStartCommandSchema>;
2386
+ export declare const SstvTxCancelCommandSchema: z.ZodObject<{
2387
+ requestId: z.ZodString;
2388
+ operatorId: z.ZodString;
2389
+ sessionId: z.ZodString;
2390
+ expectedRevision: z.ZodNumber;
2391
+ }, "strip", z.ZodTypeAny, {
2392
+ operatorId: string;
2393
+ sessionId: string;
2394
+ requestId: string;
2395
+ expectedRevision: number;
2396
+ }, {
2397
+ operatorId: string;
2398
+ sessionId: string;
2399
+ requestId: string;
2400
+ expectedRevision: number;
2401
+ }>;
2402
+ export type SstvTxCancelCommand = z.infer<typeof SstvTxCancelCommandSchema>;
2403
+ export declare const SstvTxCommandResultSchema: z.ZodObject<{
2404
+ requestId: z.ZodString;
2405
+ accepted: z.ZodBoolean;
2406
+ sessionId: z.ZodOptional<z.ZodString>;
2407
+ errorCode: z.ZodOptional<z.ZodString>;
2408
+ }, "strip", z.ZodTypeAny, {
2409
+ requestId: string;
2410
+ accepted: boolean;
2411
+ errorCode?: string | undefined;
2412
+ sessionId?: string | undefined;
2413
+ }, {
2414
+ requestId: string;
2415
+ accepted: boolean;
2416
+ errorCode?: string | undefined;
2417
+ sessionId?: string | undefined;
2418
+ }>;
2419
+ export type SstvTxCommandResult = z.infer<typeof SstvTxCommandResultSchema>;
2420
+ export declare const ImagePaperSaveCommandSchema: z.ZodObject<{
2421
+ requestId: z.ZodString;
2422
+ operatorId: z.ZodString;
2423
+ expectedRevision: z.ZodNumber;
2424
+ }, "strip", z.ZodTypeAny, {
2425
+ operatorId: string;
2426
+ requestId: string;
2427
+ expectedRevision: number;
2428
+ }, {
2429
+ operatorId: string;
2430
+ requestId: string;
2431
+ expectedRevision: number;
2432
+ }>;
2433
+ export type ImagePaperSaveCommand = z.infer<typeof ImagePaperSaveCommandSchema>;
2434
+ export declare const FaxCalibrationSetCommandSchema: z.ZodObject<{
2435
+ requestId: z.ZodString;
2436
+ operatorId: z.ZodString;
2437
+ sessionId: z.ZodString;
2438
+ boundaryId: z.ZodString;
2439
+ expectedRevision: z.ZodNumber;
2440
+ } & {
2441
+ autoEnabled: z.ZodBoolean;
2442
+ phasePixels: z.ZodNumber;
2443
+ clockPpm: z.ZodNumber;
2444
+ }, "strip", z.ZodTypeAny, {
2445
+ operatorId: string;
2446
+ sessionId: string;
2447
+ requestId: string;
2448
+ boundaryId: string;
2449
+ phasePixels: number;
2450
+ clockPpm: number;
2451
+ autoEnabled: boolean;
2452
+ expectedRevision: number;
2453
+ }, {
2454
+ operatorId: string;
2455
+ sessionId: string;
2456
+ requestId: string;
2457
+ boundaryId: string;
2458
+ phasePixels: number;
2459
+ clockPpm: number;
2460
+ autoEnabled: boolean;
2461
+ expectedRevision: number;
2462
+ }>;
2463
+ export type FaxCalibrationSetCommand = z.infer<typeof FaxCalibrationSetCommandSchema>;
2464
+ export declare const FaxCalibrationResetCommandSchema: z.ZodObject<{
2465
+ requestId: z.ZodString;
2466
+ operatorId: z.ZodString;
2467
+ sessionId: z.ZodString;
2468
+ boundaryId: z.ZodString;
2469
+ expectedRevision: z.ZodNumber;
2470
+ }, "strip", z.ZodTypeAny, {
2471
+ operatorId: string;
2472
+ sessionId: string;
2473
+ requestId: string;
2474
+ boundaryId: string;
2475
+ expectedRevision: number;
2476
+ }, {
2477
+ operatorId: string;
2478
+ sessionId: string;
2479
+ requestId: string;
2480
+ boundaryId: string;
2481
+ expectedRevision: number;
2482
+ }>;
2483
+ export type FaxCalibrationResetCommand = z.infer<typeof FaxCalibrationResetCommandSchema>;
2484
+ export declare const FaxCalibrationCommandResultSchema: z.ZodObject<{
2485
+ requestId: z.ZodString;
2486
+ accepted: z.ZodBoolean;
2487
+ calibration: z.ZodOptional<z.ZodObject<{
2488
+ boundaryId: z.ZodString;
2489
+ revision: z.ZodNumber;
2490
+ autoEnabled: z.ZodBoolean;
2491
+ autoPoints: z.ZodArray<z.ZodObject<{
2492
+ revision: z.ZodNumber;
2493
+ referenceLine: z.ZodNumber;
2494
+ phasePixels: z.ZodNumber;
2495
+ clockPpm: z.ZodNumber;
2496
+ confidence: z.ZodNumber;
2497
+ source: z.ZodEnum<["nominal", "phasing", "imageContent", "manual"]>;
2498
+ status: z.ZodEnum<["nominal", "acquiring", "locked", "tracking", "degraded"]>;
2499
+ }, "strip", z.ZodTypeAny, {
2500
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2501
+ confidence: number;
2502
+ revision: number;
2503
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2504
+ referenceLine: number;
2505
+ phasePixels: number;
2506
+ clockPpm: number;
2507
+ }, {
2508
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2509
+ confidence: number;
2510
+ revision: number;
2511
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2512
+ referenceLine: number;
2513
+ phasePixels: number;
2514
+ clockPpm: number;
2515
+ }>, "many">;
2516
+ manualPhasePixels: z.ZodNumber;
2517
+ manualClockPpm: z.ZodNumber;
2518
+ updatedAt: z.ZodNumber;
2519
+ }, "strip", z.ZodTypeAny, {
2520
+ revision: number;
2521
+ updatedAt: number;
2522
+ boundaryId: string;
2523
+ autoEnabled: boolean;
2524
+ autoPoints: {
2525
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2526
+ confidence: number;
2527
+ revision: number;
2528
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2529
+ referenceLine: number;
2530
+ phasePixels: number;
2531
+ clockPpm: number;
2532
+ }[];
2533
+ manualPhasePixels: number;
2534
+ manualClockPpm: number;
2535
+ }, {
2536
+ revision: number;
2537
+ updatedAt: number;
2538
+ boundaryId: string;
2539
+ autoEnabled: boolean;
2540
+ autoPoints: {
2541
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2542
+ confidence: number;
2543
+ revision: number;
2544
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2545
+ referenceLine: number;
2546
+ phasePixels: number;
2547
+ clockPpm: number;
2548
+ }[];
2549
+ manualPhasePixels: number;
2550
+ manualClockPpm: number;
2551
+ }>>;
2552
+ errorCode: z.ZodOptional<z.ZodString>;
2553
+ }, "strip", z.ZodTypeAny, {
2554
+ requestId: string;
2555
+ accepted: boolean;
2556
+ errorCode?: string | undefined;
2557
+ calibration?: {
2558
+ revision: number;
2559
+ updatedAt: number;
2560
+ boundaryId: string;
2561
+ autoEnabled: boolean;
2562
+ autoPoints: {
2563
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2564
+ confidence: number;
2565
+ revision: number;
2566
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2567
+ referenceLine: number;
2568
+ phasePixels: number;
2569
+ clockPpm: number;
2570
+ }[];
2571
+ manualPhasePixels: number;
2572
+ manualClockPpm: number;
2573
+ } | undefined;
2574
+ }, {
2575
+ requestId: string;
2576
+ accepted: boolean;
2577
+ errorCode?: string | undefined;
2578
+ calibration?: {
2579
+ revision: number;
2580
+ updatedAt: number;
2581
+ boundaryId: string;
2582
+ autoEnabled: boolean;
2583
+ autoPoints: {
2584
+ status: "degraded" | "locked" | "acquiring" | "nominal" | "tracking";
2585
+ confidence: number;
2586
+ revision: number;
2587
+ source: "manual" | "nominal" | "phasing" | "imageContent";
2588
+ referenceLine: number;
2589
+ phasePixels: number;
2590
+ clockPpm: number;
2591
+ }[];
2592
+ manualPhasePixels: number;
2593
+ manualClockPpm: number;
2594
+ } | undefined;
2595
+ }>;
2596
+ export type FaxCalibrationCommandResult = z.infer<typeof FaxCalibrationCommandResultSchema>;
2597
+ //# sourceMappingURL=image-radio.schema.d.ts.map