testaro-issues 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -3,10 +3,10 @@ declare const outcomes: readonly ['failed', 'cantTell'];
3
3
  declare const uncertainties: readonly ['not-computable', 'judgement-required', 'runtime-dependent', 'spec-only', 'equivalence-unknown', 'out-of-scope'];
4
4
  declare const whyIgnore: readonly ['duplicative', 'invalid', 'irrelevant', 'speculative', 'unreliable'];
5
5
  type IssueID = keyof typeof issuesData;
6
- type IssueEngineRuleCounts = Record<string, number>;
7
- type Outcome = typeof outcomes[number];
8
- type Uncertainty = typeof uncertainties[number];
9
- type WhyIgnore = typeof whyIgnore[number];
6
+ export type IssueEngineRuleCounts = Record<string, number>;
7
+ export type Outcome = typeof outcomes[number];
8
+ export type Uncertainty = typeof uncertainties[number];
9
+ export type WhyIgnore = typeof whyIgnore[number];
10
10
  interface Issue {
11
11
  summary: string;
12
12
  why: string;
@@ -14,7 +14,7 @@ interface Issue {
14
14
  weight: number;
15
15
  max?: number;
16
16
  }
17
- interface ruleIDsByType {
17
+ export interface ruleIDsByType {
18
18
  invariant: string[];
19
19
  variable: string[];
20
20
  }
@@ -75,6 +75,12 @@ declare const issuesData: {
75
75
  readonly wcag: '2.2.2';
76
76
  readonly weight: 3;
77
77
  };
78
+ readonly animationTriggered: {
79
+ readonly summary: 'interaction triggers unpreventable animation';
80
+ readonly why: 'Motion-sensitive user may suffer harm';
81
+ readonly wcag: '2.3.3';
82
+ readonly weight: 3;
83
+ };
78
84
  readonly appletNoText: {
79
85
  readonly summary: 'applet not named';
80
86
  readonly why: 'User cannot get help on how to use a custom item';
@@ -207,6 +213,12 @@ declare const issuesData: {
207
213
  readonly wcag: '1.2.1';
208
214
  readonly weight: 1;
209
215
  };
216
+ readonly autoAuthBanned: {
217
+ readonly summary: 'login automation prohibited';
218
+ readonly why: 'User cannot get help needed for logging in';
219
+ readonly wcag: '3.3.8';
220
+ readonly weight: 4;
221
+ };
210
222
  readonly autocompleteBad: {
211
223
  readonly summary: 'autocomplete invalid';
212
224
  readonly why: 'User cannot get help entering personal information in a form item';
@@ -316,6 +328,12 @@ declare const issuesData: {
316
328
  readonly wcag: '1.4.4';
317
329
  readonly weight: 3;
318
330
  };
331
+ readonly brailleOnly: {
332
+ readonly summary: 'element has only a Braille name or role';
333
+ readonly why: 'User cannot get help understanding an item';
334
+ readonly wcag: '4.1.2';
335
+ readonly weight: 4;
336
+ };
319
337
  readonly browserSupportRisk: {
320
338
  readonly summary: 'inputmode attribute';
321
339
  readonly why: 'Page may include code that the browser cannot process';
@@ -324,7 +342,7 @@ declare const issuesData: {
324
342
  };
325
343
  readonly buttonAlt: {
326
344
  readonly summary: 'button has alt';
327
- readonly why: 'User cannot get help explaing a button';
345
+ readonly why: 'User cannot get help explaining a button';
328
346
  readonly wcag: '4.1.2';
329
347
  readonly weight: 4;
330
348
  };
@@ -547,9 +565,9 @@ declare const issuesData: {
547
565
  readonly weight: 1;
548
566
  };
549
567
  readonly directionRisk: {
550
- readonly summary: 'dubious direction';
551
- readonly why: 'Item may behave incorrectly';
552
- readonly wcag: '1.3.2';
568
+ readonly summary: 'text direction wrong?';
569
+ readonly why: 'Helper may misread text to the user';
570
+ readonly wcag: '4.1';
553
571
  readonly weight: 1;
554
572
  };
555
573
  readonly divInTable: {
@@ -592,6 +610,12 @@ declare const issuesData: {
592
610
  readonly wcag: '1.3.6';
593
611
  readonly weight: 3;
594
612
  };
613
+ readonly dragAlt: {
614
+ readonly summary: 'no single-pointer alternative to dragging';
615
+ readonly why: 'Click-only user cannot perform an operation';
616
+ readonly wcag: '2.5.7';
617
+ readonly weight: 4;
618
+ };
595
619
  readonly duplicateAttribute: {
596
620
  readonly summary: 'duplicate attribute';
597
621
  readonly why: 'Browser processes the page improperly';
@@ -740,6 +764,12 @@ declare const issuesData: {
740
764
  readonly wcag: '4.1.2';
741
765
  readonly weight: 3;
742
766
  };
767
+ readonly focusCovered: {
768
+ readonly summary: 'focused element covered';
769
+ readonly why: 'User cannot see which item will be operated on';
770
+ readonly wcag: '2.4.11';
771
+ readonly weight: 4;
772
+ };
743
773
  readonly focusDiscrepancy: {
744
774
  readonly summary: 'Tab-focusable elements wrong';
745
775
  readonly why: 'Item selections by a keyboard-only user are useless or impossible';
@@ -770,6 +800,12 @@ declare const issuesData: {
770
800
  readonly wcag: '2.4.7';
771
801
  readonly weight: 1;
772
802
  };
803
+ readonly focusSurprise: {
804
+ readonly summary: 'autofocus unexpected';
805
+ readonly why: 'Unexpected navigation to an item confuses the user';
806
+ readonly wcag: '3.2.5';
807
+ readonly weight: 2;
808
+ };
773
809
  readonly fontSizeAbsolute: {
774
810
  readonly summary: 'font size absolute';
775
811
  readonly why: 'User cannot adjust the text size for readability';
@@ -978,6 +1014,12 @@ declare const issuesData: {
978
1014
  readonly wcag: '1.3.1';
979
1015
  readonly weight: 4;
980
1016
  };
1017
+ readonly iframeConfusion: {
1018
+ readonly summary: 'different iframes named identically';
1019
+ readonly why: 'User gets incorrect help about parts of a page';
1020
+ readonly wcag: '4.1.2';
1021
+ readonly weight: 1;
1022
+ };
981
1023
  readonly iframeTitleBad: {
982
1024
  readonly summary: 'iframe not named';
983
1025
  readonly why: 'User cannot get help on the topic of an embedded page';
@@ -1026,6 +1068,12 @@ declare const issuesData: {
1026
1068
  readonly wcag: '1.1.1';
1027
1069
  readonly weight: 4;
1028
1070
  };
1071
+ readonly imageMapServerSide: {
1072
+ readonly summary: 'image map is server-side';
1073
+ readonly why: 'Keyboard-only user cannot choose a region of an image';
1074
+ readonly wcag: '2.1.1';
1075
+ readonly weight: 4;
1076
+ };
1029
1077
  readonly imageNoText: {
1030
1078
  readonly summary: 'image not named';
1031
1079
  readonly why: 'User cannot get help to know what is in an image';
@@ -1110,6 +1158,18 @@ declare const issuesData: {
1110
1158
  readonly wcag: '4.1.2';
1111
1159
  readonly weight: 3;
1112
1160
  };
1161
+ readonly inputRepeat: {
1162
+ readonly summary: 'form requires non-automatic duplicate re-entry';
1163
+ readonly why: 'Form completion is slower and more difficult than necessary';
1164
+ readonly wcag: '3.3.7';
1165
+ readonly weight: 4;
1166
+ };
1167
+ readonly inputSurprise: {
1168
+ readonly summary: 'operating on an input unexpectedly alters the page';
1169
+ readonly why: 'User cannot predict the effect of using a form';
1170
+ readonly wcag: '3.2.2';
1171
+ readonly weight: 4;
1172
+ };
1113
1173
  readonly internalLinkBroken: {
1114
1174
  readonly summary: 'internal link broken';
1115
1175
  readonly why: 'User cannot reach a promised page location';
@@ -1576,6 +1636,12 @@ declare const issuesData: {
1576
1636
  readonly wcag: '4.1';
1577
1637
  readonly weight: 3;
1578
1638
  };
1639
+ readonly obsoleteMotion: {
1640
+ readonly summary: 'obsolete element creates non-stoppable motion';
1641
+ readonly why: 'Motion-sensitive user suffers harm';
1642
+ readonly wcag: '2.2.2';
1643
+ readonly weight: 4;
1644
+ };
1579
1645
  readonly optionNoText: {
1580
1646
  readonly summary: 'option not named';
1581
1647
  readonly why: 'User cannot get help to understand an option';
@@ -1762,6 +1828,12 @@ declare const issuesData: {
1762
1828
  readonly wcag: '3.2.4';
1763
1829
  readonly weight: 1;
1764
1830
  };
1831
+ readonly reflow: {
1832
+ readonly summary: 'non-reflowing content forces 2D scrolling';
1833
+ readonly why: 'Reading content is slow and difficult';
1834
+ readonly wcag: '1.4.10';
1835
+ readonly weight: 4;
1836
+ };
1765
1837
  readonly refresh: {
1766
1838
  readonly summary: 'element reloads or redirects';
1767
1839
  readonly why: 'Page change may surprise a user';
@@ -2107,6 +2179,12 @@ declare const issuesData: {
2107
2179
  readonly wcag: '2.1.1';
2108
2180
  readonly weight: 2;
2109
2181
  };
2182
+ readonly tabOrderBad: {
2183
+ readonly summary: 'keyboard navigation sequence wrong';
2184
+ readonly why: 'Sequential navigation moves in a meaningless or useless order';
2185
+ readonly wcag: '2.4.3';
2186
+ readonly weight: 3;
2187
+ };
2110
2188
  readonly tabularTableless: {
2111
2189
  readonly summary: 'table not marked as such';
2112
2190
  readonly why: 'Helper misinforms a user about whether items are cells of a table';
@@ -2264,6 +2342,12 @@ declare const issuesData: {
2264
2342
  readonly wcag: '2.5.3';
2265
2343
  readonly weight: 3;
2266
2344
  };
2345
+ readonly visualSequenceDeviant: {
2346
+ readonly summary: 'visual and programmatic content sequences differ';
2347
+ readonly why: 'Sequence of page items confuses the user';
2348
+ readonly wcag: '1.3.2';
2349
+ readonly weight: 2;
2350
+ };
2267
2351
  readonly zIndexNotZero: {
2268
2352
  readonly summary: 'z-index not zero';
2269
2353
  readonly why: 'User cannot predict the effect of clicking';
@@ -2271,22 +2355,21 @@ declare const issuesData: {
2271
2355
  readonly weight: 1;
2272
2356
  };
2273
2357
  };
2274
- declare const issues: Readonly<Record<string, Issue>>;
2275
- declare const rules: Readonly<Record<string, EngineRules>>;
2276
- declare const makeIssueRules: (ruleTable: Record<string, EngineRules>, issueTable?: Record<string, Issue>) => Record<string, Record<string, ruleIDsByType>>;
2277
- declare const getEditableData: () => {
2358
+ export declare const issues: Readonly<Record<string, Issue>>;
2359
+ export declare const rules: Readonly<Record<string, EngineRules>>;
2360
+ export declare const makeIssueRules: (ruleTable: Record<string, EngineRules>, issueTable?: Record<string, Issue>) => Record<string, Record<string, ruleIDsByType>>;
2361
+ export declare const getEditableData: () => {
2278
2362
  issues: Readonly<Record<string, Issue>>;
2279
2363
  rules: Readonly<Record<string, EngineRules>>;
2280
2364
  issueRules: Record<string, Record<string, ruleIDsByType>>;
2281
2365
  };
2282
- declare const makeIssueStats: (issueRuleTable?: Record<string, Record<string, ruleIDsByType>>) => Record<string, IssueEngineRuleCounts>;
2283
- declare const getSingleEngineIssues: (stats?: Record<string, IssueEngineRuleCounts>) => Array<{
2366
+ export declare const makeIssueStats: (issueRuleTable?: Record<string, Record<string, ruleIDsByType>>) => Record<string, IssueEngineRuleCounts>;
2367
+ export declare const getSingleEngineIssues: (stats?: Record<string, IssueEngineRuleCounts>) => Array<{
2284
2368
  issueID: string;
2285
2369
  engineID: string;
2286
2370
  ruleCount: number;
2287
2371
  }>;
2288
- declare const getEngineRuleCounts: (ruleTable?: Record<string, EngineRules>) => Record<string, number>;
2289
- declare const issueRules: Record<string, Record<string, ruleIDsByType>>;
2290
- declare const issueStats: Record<string, IssueEngineRuleCounts>;
2291
- //#endregion
2292
- export { IssueEngineRuleCounts, Outcome, Uncertainty, WhyIgnore, getEditableData, getEngineRuleCounts, getSingleEngineIssues, issueRules, issueStats, issues, makeIssueRules, makeIssueStats, ruleIDsByType, rules };
2372
+ export declare const getEngineRuleCounts: (ruleTable?: Record<string, EngineRules>) => Record<string, number>;
2373
+ export declare const issueRules: Record<string, Record<string, ruleIDsByType>>;
2374
+ export declare const issueStats: Record<string, IssueEngineRuleCounts>;
2375
+ //#endregion
package/dist/index.d.mts CHANGED
@@ -3,10 +3,10 @@ declare const outcomes: readonly ['failed', 'cantTell'];
3
3
  declare const uncertainties: readonly ['not-computable', 'judgement-required', 'runtime-dependent', 'spec-only', 'equivalence-unknown', 'out-of-scope'];
4
4
  declare const whyIgnore: readonly ['duplicative', 'invalid', 'irrelevant', 'speculative', 'unreliable'];
5
5
  type IssueID = keyof typeof issuesData;
6
- type IssueEngineRuleCounts = Record<string, number>;
7
- type Outcome = typeof outcomes[number];
8
- type Uncertainty = typeof uncertainties[number];
9
- type WhyIgnore = typeof whyIgnore[number];
6
+ export type IssueEngineRuleCounts = Record<string, number>;
7
+ export type Outcome = typeof outcomes[number];
8
+ export type Uncertainty = typeof uncertainties[number];
9
+ export type WhyIgnore = typeof whyIgnore[number];
10
10
  interface Issue {
11
11
  summary: string;
12
12
  why: string;
@@ -14,7 +14,7 @@ interface Issue {
14
14
  weight: number;
15
15
  max?: number;
16
16
  }
17
- interface ruleIDsByType {
17
+ export interface ruleIDsByType {
18
18
  invariant: string[];
19
19
  variable: string[];
20
20
  }
@@ -75,6 +75,12 @@ declare const issuesData: {
75
75
  readonly wcag: '2.2.2';
76
76
  readonly weight: 3;
77
77
  };
78
+ readonly animationTriggered: {
79
+ readonly summary: 'interaction triggers unpreventable animation';
80
+ readonly why: 'Motion-sensitive user may suffer harm';
81
+ readonly wcag: '2.3.3';
82
+ readonly weight: 3;
83
+ };
78
84
  readonly appletNoText: {
79
85
  readonly summary: 'applet not named';
80
86
  readonly why: 'User cannot get help on how to use a custom item';
@@ -207,6 +213,12 @@ declare const issuesData: {
207
213
  readonly wcag: '1.2.1';
208
214
  readonly weight: 1;
209
215
  };
216
+ readonly autoAuthBanned: {
217
+ readonly summary: 'login automation prohibited';
218
+ readonly why: 'User cannot get help needed for logging in';
219
+ readonly wcag: '3.3.8';
220
+ readonly weight: 4;
221
+ };
210
222
  readonly autocompleteBad: {
211
223
  readonly summary: 'autocomplete invalid';
212
224
  readonly why: 'User cannot get help entering personal information in a form item';
@@ -316,6 +328,12 @@ declare const issuesData: {
316
328
  readonly wcag: '1.4.4';
317
329
  readonly weight: 3;
318
330
  };
331
+ readonly brailleOnly: {
332
+ readonly summary: 'element has only a Braille name or role';
333
+ readonly why: 'User cannot get help understanding an item';
334
+ readonly wcag: '4.1.2';
335
+ readonly weight: 4;
336
+ };
319
337
  readonly browserSupportRisk: {
320
338
  readonly summary: 'inputmode attribute';
321
339
  readonly why: 'Page may include code that the browser cannot process';
@@ -324,7 +342,7 @@ declare const issuesData: {
324
342
  };
325
343
  readonly buttonAlt: {
326
344
  readonly summary: 'button has alt';
327
- readonly why: 'User cannot get help explaing a button';
345
+ readonly why: 'User cannot get help explaining a button';
328
346
  readonly wcag: '4.1.2';
329
347
  readonly weight: 4;
330
348
  };
@@ -547,9 +565,9 @@ declare const issuesData: {
547
565
  readonly weight: 1;
548
566
  };
549
567
  readonly directionRisk: {
550
- readonly summary: 'dubious direction';
551
- readonly why: 'Item may behave incorrectly';
552
- readonly wcag: '1.3.2';
568
+ readonly summary: 'text direction wrong?';
569
+ readonly why: 'Helper may misread text to the user';
570
+ readonly wcag: '4.1';
553
571
  readonly weight: 1;
554
572
  };
555
573
  readonly divInTable: {
@@ -592,6 +610,12 @@ declare const issuesData: {
592
610
  readonly wcag: '1.3.6';
593
611
  readonly weight: 3;
594
612
  };
613
+ readonly dragAlt: {
614
+ readonly summary: 'no single-pointer alternative to dragging';
615
+ readonly why: 'Click-only user cannot perform an operation';
616
+ readonly wcag: '2.5.7';
617
+ readonly weight: 4;
618
+ };
595
619
  readonly duplicateAttribute: {
596
620
  readonly summary: 'duplicate attribute';
597
621
  readonly why: 'Browser processes the page improperly';
@@ -740,6 +764,12 @@ declare const issuesData: {
740
764
  readonly wcag: '4.1.2';
741
765
  readonly weight: 3;
742
766
  };
767
+ readonly focusCovered: {
768
+ readonly summary: 'focused element covered';
769
+ readonly why: 'User cannot see which item will be operated on';
770
+ readonly wcag: '2.4.11';
771
+ readonly weight: 4;
772
+ };
743
773
  readonly focusDiscrepancy: {
744
774
  readonly summary: 'Tab-focusable elements wrong';
745
775
  readonly why: 'Item selections by a keyboard-only user are useless or impossible';
@@ -770,6 +800,12 @@ declare const issuesData: {
770
800
  readonly wcag: '2.4.7';
771
801
  readonly weight: 1;
772
802
  };
803
+ readonly focusSurprise: {
804
+ readonly summary: 'autofocus unexpected';
805
+ readonly why: 'Unexpected navigation to an item confuses the user';
806
+ readonly wcag: '3.2.5';
807
+ readonly weight: 2;
808
+ };
773
809
  readonly fontSizeAbsolute: {
774
810
  readonly summary: 'font size absolute';
775
811
  readonly why: 'User cannot adjust the text size for readability';
@@ -978,6 +1014,12 @@ declare const issuesData: {
978
1014
  readonly wcag: '1.3.1';
979
1015
  readonly weight: 4;
980
1016
  };
1017
+ readonly iframeConfusion: {
1018
+ readonly summary: 'different iframes named identically';
1019
+ readonly why: 'User gets incorrect help about parts of a page';
1020
+ readonly wcag: '4.1.2';
1021
+ readonly weight: 1;
1022
+ };
981
1023
  readonly iframeTitleBad: {
982
1024
  readonly summary: 'iframe not named';
983
1025
  readonly why: 'User cannot get help on the topic of an embedded page';
@@ -1026,6 +1068,12 @@ declare const issuesData: {
1026
1068
  readonly wcag: '1.1.1';
1027
1069
  readonly weight: 4;
1028
1070
  };
1071
+ readonly imageMapServerSide: {
1072
+ readonly summary: 'image map is server-side';
1073
+ readonly why: 'Keyboard-only user cannot choose a region of an image';
1074
+ readonly wcag: '2.1.1';
1075
+ readonly weight: 4;
1076
+ };
1029
1077
  readonly imageNoText: {
1030
1078
  readonly summary: 'image not named';
1031
1079
  readonly why: 'User cannot get help to know what is in an image';
@@ -1110,6 +1158,18 @@ declare const issuesData: {
1110
1158
  readonly wcag: '4.1.2';
1111
1159
  readonly weight: 3;
1112
1160
  };
1161
+ readonly inputRepeat: {
1162
+ readonly summary: 'form requires non-automatic duplicate re-entry';
1163
+ readonly why: 'Form completion is slower and more difficult than necessary';
1164
+ readonly wcag: '3.3.7';
1165
+ readonly weight: 4;
1166
+ };
1167
+ readonly inputSurprise: {
1168
+ readonly summary: 'operating on an input unexpectedly alters the page';
1169
+ readonly why: 'User cannot predict the effect of using a form';
1170
+ readonly wcag: '3.2.2';
1171
+ readonly weight: 4;
1172
+ };
1113
1173
  readonly internalLinkBroken: {
1114
1174
  readonly summary: 'internal link broken';
1115
1175
  readonly why: 'User cannot reach a promised page location';
@@ -1576,6 +1636,12 @@ declare const issuesData: {
1576
1636
  readonly wcag: '4.1';
1577
1637
  readonly weight: 3;
1578
1638
  };
1639
+ readonly obsoleteMotion: {
1640
+ readonly summary: 'obsolete element creates non-stoppable motion';
1641
+ readonly why: 'Motion-sensitive user suffers harm';
1642
+ readonly wcag: '2.2.2';
1643
+ readonly weight: 4;
1644
+ };
1579
1645
  readonly optionNoText: {
1580
1646
  readonly summary: 'option not named';
1581
1647
  readonly why: 'User cannot get help to understand an option';
@@ -1762,6 +1828,12 @@ declare const issuesData: {
1762
1828
  readonly wcag: '3.2.4';
1763
1829
  readonly weight: 1;
1764
1830
  };
1831
+ readonly reflow: {
1832
+ readonly summary: 'non-reflowing content forces 2D scrolling';
1833
+ readonly why: 'Reading content is slow and difficult';
1834
+ readonly wcag: '1.4.10';
1835
+ readonly weight: 4;
1836
+ };
1765
1837
  readonly refresh: {
1766
1838
  readonly summary: 'element reloads or redirects';
1767
1839
  readonly why: 'Page change may surprise a user';
@@ -2107,6 +2179,12 @@ declare const issuesData: {
2107
2179
  readonly wcag: '2.1.1';
2108
2180
  readonly weight: 2;
2109
2181
  };
2182
+ readonly tabOrderBad: {
2183
+ readonly summary: 'keyboard navigation sequence wrong';
2184
+ readonly why: 'Sequential navigation moves in a meaningless or useless order';
2185
+ readonly wcag: '2.4.3';
2186
+ readonly weight: 3;
2187
+ };
2110
2188
  readonly tabularTableless: {
2111
2189
  readonly summary: 'table not marked as such';
2112
2190
  readonly why: 'Helper misinforms a user about whether items are cells of a table';
@@ -2264,6 +2342,12 @@ declare const issuesData: {
2264
2342
  readonly wcag: '2.5.3';
2265
2343
  readonly weight: 3;
2266
2344
  };
2345
+ readonly visualSequenceDeviant: {
2346
+ readonly summary: 'visual and programmatic content sequences differ';
2347
+ readonly why: 'Sequence of page items confuses the user';
2348
+ readonly wcag: '1.3.2';
2349
+ readonly weight: 2;
2350
+ };
2267
2351
  readonly zIndexNotZero: {
2268
2352
  readonly summary: 'z-index not zero';
2269
2353
  readonly why: 'User cannot predict the effect of clicking';
@@ -2271,22 +2355,21 @@ declare const issuesData: {
2271
2355
  readonly weight: 1;
2272
2356
  };
2273
2357
  };
2274
- declare const issues: Readonly<Record<string, Issue>>;
2275
- declare const rules: Readonly<Record<string, EngineRules>>;
2276
- declare const makeIssueRules: (ruleTable: Record<string, EngineRules>, issueTable?: Record<string, Issue>) => Record<string, Record<string, ruleIDsByType>>;
2277
- declare const getEditableData: () => {
2358
+ export declare const issues: Readonly<Record<string, Issue>>;
2359
+ export declare const rules: Readonly<Record<string, EngineRules>>;
2360
+ export declare const makeIssueRules: (ruleTable: Record<string, EngineRules>, issueTable?: Record<string, Issue>) => Record<string, Record<string, ruleIDsByType>>;
2361
+ export declare const getEditableData: () => {
2278
2362
  issues: Readonly<Record<string, Issue>>;
2279
2363
  rules: Readonly<Record<string, EngineRules>>;
2280
2364
  issueRules: Record<string, Record<string, ruleIDsByType>>;
2281
2365
  };
2282
- declare const makeIssueStats: (issueRuleTable?: Record<string, Record<string, ruleIDsByType>>) => Record<string, IssueEngineRuleCounts>;
2283
- declare const getSingleEngineIssues: (stats?: Record<string, IssueEngineRuleCounts>) => Array<{
2366
+ export declare const makeIssueStats: (issueRuleTable?: Record<string, Record<string, ruleIDsByType>>) => Record<string, IssueEngineRuleCounts>;
2367
+ export declare const getSingleEngineIssues: (stats?: Record<string, IssueEngineRuleCounts>) => Array<{
2284
2368
  issueID: string;
2285
2369
  engineID: string;
2286
2370
  ruleCount: number;
2287
2371
  }>;
2288
- declare const getEngineRuleCounts: (ruleTable?: Record<string, EngineRules>) => Record<string, number>;
2289
- declare const issueRules: Record<string, Record<string, ruleIDsByType>>;
2290
- declare const issueStats: Record<string, IssueEngineRuleCounts>;
2291
- //#endregion
2292
- export { IssueEngineRuleCounts, Outcome, Uncertainty, WhyIgnore, getEditableData, getEngineRuleCounts, getSingleEngineIssues, issueRules, issueStats, issues, makeIssueRules, makeIssueStats, ruleIDsByType, rules };
2372
+ export declare const getEngineRuleCounts: (ruleTable?: Record<string, EngineRules>) => Record<string, number>;
2373
+ export declare const issueRules: Record<string, Record<string, ruleIDsByType>>;
2374
+ export declare const issueStats: Record<string, IssueEngineRuleCounts>;
2375
+ //#endregion