@boarteam/fix-dict-fixt11 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,570 @@
1
+ import * as _boarteam_fix from '@boarteam/fix';
2
+ import { MessageView, DictionaryJSON, MessageFactory } from '@boarteam/fix';
3
+
4
+ /**
5
+ * The complete FIXT.1.1 dictionary as data. Pass to `loadDictionary` from `@boarteam/fix`
6
+ * to get a runtime index, or to `createFixEngine`.
7
+ */
8
+ declare const dictionary: DictionaryJSON;
9
+ /** Dialect identifier (the `BeginString`, tag 8, value). */
10
+ declare const DICTIONARY_VERSION: "FIXT.1.1";
11
+ /** Field tags keyed by field name. */
12
+ declare const Tags: {
13
+ readonly BeginSeqNo: 7;
14
+ readonly BeginString: 8;
15
+ readonly BodyLength: 9;
16
+ readonly CheckSum: 10;
17
+ readonly EndSeqNo: 16;
18
+ readonly MsgSeqNum: 34;
19
+ readonly MsgType: 35;
20
+ readonly NewSeqNo: 36;
21
+ readonly PossDupFlag: 43;
22
+ readonly RefSeqNum: 45;
23
+ readonly SenderCompID: 49;
24
+ readonly SenderSubID: 50;
25
+ readonly SendingTime: 52;
26
+ readonly TargetCompID: 56;
27
+ readonly TargetSubID: 57;
28
+ readonly Text: 58;
29
+ readonly Signature: 89;
30
+ readonly SecureDataLen: 90;
31
+ readonly SecureData: 91;
32
+ readonly SignatureLength: 93;
33
+ readonly RawDataLength: 95;
34
+ readonly RawData: 96;
35
+ readonly PossResend: 97;
36
+ readonly EncryptMethod: 98;
37
+ readonly HeartBtInt: 108;
38
+ readonly TestReqID: 112;
39
+ readonly OnBehalfOfCompID: 115;
40
+ readonly OnBehalfOfSubID: 116;
41
+ readonly OrigSendingTime: 122;
42
+ readonly GapFillFlag: 123;
43
+ readonly DeliverToCompID: 128;
44
+ readonly DeliverToSubID: 129;
45
+ readonly ResetSeqNumFlag: 141;
46
+ readonly SenderLocationID: 142;
47
+ readonly TargetLocationID: 143;
48
+ readonly OnBehalfOfLocationID: 144;
49
+ readonly DeliverToLocationID: 145;
50
+ readonly XmlDataLen: 212;
51
+ readonly XmlData: 213;
52
+ readonly MessageEncoding: 347;
53
+ readonly EncodedTextLen: 354;
54
+ readonly EncodedText: 355;
55
+ readonly LastMsgSeqNumProcessed: 369;
56
+ readonly RefTagID: 371;
57
+ readonly RefMsgType: 372;
58
+ readonly SessionRejectReason: 373;
59
+ readonly MaxMessageSize: 383;
60
+ readonly NoMsgTypes: 384;
61
+ readonly MsgDirection: 385;
62
+ readonly TestMessageIndicator: 464;
63
+ readonly Username: 553;
64
+ readonly Password: 554;
65
+ readonly NoHops: 627;
66
+ readonly HopCompID: 628;
67
+ readonly HopSendingTime: 629;
68
+ readonly HopRefID: 630;
69
+ readonly NextExpectedMsgSeqNum: 789;
70
+ readonly NewPassword: 925;
71
+ readonly ApplVerID: 1128;
72
+ readonly CstmApplVerID: 1129;
73
+ readonly RefApplVerID: 1130;
74
+ readonly RefCstmApplVerID: 1131;
75
+ readonly DefaultApplVerID: 1137;
76
+ readonly ApplExtID: 1156;
77
+ readonly EncryptedPasswordMethod: 1400;
78
+ readonly EncryptedPasswordLen: 1401;
79
+ readonly EncryptedPassword: 1402;
80
+ readonly EncryptedNewPasswordLen: 1403;
81
+ readonly EncryptedNewPassword: 1404;
82
+ readonly RefApplExtID: 1406;
83
+ readonly DefaultApplExtID: 1407;
84
+ readonly DefaultCstmApplVerID: 1408;
85
+ readonly SessionStatus: 1409;
86
+ readonly DefaultVerIndicator: 1410;
87
+ };
88
+ type TagName = keyof typeof Tags;
89
+ type MsgTypeName = keyof typeof MsgType;
90
+ /** `MsgType` (tag 35) values keyed by message name. */
91
+ declare const MsgType: {
92
+ readonly Heartbeat: "0";
93
+ readonly Logon: "A";
94
+ readonly Logout: "5";
95
+ readonly Reject: "3";
96
+ readonly ResendRequest: "2";
97
+ readonly SequenceReset: "4";
98
+ readonly TestRequest: "1";
99
+ };
100
+ /**
101
+ * Union of the on-the-wire `MsgType` values (`"A" | "0" | ...`) — the value-side
102
+ * counterpart of `MsgTypeName` (which is the union of message *names*). Lets
103
+ * consumers write `msgType: MsgType` in type positions.
104
+ */
105
+ type MsgType = (typeof MsgType)[keyof typeof MsgType];
106
+ /**
107
+ * Field names keyed by tag number — the reverse of `Tags`. Useful for log lines
108
+ * and session-level `Reject` construction without loading the full dictionary:
109
+ * `TagNames[55] === 'Symbol'`. `undefined` for tags outside the dictionary.
110
+ */
111
+ declare const TagNames: {
112
+ readonly [tag: number]: TagName | undefined;
113
+ };
114
+ /**
115
+ * Message names keyed by `MsgType` (tag 35) value — the reverse of `MsgType`.
116
+ * `undefined` for values outside the dictionary.
117
+ */
118
+ declare const MsgTypeNames: {
119
+ readonly [msgType: string]: MsgTypeName | undefined;
120
+ };
121
+ /** `ApplVerID` (tag 1128) values keyed by spec value name. */
122
+ declare const ApplVerID: {
123
+ readonly FIX27: "0";
124
+ readonly FIX30: "1";
125
+ readonly FIX40: "2";
126
+ readonly FIX41: "3";
127
+ readonly FIX42: "4";
128
+ readonly FIX43: "5";
129
+ readonly FIX44: "6";
130
+ readonly FIX50: "7";
131
+ readonly FIX50SP1: "8";
132
+ readonly FIX50SP2: "9";
133
+ readonly FIXLatest: "10";
134
+ };
135
+ type ApplVerID = (typeof ApplVerID)[keyof typeof ApplVerID];
136
+ /** `EncryptMethod` (tag 98) values keyed by spec value name. */
137
+ declare const EncryptMethod: {
138
+ readonly NONE_OTHER: "0";
139
+ readonly PKCS: "1";
140
+ readonly DES: "2";
141
+ readonly PKCS_DES: "3";
142
+ readonly PGP_DES: "4";
143
+ readonly PGP_DES_MD5: "5";
144
+ readonly PEM_DES_MD5: "6";
145
+ };
146
+ type EncryptMethod = (typeof EncryptMethod)[keyof typeof EncryptMethod];
147
+ /** `GapFillFlag` (tag 123) values keyed by spec value name. */
148
+ declare const GapFillFlag: {
149
+ readonly SEQUENCE_RESET_IGNORE_MSG_SEQ_NUM: "N";
150
+ readonly GAP_FILL_MESSAGE_MSG_SEQ_NUM_FIELD_VALID: "Y";
151
+ };
152
+ type GapFillFlag = (typeof GapFillFlag)[keyof typeof GapFillFlag];
153
+ /** `MsgDirection` (tag 385) values keyed by spec value name. */
154
+ declare const MsgDirection: {
155
+ readonly RECEIVE: "R";
156
+ readonly SEND: "S";
157
+ };
158
+ type MsgDirection = (typeof MsgDirection)[keyof typeof MsgDirection];
159
+ /** `PossDupFlag` (tag 43) values keyed by spec value name. */
160
+ declare const PossDupFlag: {
161
+ readonly ORIGINAL_TRANSMISSION: "N";
162
+ readonly POSSIBLE_DUPLICATE: "Y";
163
+ };
164
+ type PossDupFlag = (typeof PossDupFlag)[keyof typeof PossDupFlag];
165
+ /** `PossResend` (tag 97) values keyed by spec value name. */
166
+ declare const PossResend: {
167
+ readonly ORIGINAL_TRANSMISSION: "N";
168
+ readonly POSSIBLE_RESEND: "Y";
169
+ };
170
+ type PossResend = (typeof PossResend)[keyof typeof PossResend];
171
+ /** `ResetSeqNumFlag` (tag 141) values keyed by spec value name. */
172
+ declare const ResetSeqNumFlag: {
173
+ readonly NO: "N";
174
+ readonly YES_RESET_SEQUENCE_NUMBERS: "Y";
175
+ };
176
+ type ResetSeqNumFlag = (typeof ResetSeqNumFlag)[keyof typeof ResetSeqNumFlag];
177
+ /** `SessionRejectReason` (tag 373) values keyed by spec value name. */
178
+ declare const SessionRejectReason: {
179
+ readonly INVALID_TAG_NUMBER: "0";
180
+ readonly REQUIRED_TAG_MISSING: "1";
181
+ readonly TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE: "2";
182
+ readonly UNDEFINED_TAG: "3";
183
+ readonly TAG_SPECIFIED_WITHOUT_A_VALUE: "4";
184
+ readonly VALUE_IS_INCORRECT: "5";
185
+ readonly INCORRECT_DATA_FORMAT_FOR_VALUE: "6";
186
+ readonly DECRYPTION_PROBLEM: "7";
187
+ readonly SIGNATURE_PROBLEM: "8";
188
+ readonly COMPID_PROBLEM: "9";
189
+ readonly SENDINGTIME_ACCURACY_PROBLEM: "10";
190
+ readonly INVALID_MSGTYPE: "11";
191
+ readonly XML_VALIDATION_ERROR: "12";
192
+ readonly TAG_APPEARS_MORE_THAN_ONCE: "13";
193
+ readonly TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER: "14";
194
+ readonly REPEATING_GROUP_FIELDS_OUT_OF_ORDER: "15";
195
+ readonly INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP: "16";
196
+ readonly NON_DATA_VALUE_INCLUDES_FIELD_DELIMITER: "17";
197
+ readonly INVALID_UNSUPPORTED_APPLICATION_VERSION: "18";
198
+ readonly OTHER: "99";
199
+ };
200
+ type SessionRejectReason = (typeof SessionRejectReason)[keyof typeof SessionRejectReason];
201
+ /** `SessionStatus` (tag 1409) values keyed by spec value name. */
202
+ declare const SessionStatus: {
203
+ readonly SESSION_ACTIVE: "0";
204
+ readonly SESSION_PASSWORD_CHANGED: "1";
205
+ readonly SESSION_PASSWORD_DUE_TO_EXPIRE: "2";
206
+ readonly NEW_SESSION_PASSWORD_DOES_NOT_COMPLY_WITH_POLICY: "3";
207
+ readonly SESSION_LOGOUT_COMPLETE: "4";
208
+ readonly INVALID_USERNAME_OR_PASSWORD: "5";
209
+ readonly ACCOUNT_LOCKED: "6";
210
+ readonly LOGONS_ARE_NOT_ALLOWED_AT_THIS_TIME: "7";
211
+ readonly PASSWORD_EXPIRED: "8";
212
+ };
213
+ type SessionStatus = (typeof SessionStatus)[keyof typeof SessionStatus];
214
+ /** `TestMessageIndicator` (tag 464) values keyed by spec value name. */
215
+ declare const TestMessageIndicator: {
216
+ readonly FALES: "N";
217
+ readonly TRUE: "Y";
218
+ };
219
+ type TestMessageIndicator = (typeof TestMessageIndicator)[keyof typeof TestMessageIndicator];
220
+ /**
221
+ * Enumerated field values: field name → spec value name → on-the-wire string.
222
+ * `Enums.MDEntryType.BID === "0"`. Values are wire-verbatim strings even for
223
+ * int-typed fields (`Enums.SessionRejectReason.INVALID_TAG_NUMBER === "0"`),
224
+ * so they compare directly against tokenizer and parser output. Fields are
225
+ * sorted by name; values keep the spec's order. Names that start with a digit
226
+ * (`"401K"`) need bracket access. Each entry references the top-level const
227
+ * of the same name (`Enums.MDEntryType === MDEntryType`).
228
+ * Exceptions with no top-level const, inlined here: `MsgType` — see the note on each entry.
229
+ */
230
+ declare const Enums: {
231
+ readonly ApplVerID: {
232
+ readonly FIX27: "0";
233
+ readonly FIX30: "1";
234
+ readonly FIX40: "2";
235
+ readonly FIX41: "3";
236
+ readonly FIX42: "4";
237
+ readonly FIX43: "5";
238
+ readonly FIX44: "6";
239
+ readonly FIX50: "7";
240
+ readonly FIX50SP1: "8";
241
+ readonly FIX50SP2: "9";
242
+ readonly FIXLatest: "10";
243
+ };
244
+ readonly EncryptMethod: {
245
+ readonly NONE_OTHER: "0";
246
+ readonly PKCS: "1";
247
+ readonly DES: "2";
248
+ readonly PKCS_DES: "3";
249
+ readonly PGP_DES: "4";
250
+ readonly PGP_DES_MD5: "5";
251
+ readonly PEM_DES_MD5: "6";
252
+ };
253
+ readonly GapFillFlag: {
254
+ readonly SEQUENCE_RESET_IGNORE_MSG_SEQ_NUM: "N";
255
+ readonly GAP_FILL_MESSAGE_MSG_SEQ_NUM_FIELD_VALID: "Y";
256
+ };
257
+ readonly MsgDirection: {
258
+ readonly RECEIVE: "R";
259
+ readonly SEND: "S";
260
+ };
261
+ readonly MsgType: {
262
+ readonly HEARTBEAT: "0";
263
+ readonly TEST_REQUEST: "1";
264
+ readonly RESEND_REQUEST: "2";
265
+ readonly REJECT: "3";
266
+ readonly SEQUENCE_RESET: "4";
267
+ readonly LOGOUT: "5";
268
+ readonly INDICATION_OF_INTEREST: "6";
269
+ readonly ADVERTISEMENT: "7";
270
+ readonly EXECUTION_REPORT: "8";
271
+ readonly ORDER_CANCEL_REJECT: "9";
272
+ readonly LOGON: "A";
273
+ readonly NEWS: "B";
274
+ readonly EMAIL: "C";
275
+ readonly ORDER_SINGLE: "D";
276
+ readonly ORDER_LIST: "E";
277
+ readonly ORDER_CANCEL_REQUEST: "F";
278
+ readonly ORDER_CANCEL_REPLACE_REQUEST: "G";
279
+ readonly ORDER_STATUS_REQUEST: "H";
280
+ readonly ALLOCATION_INSTRUCTION: "J";
281
+ readonly LIST_CANCEL_REQUEST: "K";
282
+ readonly LIST_EXECUTE: "L";
283
+ readonly LIST_STATUS_REQUEST: "M";
284
+ readonly LIST_STATUS: "N";
285
+ readonly ALLOCATION_INSTRUCTION_ACK: "P";
286
+ readonly DONT_KNOW_TRADE: "Q";
287
+ readonly QUOTE_REQUEST: "R";
288
+ readonly QUOTE: "S";
289
+ readonly SETTLEMENT_INSTRUCTIONS: "T";
290
+ readonly MARKET_DATA_REQUEST: "V";
291
+ readonly MARKET_DATA_SNAPSHOT_FULL_REFRESH: "W";
292
+ readonly MARKET_DATA_INCREMENTAL_REFRESH: "X";
293
+ readonly MARKET_DATA_REQUEST_REJECT: "Y";
294
+ readonly QUOTE_CANCEL: "Z";
295
+ readonly QUOTE_STATUS_REQUEST: "a";
296
+ readonly MASS_QUOTE_ACKNOWLEDGEMENT: "b";
297
+ readonly SECURITY_DEFINITION_REQUEST: "c";
298
+ readonly SECURITY_DEFINITION: "d";
299
+ readonly SECURITY_STATUS_REQUEST: "e";
300
+ readonly SECURITY_STATUS: "f";
301
+ readonly TRADING_SESSION_STATUS_REQUEST: "g";
302
+ readonly TRADING_SESSION_STATUS: "h";
303
+ readonly MASS_QUOTE: "i";
304
+ readonly BUSINESS_MESSAGE_REJECT: "j";
305
+ readonly BID_REQUEST: "k";
306
+ readonly BID_RESPONSE: "l";
307
+ readonly LIST_STRIKE_PRICE: "m";
308
+ readonly XML_MESSAGE: "n";
309
+ readonly REGISTRATION_INSTRUCTIONS: "o";
310
+ readonly REGISTRATION_INSTRUCTIONS_RESPONSE: "p";
311
+ readonly ORDER_MASS_CANCEL_REQUEST: "q";
312
+ readonly ORDER_MASS_CANCEL_REPORT: "r";
313
+ readonly NEW_ORDER_CROSS: "s";
314
+ readonly CROSS_ORDER_CANCEL_REPLACE_REQUEST: "t";
315
+ readonly CROSS_ORDER_CANCEL_REQUEST: "u";
316
+ readonly SECURITY_TYPE_REQUEST: "v";
317
+ readonly SECURITY_TYPES: "w";
318
+ readonly SECURITY_LIST_REQUEST: "x";
319
+ readonly SECURITY_LIST: "y";
320
+ readonly DERIVATIVE_SECURITY_LIST_REQUEST: "z";
321
+ readonly DERIVATIVE_SECURITY_LIST: "AA";
322
+ readonly NEW_ORDER_MULTILEG: "AB";
323
+ readonly MULTILEG_ORDER_CANCEL_REPLACE: "AC";
324
+ readonly TRADE_CAPTURE_REPORT_REQUEST: "AD";
325
+ readonly TRADE_CAPTURE_REPORT: "AE";
326
+ readonly ORDER_MASS_STATUS_REQUEST: "AF";
327
+ readonly QUOTE_REQUEST_REJECT: "AG";
328
+ readonly RFQ_REQUEST: "AH";
329
+ readonly QUOTE_STATUS_REPORT: "AI";
330
+ readonly QUOTE_RESPONSE: "AJ";
331
+ readonly CONFIRMATION: "AK";
332
+ readonly POSITION_MAINTENANCE_REQUEST: "AL";
333
+ readonly POSITION_MAINTENANCE_REPORT: "AM";
334
+ readonly REQUEST_FOR_POSITIONS: "AN";
335
+ readonly REQUEST_FOR_POSITIONS_ACK: "AO";
336
+ readonly POSITION_REPORT: "AP";
337
+ readonly TRADE_CAPTURE_REPORT_REQUEST_ACK: "AQ";
338
+ readonly TRADE_CAPTURE_REPORT_ACK: "AR";
339
+ readonly ALLOCATION_REPORT: "AS";
340
+ readonly ALLOCATION_REPORT_ACK: "AT";
341
+ readonly CONFIRMATION_ACK: "AU";
342
+ readonly SETTLEMENT_INSTRUCTION_REQUEST: "AV";
343
+ readonly ASSIGNMENT_REPORT: "AW";
344
+ readonly COLLATERAL_REQUEST: "AX";
345
+ readonly COLLATERAL_ASSIGNMENT: "AY";
346
+ readonly COLLATERAL_RESPONSE: "AZ";
347
+ readonly ORDER_MASS_ACTION_REQUEST: "CA";
348
+ readonly USER_NOTIFICATION: "CB";
349
+ readonly STREAM_ASSIGNMENT_REQUEST: "CC";
350
+ readonly STREAM_ASSIGNMENT_REPORT: "CD";
351
+ readonly STREAM_ASSIGNMENT_REPORT_ACK: "CE";
352
+ readonly COLLATERAL_REPORT: "BA";
353
+ readonly COLLATERAL_INQUIRY: "BB";
354
+ readonly NETWORK_STATUS_REQUEST: "BC";
355
+ readonly NETWORK_STATUS_RESPONSE: "BD";
356
+ readonly USER_REQUEST: "BE";
357
+ readonly USER_RESPONSE: "BF";
358
+ readonly COLLATERAL_INQUIRY_ACK: "BG";
359
+ readonly CONFIRMATION_REQUEST: "BH";
360
+ readonly TRADING_SESSION_LIST_REQUEST: "BI";
361
+ readonly TRADING_SESSION_LIST: "BJ";
362
+ readonly SECURITY_LIST_UPDATE_REPORT: "BK";
363
+ readonly ADJUSTED_POSITION_REPORT: "BL";
364
+ readonly ALLOCATION_INSTRUCTION_ALERT: "BM";
365
+ readonly EXECUTION_ACKNOWLEDGEMENT: "BN";
366
+ readonly CONTRARY_INTENTION_REPORT: "BO";
367
+ readonly SECURITY_DEFINITION_UPDATE_REPORT: "BP";
368
+ readonly SETTLEMENT_OBLIGATION_REPORT: "BQ";
369
+ readonly DERIVATIVE_SECURITY_LIST_UPDATE_REPORT: "BR";
370
+ readonly TRADING_SESSION_LIST_UPDATER_EPORT: "BS";
371
+ readonly MARKET_DEFINITION_REQUEST: "BT";
372
+ readonly MARKET_DEFINITION: "BU";
373
+ readonly MARKET_DEFINITION_UPDATE_REPORT: "BV";
374
+ readonly APPLICATION_MESSAGE_REQUEST: "BW";
375
+ readonly APPLICATION_MESSAGE_REQUEST_ACK: "BX";
376
+ readonly APPLICATION_MESSAGE_REPORT: "BY";
377
+ readonly ORDER_MASS_ACTION_REPORT: "BZ";
378
+ };
379
+ readonly PossDupFlag: {
380
+ readonly ORIGINAL_TRANSMISSION: "N";
381
+ readonly POSSIBLE_DUPLICATE: "Y";
382
+ };
383
+ readonly PossResend: {
384
+ readonly ORIGINAL_TRANSMISSION: "N";
385
+ readonly POSSIBLE_RESEND: "Y";
386
+ };
387
+ readonly ResetSeqNumFlag: {
388
+ readonly NO: "N";
389
+ readonly YES_RESET_SEQUENCE_NUMBERS: "Y";
390
+ };
391
+ readonly SessionRejectReason: {
392
+ readonly INVALID_TAG_NUMBER: "0";
393
+ readonly REQUIRED_TAG_MISSING: "1";
394
+ readonly TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE: "2";
395
+ readonly UNDEFINED_TAG: "3";
396
+ readonly TAG_SPECIFIED_WITHOUT_A_VALUE: "4";
397
+ readonly VALUE_IS_INCORRECT: "5";
398
+ readonly INCORRECT_DATA_FORMAT_FOR_VALUE: "6";
399
+ readonly DECRYPTION_PROBLEM: "7";
400
+ readonly SIGNATURE_PROBLEM: "8";
401
+ readonly COMPID_PROBLEM: "9";
402
+ readonly SENDINGTIME_ACCURACY_PROBLEM: "10";
403
+ readonly INVALID_MSGTYPE: "11";
404
+ readonly XML_VALIDATION_ERROR: "12";
405
+ readonly TAG_APPEARS_MORE_THAN_ONCE: "13";
406
+ readonly TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER: "14";
407
+ readonly REPEATING_GROUP_FIELDS_OUT_OF_ORDER: "15";
408
+ readonly INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP: "16";
409
+ readonly NON_DATA_VALUE_INCLUDES_FIELD_DELIMITER: "17";
410
+ readonly INVALID_UNSUPPORTED_APPLICATION_VERSION: "18";
411
+ readonly OTHER: "99";
412
+ };
413
+ readonly SessionStatus: {
414
+ readonly SESSION_ACTIVE: "0";
415
+ readonly SESSION_PASSWORD_CHANGED: "1";
416
+ readonly SESSION_PASSWORD_DUE_TO_EXPIRE: "2";
417
+ readonly NEW_SESSION_PASSWORD_DOES_NOT_COMPLY_WITH_POLICY: "3";
418
+ readonly SESSION_LOGOUT_COMPLETE: "4";
419
+ readonly INVALID_USERNAME_OR_PASSWORD: "5";
420
+ readonly ACCOUNT_LOCKED: "6";
421
+ readonly LOGONS_ARE_NOT_ALLOWED_AT_THIS_TIME: "7";
422
+ readonly PASSWORD_EXPIRED: "8";
423
+ };
424
+ readonly TestMessageIndicator: {
425
+ readonly FALES: "N";
426
+ readonly TRUE: "Y";
427
+ };
428
+ };
429
+ type EnumFieldName = keyof typeof Enums;
430
+ /** `HopGrp` component fields. */
431
+ interface HopGrpFields {
432
+ NoHops?: HopGrp_NoHopsEntry[];
433
+ }
434
+ /** `MsgTypeGrp` component fields. */
435
+ interface MsgTypeGrpFields {
436
+ NoMsgTypes?: MsgTypeGrp_NoMsgTypesEntry[];
437
+ }
438
+ /** One `NoHops` (627) repeating-group entry. */
439
+ interface HopGrp_NoHopsEntry {
440
+ HopCompID?: string;
441
+ HopSendingTime?: string;
442
+ HopRefID?: number | string;
443
+ }
444
+ /** One `NoMsgTypes` (384) repeating-group entry. */
445
+ interface MsgTypeGrp_NoMsgTypesEntry {
446
+ RefMsgType?: string;
447
+ MsgDirection?: MsgDirection;
448
+ RefApplVerID?: string;
449
+ RefApplExtID?: number | string;
450
+ RefCstmApplVerID?: string;
451
+ DefaultVerIndicator?: boolean;
452
+ }
453
+ /** `Heartbeat` (`0`) message body — settable fields/groups, excluding the header/trailer envelope. */
454
+ type HeartbeatBody = {
455
+ TestReqID?: string;
456
+ };
457
+ /** `TestRequest` (`1`) message body — settable fields/groups, excluding the header/trailer envelope. */
458
+ type TestRequestBody = {
459
+ TestReqID: string;
460
+ };
461
+ /** `ResendRequest` (`2`) message body — settable fields/groups, excluding the header/trailer envelope. */
462
+ type ResendRequestBody = {
463
+ BeginSeqNo: number | string;
464
+ EndSeqNo: number | string;
465
+ };
466
+ /** `Reject` (`3`) message body — settable fields/groups, excluding the header/trailer envelope. */
467
+ type RejectBody = {
468
+ RefSeqNum: number | string;
469
+ RefTagID?: number | string;
470
+ RefMsgType?: string;
471
+ RefApplVerID?: string;
472
+ RefApplExtID?: number | string;
473
+ RefCstmApplVerID?: string;
474
+ SessionRejectReason?: SessionRejectReason | number;
475
+ Text?: string;
476
+ EncodedTextLen?: number | string;
477
+ EncodedText?: string;
478
+ };
479
+ /** `SequenceReset` (`4`) message body — settable fields/groups, excluding the header/trailer envelope. */
480
+ type SequenceResetBody = {
481
+ GapFillFlag?: boolean;
482
+ NewSeqNo: number | string;
483
+ };
484
+ /** `Logout` (`5`) message body — settable fields/groups, excluding the header/trailer envelope. */
485
+ type LogoutBody = {
486
+ SessionStatus?: SessionStatus | number;
487
+ Text?: string;
488
+ EncodedTextLen?: number | string;
489
+ EncodedText?: string;
490
+ };
491
+ /** `Logon` (`A`) message body — settable fields/groups, excluding the header/trailer envelope. */
492
+ type LogonBody = {
493
+ EncryptMethod: EncryptMethod | number;
494
+ HeartBtInt: number | string;
495
+ RawDataLength?: number | string;
496
+ RawData?: string;
497
+ ResetSeqNumFlag?: boolean;
498
+ NextExpectedMsgSeqNum?: number | string;
499
+ MaxMessageSize?: number | string;
500
+ TestMessageIndicator?: boolean;
501
+ Username?: string;
502
+ Password?: string;
503
+ NewPassword?: string;
504
+ EncryptedPasswordMethod?: number | string;
505
+ EncryptedPasswordLen?: number | string;
506
+ EncryptedPassword?: string;
507
+ EncryptedNewPasswordLen?: number | string;
508
+ EncryptedNewPassword?: string;
509
+ SessionStatus?: SessionStatus | number;
510
+ DefaultApplVerID: string;
511
+ DefaultApplExtID?: number | string;
512
+ DefaultCstmApplVerID?: string;
513
+ Text?: string;
514
+ EncodedTextLen?: number | string;
515
+ EncodedText?: string;
516
+ } & Partial<MsgTypeGrpFields>;
517
+ /**
518
+ * Every message body keyed by its `MsgType` (tag 35) wire value — the type registry that
519
+ * makes `message(msgType)` / `engine.create(msgType)` return a builder typed to exactly
520
+ * that message. First-definition-wins on a duplicate `MsgType`, matching the runtime
521
+ * `Dictionary.messageByMsgType`. Extend it with new messages via declaration merging.
522
+ */
523
+ interface MessageBodies {
524
+ "0": HeartbeatBody;
525
+ "1": TestRequestBody;
526
+ "2": ResendRequestBody;
527
+ "3": RejectBody;
528
+ "4": SequenceResetBody;
529
+ "5": LogoutBody;
530
+ "A": LogonBody;
531
+ }
532
+ /**
533
+ * A typed, self-rendering message factory bound to this dictionary. Call it with a `MsgType`
534
+ * value (e.g. `MsgType.MarketDataSnapshotFullRefresh`, the literal `"W"`) to build a
535
+ * strongly-typed `MutableMessage`; use `message.immutable(...)` for the copy-on-write
536
+ * variant. Supply the envelope (session/header fields) to `.render(envelope)`.
537
+ *
538
+ * ```ts
539
+ * const wire = message('W')
540
+ * .set('MDReqID', 'req-1')
541
+ * .set('NoMDEntries', [{ MDEntryType: '0', MDEntryPx: '1.2345' }])
542
+ * .render({ SenderCompID: 'ME', TargetCompID: 'YOU', MsgSeqNum: 1, SendingTime: '20260716-12:00:00' });
543
+ * ```
544
+ */
545
+ declare const message: MessageFactory<MessageBodies>;
546
+ /**
547
+ * A typed message-narrowing guard bound to this dictionary's `MessageBodies` — the read-side
548
+ * counterpart of `message`. Given a message of unknown body (a `MessageView<any>`, e.g. at a
549
+ * generic `send(message)` boundary where the concrete `MsgType` is erased) and a `MsgType`
550
+ * value, it narrows the message so its `get()`/`has()` reads are typed to that message's body —
551
+ * no `any`, no casts. Runtime is a plain `msgType` compare; the narrowing comes entirely from
552
+ * `MessageBodies[M]`. It narrows to the read surface `MessageView` (shared by the mutable and
553
+ * immutable message), not the mutable/immutable kind.
554
+ *
555
+ * ```ts
556
+ * if (isMessageType(msg, 'W')) {
557
+ * // msg: MessageView<MarketDataSnapshotFullRefreshBody>
558
+ * const px = msg.get('NoMDEntries')?.[0]?.MDEntryPx;
559
+ * }
560
+ * ```
561
+ */
562
+ declare const isMessageType: _boarteam_fix.MessageTypeGuard<MessageBodies>;
563
+ /**
564
+ * The read surface (`MessageView`) of the message whose `MsgType` value is `M` — a
565
+ * convenience alias for annotating a narrowed message. `MessageOf<'W'>` is
566
+ * `MessageView<MarketDataSnapshotFullRefreshBody>`.
567
+ */
568
+ type MessageOf<M extends keyof MessageBodies & string> = MessageView<MessageBodies[M] & object>;
569
+
570
+ export { ApplVerID, DICTIONARY_VERSION, EncryptMethod, type EnumFieldName, Enums, GapFillFlag, type HeartbeatBody, type HopGrpFields, type HopGrp_NoHopsEntry, type LogonBody, type LogoutBody, type MessageBodies, type MessageOf, MsgDirection, MsgType, type MsgTypeGrpFields, type MsgTypeGrp_NoMsgTypesEntry, type MsgTypeName, MsgTypeNames, PossDupFlag, PossResend, type RejectBody, type ResendRequestBody, ResetSeqNumFlag, type SequenceResetBody, SessionRejectReason, SessionStatus, type TagName, TagNames, Tags, TestMessageIndicator, type TestRequestBody, dictionary, isMessageType, message };