@opencrvs/toolkit 1.8.0-rc.faacbde → 1.8.0-rc.facf9d6

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 (44) hide show
  1. package/dist/commons/api/router.d.ts +12657 -13930
  2. package/dist/commons/conditionals/conditionals.d.ts +25 -6
  3. package/dist/commons/conditionals/validate.d.ts +12 -17
  4. package/dist/commons/events/ActionConfig.d.ts +94298 -1733
  5. package/dist/commons/events/ActionDocument.d.ts +7848 -230
  6. package/dist/commons/events/ActionInput.d.ts +1417 -388
  7. package/dist/commons/events/ActionType.d.ts +6 -3
  8. package/dist/commons/events/AdvancedSearchConfig.d.ts +957 -22
  9. package/dist/commons/events/CompositeFieldValue.d.ts +3 -0
  10. package/dist/commons/events/Conditional.d.ts +21 -5
  11. package/dist/commons/events/Constants.d.ts +2 -0
  12. package/dist/commons/events/CountryConfigQueryInput.d.ts +2982 -0
  13. package/dist/commons/events/CreatedAtLocation.d.ts +3 -0
  14. package/dist/commons/events/Draft.d.ts +62 -28
  15. package/dist/commons/events/EventConfig.d.ts +42895 -1350
  16. package/dist/commons/events/EventDocument.d.ts +950 -254
  17. package/dist/commons/events/EventIndex.d.ts +1342 -13
  18. package/dist/commons/events/EventMetadata.d.ts +300 -11
  19. package/dist/commons/events/FieldConfig.d.ts +4549 -802
  20. package/dist/commons/events/FieldType.d.ts +3 -3
  21. package/dist/commons/events/FieldTypeMapping.d.ts +16 -6
  22. package/dist/commons/events/FieldValue.d.ts +9 -4
  23. package/dist/commons/events/FormConfig.d.ts +43951 -439
  24. package/dist/commons/events/PageConfig.d.ts +10954 -234
  25. package/dist/commons/events/SummaryConfig.d.ts +95 -39
  26. package/dist/commons/events/TemplateConfig.d.ts +5 -5
  27. package/dist/commons/events/User.d.ts +31 -2
  28. package/dist/commons/events/WorkqueueColumnConfig.d.ts +53 -0
  29. package/dist/commons/events/WorkqueueConfig.d.ts +4525 -20
  30. package/dist/commons/events/defineConfig.d.ts +6600 -66
  31. package/dist/commons/events/event.d.ts +54 -0
  32. package/dist/commons/events/field.d.ts +73 -0
  33. package/dist/commons/events/index.d.ts +7 -0
  34. package/dist/commons/events/scopes.d.ts +45 -0
  35. package/dist/commons/events/serializer.d.ts +2 -0
  36. package/dist/commons/events/test.utils.d.ts +52 -160
  37. package/dist/commons/events/utils.d.ts +3726 -39
  38. package/dist/commons/events/utils.test.d.ts +2 -0
  39. package/dist/commons/events/workqueueDefaultColumns.d.ts +3 -0
  40. package/dist/conditionals/index.js +197 -144
  41. package/dist/events/index.js +4233 -2017
  42. package/dist/scopes/index.d.ts +158 -1
  43. package/dist/scopes/index.js +152 -1
  44. package/package.json +3 -2
@@ -0,0 +1,54 @@
1
+ import { EventFieldId } from './AdvancedSearchConfig';
2
+ import { SelectOption } from './FieldConfig';
3
+ import { WorkqueueColumnKeys, WorkqueueColumnValue } from './WorkqueueColumnConfig';
4
+ /**
5
+ * Creates a function that acts like a callable + static method container.
6
+ *
7
+ * @example
8
+ * event('status') // → returns search config
9
+ * event.hasAction('CLICKED') // → returns conditional
10
+ */
11
+ declare function eventFn(fieldId: EventFieldId, options?: SelectOption[]): {
12
+ range: () => {
13
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
14
+ options: {
15
+ value: string;
16
+ label: import("./TranslationConfig").TranslationConfig;
17
+ }[] | undefined;
18
+ fieldType: "event";
19
+ } & {
20
+ config: {
21
+ type: "range";
22
+ };
23
+ };
24
+ exact: () => {
25
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
26
+ options: {
27
+ value: string;
28
+ label: import("./TranslationConfig").TranslationConfig;
29
+ }[] | undefined;
30
+ fieldType: "event";
31
+ } & {
32
+ config: {
33
+ type: "exact";
34
+ };
35
+ };
36
+ fuzzy: () => {
37
+ fieldId: "status" | "updatedAt" | "trackingId" | "legalStatus.REGISTERED.createdAt" | "legalStatus.REGISTERED.createdAtLocation";
38
+ options: {
39
+ value: string;
40
+ label: import("./TranslationConfig").TranslationConfig;
41
+ }[] | undefined;
42
+ fieldType: "event";
43
+ } & {
44
+ config: {
45
+ type: "fuzzy";
46
+ };
47
+ };
48
+ };
49
+ declare const event: typeof eventFn & {
50
+ field(field: WorkqueueColumnKeys): WorkqueueColumnValue;
51
+ hasAction: (action: import("./ActionType").ActionType) => import("../conditionals/conditionals").JSONSchema;
52
+ };
53
+ export { event };
54
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1,73 @@
1
+ import { FieldConditional } from './Conditional';
2
+ import { TranslationConfig } from './TranslationConfig';
3
+ /**
4
+ * Entry point for defining conditional logic or configuration for a form field.
5
+ * @param fieldId - The ID of the field to define rules or config for.
6
+ * @returns An object combining conditional methods and configuration builders.
7
+ */
8
+ export declare function field(fieldId: string, options?: {
9
+ conditionals?: FieldConditional[];
10
+ searchCriteriaLabelPrefix?: TranslationConfig;
11
+ }): {
12
+ range: () => {
13
+ conditionals?: FieldConditional[];
14
+ searchCriteriaLabelPrefix?: TranslationConfig;
15
+ fieldId: string;
16
+ fieldType: "field";
17
+ } & {
18
+ config: {
19
+ type: "range";
20
+ };
21
+ };
22
+ exact: () => {
23
+ conditionals?: FieldConditional[];
24
+ searchCriteriaLabelPrefix?: TranslationConfig;
25
+ fieldId: string;
26
+ fieldType: "field";
27
+ } & {
28
+ config: {
29
+ type: "exact";
30
+ };
31
+ };
32
+ fuzzy: () => {
33
+ conditionals?: FieldConditional[];
34
+ searchCriteriaLabelPrefix?: TranslationConfig;
35
+ fieldId: string;
36
+ fieldType: "field";
37
+ } & {
38
+ config: {
39
+ type: "fuzzy";
40
+ };
41
+ };
42
+ $$field: string;
43
+ isAfter: () => {
44
+ days: (days: number) => {
45
+ inPast: () => import("../conditionals/conditionals").JSONSchema;
46
+ inFuture: () => import("../conditionals/conditionals").JSONSchema;
47
+ };
48
+ date: (date: string | {
49
+ $$field: string;
50
+ }) => import("../conditionals/conditionals").JSONSchema;
51
+ now: () => import("../conditionals/conditionals").JSONSchema;
52
+ };
53
+ isBefore: () => {
54
+ days: (days: number) => {
55
+ inPast: () => import("../conditionals/conditionals").JSONSchema;
56
+ inFuture: () => import("../conditionals/conditionals").JSONSchema;
57
+ };
58
+ date: (date: string | {
59
+ $$field: string;
60
+ }) => import("../conditionals/conditionals").JSONSchema;
61
+ now: () => import("../conditionals/conditionals").JSONSchema;
62
+ };
63
+ isEqualTo: (value: string | boolean | {
64
+ $$field: string;
65
+ }) => import("../conditionals/conditionals").JSONSchema;
66
+ isFalsy: () => import("../conditionals/conditionals").JSONSchema;
67
+ isUndefined: () => import("../conditionals/conditionals").JSONSchema;
68
+ inArray: (values: string[]) => import("../conditionals/conditionals").JSONSchema;
69
+ isValidEnglishName: () => import("../conditionals/conditionals").JSONSchema;
70
+ matches: (pattern: string) => import("../conditionals/conditionals").JSONSchema;
71
+ isBetween: (min: number, max: number) => import("../conditionals/conditionals").JSONSchema;
72
+ };
73
+ //# sourceMappingURL=field.d.ts.map
@@ -1,3 +1,4 @@
1
+ export * from './Constants';
1
2
  export * from './ActionConfig';
2
3
  export * from './offline';
3
4
  export * from './EventConfig';
@@ -6,6 +7,8 @@ export * from './FieldConfig';
6
7
  export * from './PageConfig';
7
8
  export * from './SummaryConfig';
8
9
  export * from './WorkqueueConfig';
10
+ export * from './WorkqueueColumnConfig';
11
+ export * from './workqueueDefaultColumns';
9
12
  export * from './Draft';
10
13
  export * from './EventMetadata';
11
14
  export * from './EventInput';
@@ -30,6 +33,10 @@ export * from './Conditional';
30
33
  export * from './AdvancedSearchConfig';
31
34
  export * from './test.utils';
32
35
  export * from './TemplateConfig';
36
+ export * from './scopes';
37
+ export * from './serializer';
33
38
  export * from '../conditionals/conditionals';
34
39
  export * from '../conditionals/validate';
40
+ export * from './field';
41
+ export * from './event';
35
42
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,45 @@
1
+ import { Scope } from '../scopes';
2
+ import { ActionType } from './ActionType';
3
+ export declare const CONFIG_GET_ALLOWED_SCOPES: ["record.declare-birth", "record.read", "record.declaration-submit-incomplete", "record.declaration-submit-for-review", "record.register", "record.export-records", "config", "config.update:all"];
4
+ export declare const CONFIG_SEARCH_ALLOWED_SCOPES: ("search.birth:my-jurisdiction" | "search.birth" | "search.death:my-jurisdiction" | "search.death" | "search.marriage:my-jurisdiction" | "search.marriage")[];
5
+ export declare const ACTION_ALLOWED_SCOPES: {
6
+ READ: ["record.declare-birth", "record.read", "record.declaration-submit-incomplete", "record.declaration-submit-for-review", "record.register", "record.export-records"];
7
+ CREATE: ["record.declare-birth", "record.declaration-submit-incomplete", "record.declaration-submit-for-review"];
8
+ NOTIFY: ["record.declaration-submit-incomplete"];
9
+ DECLARE: ["record.declare-birth", "record.declaration-submit-for-approval", "record.register"];
10
+ DELETE: ["record.declare-birth"];
11
+ VALIDATE: ["record.declaration-submit-for-approval", "record.register"];
12
+ REGISTER: ["record.register"];
13
+ PRINT_CERTIFICATE: ["record.registration-print&issue-certified-copies"];
14
+ REQUEST_CORRECTION: ["record.registration-request-correction", "record.registration-correct"];
15
+ REJECT_CORRECTION: ["record.registration-correct"];
16
+ APPROVE_CORRECTION: ["record.registration-correct"];
17
+ MARKED_AS_DUPLICATE: ["record.declaration-archive"];
18
+ ARCHIVE: ["record.declaration-archive"];
19
+ REJECT: ["record.declaration-submit-for-updates"];
20
+ ASSIGN: null;
21
+ UNASSIGN: null;
22
+ DETECT_DUPLICATE: [];
23
+ };
24
+ export declare const ACTION_ALLOWED_CONFIGURABLE_SCOPES: {
25
+ READ: never[];
26
+ CREATE: "record.notify"[];
27
+ NOTIFY: "record.notify"[];
28
+ DECLARE: never[];
29
+ DELETE: never[];
30
+ VALIDATE: never[];
31
+ REGISTER: never[];
32
+ PRINT_CERTIFICATE: never[];
33
+ REQUEST_CORRECTION: never[];
34
+ REJECT_CORRECTION: never[];
35
+ APPROVE_CORRECTION: never[];
36
+ MARKED_AS_DUPLICATE: never[];
37
+ ARCHIVE: never[];
38
+ REJECT: never[];
39
+ ASSIGN: never[];
40
+ UNASSIGN: never[];
41
+ DETECT_DUPLICATE: never[];
42
+ };
43
+ export declare function hasAnyOfScopes(a: Scope[], b: Scope[]): boolean;
44
+ export declare function filterUnallowedActions(actions: ActionType[], userScopes: Scope[]): ActionType[];
45
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1,2 @@
1
+ export { deserializeQuery } from './serializers/user/deserializer';
2
+ //# sourceMappingURL=serializer.d.ts.map
@@ -1,52 +1,15 @@
1
- import { ActionDocument, ActionUpdate } from './ActionDocument';
2
- import { ArchiveActionInput, DeclareActionInput, RegisterActionInput, RejectDeclarationActionInput, RequestCorrectionActionInput, ValidateActionInput } from './ActionInput';
1
+ import { ActionDocument, ActionUpdate, EventState } from './ActionDocument';
2
+ import { ArchiveActionInput, AssignActionInput, DeclareActionInput, RegisterActionInput, RejectDeclarationActionInput, RequestCorrectionActionInput, UnassignActionInput, ValidateActionInput } from './ActionInput';
3
3
  import { ActionType } from './ActionType';
4
4
  import { Draft } from './Draft';
5
5
  import { EventConfig } from './EventConfig';
6
6
  import { EventDocument } from './EventDocument';
7
7
  import { EventIndex } from './EventIndex';
8
8
  import { EventInput } from './EventInput';
9
- import { FieldValue } from './FieldValue';
10
9
  import { TranslationConfig } from './TranslationConfig';
11
- export declare function generateActionInput(configuration: EventConfig, action: ActionType): import("lodash").Dictionary<string | number | boolean | {
12
- type: string;
13
- filename: string;
14
- originalFilename: string;
15
- } | {
16
- country: string;
17
- district: string;
18
- addressType: "DOMESTIC";
19
- province: string;
20
- urbanOrRural: "URBAN";
21
- number?: string | undefined;
22
- town?: string | undefined;
23
- residentialArea?: string | undefined;
24
- street?: string | undefined;
25
- zipCode?: string | undefined;
26
- } | {
27
- country: string;
28
- district: string;
29
- addressType: "DOMESTIC";
30
- province: string;
31
- urbanOrRural: "RURAL";
32
- village?: string | undefined;
33
- } | {
34
- country: string;
35
- state: string;
36
- addressType: "INTERNATIONAL";
37
- district2: string;
38
- cityOrTown?: string | undefined;
39
- addressLine1?: string | undefined;
40
- addressLine2?: string | undefined;
41
- addressLine3?: string | undefined;
42
- postcodeOrZip?: string | undefined;
43
- } | {
44
- type: string;
45
- option: string;
46
- filename: string;
47
- originalFilename: string;
48
- }[] | undefined>;
49
- export declare function generateActionMetadataInput(configuration: EventConfig, action: ActionType): {};
10
+ import { WorkqueueConfig } from './WorkqueueConfig';
11
+ export declare function generateActionDeclarationInput(configuration: EventConfig, action: ActionType): EventState;
12
+ export declare function generateActionAnnotationInput(configuration: EventConfig, action: ActionType): {};
50
13
  export declare const eventPayloadGenerator: {
51
14
  create: (input?: Partial<EventInput>) => {
52
15
  transactionId: string;
@@ -57,115 +20,10 @@ export declare const eventPayloadGenerator: {
57
20
  type: string;
58
21
  id: string;
59
22
  };
60
- draft: (eventId: string, input?: Partial<Draft>) => {
61
- id: import("../uuid").UUID;
23
+ draft: ({ eventId, actionType }: {
62
24
  eventId: string;
63
- createdAt: string;
64
- transactionId: import("../uuid").UUID;
65
- action: {
66
- type: "REQUEST_CORRECTION";
67
- declaration: {
68
- 'applicant.firstname': string;
69
- 'applicant.surname': string;
70
- 'applicant.dob': string;
71
- 'recommender.none': boolean;
72
- };
73
- annotation: {
74
- 'correction.requester.relationship': string;
75
- 'correction.request.reason': string;
76
- };
77
- createdAt: string;
78
- createdBy: string;
79
- createdAtLocation: string;
80
- };
81
- } & Partial<{
82
- id: string;
83
- createdAt: string;
84
- eventId: string;
85
- transactionId: string;
86
- action: {
87
- type: "DECLARE" | "REGISTER" | "VALIDATE" | "DELETE" | "CREATE" | "NOTIFY" | "DETECT_DUPLICATE" | "REJECT" | "MARKED_AS_DUPLICATE" | "ARCHIVE" | "PRINT_CERTIFICATE" | "REQUEST_CORRECTION" | "REJECT_CORRECTION" | "APPROVE_CORRECTION" | "READ" | "ASSIGN" | "UNASSIGN";
88
- createdAt: string;
89
- createdBy: string;
90
- declaration: Record<string, string | number | boolean | {
91
- type: string;
92
- filename: string;
93
- originalFilename: string;
94
- } | {
95
- country: string;
96
- district: string;
97
- addressType: "DOMESTIC";
98
- province: string;
99
- urbanOrRural: "URBAN";
100
- number?: string | null | undefined;
101
- town?: string | null | undefined;
102
- residentialArea?: string | null | undefined;
103
- street?: string | null | undefined;
104
- zipCode?: string | null | undefined;
105
- } | {
106
- country: string;
107
- district: string;
108
- addressType: "DOMESTIC";
109
- province: string;
110
- urbanOrRural: "RURAL";
111
- village?: string | null | undefined;
112
- } | {
113
- country: string;
114
- state: string;
115
- addressType: "INTERNATIONAL";
116
- district2: string;
117
- cityOrTown?: string | null | undefined;
118
- addressLine1?: string | null | undefined;
119
- addressLine2?: string | null | undefined;
120
- addressLine3?: string | null | undefined;
121
- postcodeOrZip?: string | null | undefined;
122
- } | {
123
- type: string;
124
- option: string;
125
- filename: string;
126
- originalFilename: string;
127
- }[] | undefined>;
128
- createdAtLocation: string;
129
- annotation?: Record<string, string | number | boolean | {
130
- type: string;
131
- filename: string;
132
- originalFilename: string;
133
- } | {
134
- country: string;
135
- district: string;
136
- addressType: "DOMESTIC";
137
- province: string;
138
- urbanOrRural: "URBAN";
139
- number?: string | null | undefined;
140
- town?: string | null | undefined;
141
- residentialArea?: string | null | undefined;
142
- street?: string | null | undefined;
143
- zipCode?: string | null | undefined;
144
- } | {
145
- country: string;
146
- district: string;
147
- addressType: "DOMESTIC";
148
- province: string;
149
- urbanOrRural: "RURAL";
150
- village?: string | null | undefined;
151
- } | {
152
- country: string;
153
- state: string;
154
- addressType: "INTERNATIONAL";
155
- district2: string;
156
- cityOrTown?: string | null | undefined;
157
- addressLine1?: string | null | undefined;
158
- addressLine2?: string | null | undefined;
159
- addressLine3?: string | null | undefined;
160
- postcodeOrZip?: string | null | undefined;
161
- } | {
162
- type: string;
163
- option: string;
164
- filename: string;
165
- originalFilename: string;
166
- }[] | undefined> | undefined;
167
- };
168
- }>;
25
+ actionType: ActionType;
26
+ }, input?: Partial<Draft>) => Draft;
169
27
  actions: {
170
28
  declare: (eventId: string, input?: Partial<Pick<DeclareActionInput, "transactionId" | "declaration" | "annotation">>) => {
171
29
  type: "DECLARE";
@@ -207,7 +65,7 @@ export declare const eventPayloadGenerator: {
207
65
  option: string;
208
66
  filename: string;
209
67
  originalFilename: string;
210
- }[] | undefined>;
68
+ }[] | [string, string] | undefined>;
211
69
  annotation: {};
212
70
  eventId: string;
213
71
  };
@@ -257,7 +115,7 @@ export declare const eventPayloadGenerator: {
257
115
  option: string;
258
116
  filename: string;
259
117
  originalFilename: string;
260
- }[] | undefined>>;
118
+ }[] | [string, string] | undefined>>;
261
119
  eventId: string;
262
120
  };
263
121
  validate: (eventId: string, input?: Partial<Pick<ValidateActionInput, "transactionId" | "declaration" | "annotation">>) => {
@@ -300,20 +158,36 @@ export declare const eventPayloadGenerator: {
300
158
  option: string;
301
159
  filename: string;
302
160
  originalFilename: string;
303
- }[] | undefined>;
161
+ }[] | [string, string] | undefined>;
304
162
  annotation: {};
305
163
  duplicates: never[];
306
164
  eventId: string;
307
165
  };
166
+ assign: (eventId: string, input?: Partial<Pick<AssignActionInput, "transactionId" | "assignedTo">>) => {
167
+ type: "ASSIGN";
168
+ transactionId: string;
169
+ declaration: {};
170
+ assignedTo: string;
171
+ eventId: string;
172
+ };
173
+ unassign: (eventId: string, input?: Partial<Pick<UnassignActionInput, "transactionId">>) => {
174
+ type: "UNASSIGN";
175
+ transactionId: string;
176
+ declaration: {};
177
+ assignedTo: null;
178
+ eventId: string;
179
+ };
308
180
  archive: (eventId: string, input?: Partial<Pick<ArchiveActionInput, "transactionId" | "declaration">>, isDuplicate?: boolean) => {
309
181
  type: "ARCHIVE";
310
182
  transactionId: string;
311
183
  declaration: {};
312
- annotation: {
313
- isDuplicate: boolean;
314
- };
184
+ annotation: {};
315
185
  duplicates: never[];
316
186
  eventId: string;
187
+ reason: {
188
+ message: string;
189
+ isDuplicate: boolean;
190
+ };
317
191
  };
318
192
  reject: (eventId: string, input?: Partial<Pick<RejectDeclarationActionInput, "transactionId" | "annotation">>) => {
319
193
  type: "REJECT";
@@ -322,6 +196,9 @@ export declare const eventPayloadGenerator: {
322
196
  annotation: {};
323
197
  duplicates: never[];
324
198
  eventId: string;
199
+ reason: {
200
+ message: string;
201
+ };
325
202
  };
326
203
  register: (eventId: string, input?: Partial<Pick<RegisterActionInput, "transactionId" | "declaration" | "annotation">>) => {
327
204
  type: "REGISTER";
@@ -363,7 +240,7 @@ export declare const eventPayloadGenerator: {
363
240
  option: string;
364
241
  filename: string;
365
242
  originalFilename: string;
366
- }[] | undefined>;
243
+ }[] | [string, string] | undefined>;
367
244
  annotation: {};
368
245
  eventId: string;
369
246
  };
@@ -415,7 +292,7 @@ export declare const eventPayloadGenerator: {
415
292
  option: string;
416
293
  filename: string;
417
294
  originalFilename: string;
418
- }[] | undefined>;
295
+ }[] | [string, string] | undefined>;
419
296
  annotation: {};
420
297
  eventId: string;
421
298
  };
@@ -447,7 +324,22 @@ export declare function generateEventDocument({ configuration, actions }: {
447
324
  configuration: EventConfig;
448
325
  actions: ActionType[];
449
326
  }): EventDocument;
450
- export declare function generateEventDraftDocument(eventId: string, actionType?: ActionType, declaration?: Record<string, FieldValue>): Draft;
451
- export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>) => EventIndex;
327
+ export declare function generateEventDraftDocument(eventId: string, actionType?: ActionType, declaration?: EventState): Draft;
328
+ export declare function getRandomDatetime(rng: () => number, start: Date, end: Date): string;
329
+ /**
330
+ * Useful for testing when we need deterministic outcome.
331
+ * @param seed - Seed value for the pseudo-random number generator
332
+ *
333
+ * @returns A function that generates pseudo-random numbers between 0 and 1
334
+ */
335
+ export declare function createPseudoRandomNumberGenerator(seed: number): () => number;
336
+ export declare function generateRandomSignature(rng: () => number): string;
337
+ export declare const eventQueryDataGenerator: (overrides?: Partial<EventIndex>, seed?: number) => EventIndex;
452
338
  export declare const generateTranslationConfig: (message: string) => TranslationConfig;
339
+ export declare const BearerTokenByUserType: {
340
+ fieldAgent: string;
341
+ registrationAgent: string;
342
+ localRegistrar: string;
343
+ };
344
+ export declare const generateWorkqueues: (slug?: string) => WorkqueueConfig[];
453
345
  //# sourceMappingURL=test.utils.d.ts.map