@taxbit/react-sdk 1.1.0-beta.1 → 1.2.0-beta.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 (126) hide show
  1. package/README.md +13 -4
  2. package/dist/src/contexts/QuestionnaireStep/getLocal.d.ts +4 -3
  3. package/dist/src/contexts/QuestionnaireStep/shiftControllingPerson.d.ts +3 -0
  4. package/dist/src/contexts/QuestionnaireStep/shiftResidence.d.ts +1 -1
  5. package/dist/src/contexts/QuestionnaireStep/useQuestionnaireStep.d.ts +2 -1
  6. package/dist/src/contexts/QuestionnaireStep/useQuestionnaireStepContext.d.ts +4 -2
  7. package/dist/src/contexts/TaxDocumentation/useTaxDocumentation.d.ts +5 -5
  8. package/dist/src/contexts/TaxDocumentation/useTaxDocumentationContext.d.ts +6 -6
  9. package/dist/src/hooks/useTaxbit/useTaxbit.d.ts +2 -2
  10. package/dist/src/hooks/useTaxbit/useTaxbitStatus.d.ts +2 -2
  11. package/dist/src/i18n/locales/de.d.ts +2 -2
  12. package/dist/src/i18n/locales/el.d.ts +2 -2
  13. package/dist/src/i18n/locales/ga.d.ts +1 -3
  14. package/dist/src/i18n/locales/lt.d.ts +2 -2
  15. package/dist/src/i18n/locales/pl.d.ts +2 -2
  16. package/dist/src/i18n/types/LocalizationKey.d.ts +6 -6
  17. package/dist/src/i18n/types/PropertyFile.d.ts +15 -14
  18. package/dist/src/index.d.ts +2 -2
  19. package/dist/src/lookups/activeNonFinancialEntityTypeOptions.d.ts +3 -0
  20. package/dist/src/lookups/controllingPersonRoleOptions.d.ts +3 -0
  21. package/dist/src/lookups/entityTypeOptions.d.ts +3 -0
  22. package/dist/src/lookups/financialInstitutionTypeOptions.d.ts +3 -0
  23. package/dist/src/lookups/index.d.ts +7 -0
  24. package/dist/src/lookups/payeeCodeOptions.d.ts +1 -1
  25. package/dist/src/lookups/selfCertificationAccountTypeOptions.d.ts +3 -0
  26. package/dist/src/lookups/signatureCapacityOptions.d.ts +3 -0
  27. package/dist/src/lookups/tinNotRequiredReasonOptions.d.ts +3 -0
  28. package/dist/src/services/api.d.ts +5 -2
  29. package/dist/src/services/msw.d.ts +33 -0
  30. package/dist/src/test/Wrapper.d.ts +2 -2
  31. package/dist/src/test/getWrapper.d.ts +2 -2
  32. package/dist/src/test/utils/helpers.d.ts +10 -0
  33. package/dist/src/types/InputStep.d.ts +1 -1
  34. package/dist/src/types/QuestionnaireProp.d.ts +1 -0
  35. package/dist/src/types/StepId.d.ts +1 -1
  36. package/dist/src/types/TaxDocumentation.d.ts +87 -50
  37. package/dist/src/types/client/ClientTaxDocumentationStatus.d.ts +4 -0
  38. package/dist/src/types/index.d.ts +1 -1
  39. package/dist/src/types/server/TaxDocumentationStatus.d.ts +4 -0
  40. package/dist/src/ui/InputValue/InputValue.d.ts +2 -1
  41. package/dist/src/ui/Select/Select.d.ts +0 -1
  42. package/dist/src/utils/getFieldsState.d.ts +7 -2
  43. package/dist/src/utils/getFormStatus.d.ts +2 -1
  44. package/dist/src/utils/getLanguage.d.ts +2 -2
  45. package/dist/src/utils/index.d.ts +1 -1
  46. package/dist/src/utils/promptKeyMapping/getAddressPromptKeyMap.d.ts +6 -0
  47. package/dist/src/utils/promptKeyMapping/getControllingPersonPromptKeyMap.d.ts +4 -0
  48. package/dist/src/utils/promptKeyMapping/getTaxResidencesPromptKeyMap.d.ts +6 -0
  49. package/dist/src/utils/transformForClient/transformForClient.d.ts +2 -2
  50. package/dist/src/utils/transformForClient/transformForClientAddress.d.ts +4 -32
  51. package/dist/src/utils/transformForClient/transformForClientTaxResidences.d.ts +11 -0
  52. package/dist/src/utils/transformForClient/transformForControllingPersons.d.ts +4 -0
  53. package/dist/src/utils/transformInbound/getActiveNonFinancialEntityType.d.ts +3 -0
  54. package/dist/src/utils/transformInbound/getCountryCode.d.ts +1 -0
  55. package/dist/src/utils/transformInbound/getEntityType.d.ts +3 -0
  56. package/dist/src/utils/transformInbound/getFinancialInstitutionType.d.ts +3 -0
  57. package/dist/src/utils/transformInbound/getSelfCertificationAccountType.d.ts +3 -0
  58. package/dist/src/utils/transformInbound/transformInbound.d.ts +2 -2
  59. package/dist/src/utils/transformInbound/transformInboundAddress.d.ts +6 -0
  60. package/dist/src/utils/transformInbound/transformInboundControllingPersons.d.ts +440 -0
  61. package/dist/src/utils/transformInbound/transformInboundTaxResidencies.d.ts +7 -0
  62. package/dist/src/validations/getSteps.d.ts +2 -2
  63. package/dist/src/validations/index.d.ts +5 -5
  64. package/dist/src/validations/invalidFields/getInvalidAddressFields.d.ts +5 -0
  65. package/dist/src/validations/invalidFields/getInvalidControllingPersonsFields.d.ts +3 -0
  66. package/dist/src/validations/invalidFields/getInvalidFields.d.ts +5 -0
  67. package/dist/src/validations/invalidFields/getInvalidTaxResidencyFields.d.ts +5 -0
  68. package/dist/src/validations/{invalidFieldRules.d.ts → invalidFields/invalidFieldRules.d.ts} +1 -1
  69. package/dist/src/validations/requiredFields/getRequiredAddressFields.d.ts +7 -0
  70. package/dist/src/validations/requiredFields/getRequiredControllingPersonFields.d.ts +4 -0
  71. package/dist/src/validations/requiredFields/getRequiredFields.d.ts +4 -0
  72. package/dist/src/validations/requiredFields/getRequiredTaxResidenceFields.d.ts +7 -0
  73. package/dist/src/validations/supportedFields/__tests__/generateStrings.d.ts +5 -0
  74. package/dist/src/validations/supportedFields/getSupportedAddressFields.d.ts +8 -0
  75. package/dist/src/validations/supportedFields/getSupportedControllingPersonFields.d.ts +7 -0
  76. package/dist/src/validations/supportedFields/getSupportedFields.d.ts +4 -0
  77. package/dist/src/validations/supportedFields/getSupportedTaxResidenceFields.d.ts +8 -0
  78. package/dist/src/validations/supportedFields/getSupportedTreatyClaimFields.d.ts +3 -0
  79. package/dist/src/validations/visibleFields/getVisibleAddressFields.d.ts +5 -0
  80. package/dist/src/validations/visibleFields/getVisibleControllingPersonFields.d.ts +4 -0
  81. package/dist/src/validations/visibleFields/getVisibleFields.d.ts +4 -0
  82. package/dist/src/validations/visibleFields/getVisibleTaxResidenceFields.d.ts +9 -0
  83. package/dist/src/{entry → widgets}/TaxbitQuestionnaire/TaxbitQuestionnaire.d.ts +3 -3
  84. package/dist/src/widgets/TaxbitQuestionnairePersist/useTaxbitPersist.d.ts +2 -2
  85. package/dist/src/wizard/AddressInput/AddressInput.d.ts +1 -1
  86. package/dist/src/wizard/ControllingPersonInput/ControllingPersonInput.d.ts +11 -0
  87. package/dist/src/wizard/ControllingPersonInput/index.d.ts +1 -0
  88. package/dist/src/wizard/LanguageSelector/LanguageSelector.d.ts +2 -2
  89. package/dist/src/wizard/ResidenceInput/ResidenceInput.d.ts +2 -1
  90. package/dist/src/wizard/RowInput/AddressRow/AddressRow.d.ts +1 -1
  91. package/dist/src/wizard/RowInput/PercentInputRow/PercentInputRow.d.ts +9 -0
  92. package/dist/src/wizard/RowInput/PercentInputRow/index.d.ts +1 -0
  93. package/dist/src/wizard/RowInput/SelectRow/SelectRow.d.ts +2 -1
  94. package/dist/src/wizard/RowInput/index.d.ts +1 -0
  95. package/dist/src/wizard/TaxbitQuestionnaireUI/ControllingPersonDetails/ControllingPersonDetails.d.ts +7 -0
  96. package/dist/src/wizard/TaxbitQuestionnaireUI/ControllingPersonDetails/index.d.ts +1 -0
  97. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/AccountHolder/AccountHolderClassificationSummary.d.ts +3 -0
  98. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/AccountHolder/AccountHolderForeignClassificationSummary.d.ts +6 -0
  99. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/AccountHolder/AccountHolderSelfCertificationClassificationSummary.d.ts +6 -0
  100. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/AccountHolder/AccountHolderUsClassificationSummary.d.ts +6 -0
  101. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/ControllingPerson/ControllingPersonRoleInputValue.d.ts +7 -0
  102. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/ControllingPerson/ControllingPersonSummary.d.ts +7 -0
  103. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/ControllingPerson/ControllingPersonTypeSummary.d.ts +7 -0
  104. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/RegardedOwner/RegardedOwnerClassificationSummary.d.ts +3 -0
  105. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/RegardedOwner/RegardedOwnerForeignClassificationSummary.d.ts +6 -0
  106. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/RegardedOwner/RegardedOwnerUsClassificationSummary.d.ts +6 -0
  107. package/dist/src/wizard/TaxbitQuestionnaireUI/Summary/TaxResidency/TaxResidenciesSummary.d.ts +11 -0
  108. package/dist/src/wizard/TaxbitQuestionnaireUI/__tests__/TaxbitQuestionnaireUI.SelfCert.AccountClassification.test.d.ts +1 -0
  109. package/dist/src/wizard/TaxbitQuestionnaireUI/__tests__/TaxbitQuestionnaireUI.SelfCert.ControllingPerson.test.d.ts +1 -0
  110. package/dist/src/wizard/TaxbitQuestionnaireUI/__tests__/TaxbitQuestionnaireUI.SelfCert.NameAndAddress.test.d.ts +1 -0
  111. package/dist/src/wizard/TaxbitQuestionnaireUI/__tests__/TaxbitQuestionnaireUI.SelfCert.Summary.test.d.ts +1 -0
  112. package/dist/src/wizard/TaxbitQuestionnaireUI/__tests__/TaxbitQuestionnaireUI.SelfCert.TaxResidencies.test.d.ts +1 -0
  113. package/dist/src/wizard/TaxbitQuestionnaireUI/steps.d.ts +1 -0
  114. package/dist/taxbit-react-sdk.js +7466 -4608
  115. package/dist/taxbit-react-sdk.umd.cjs +1 -1
  116. package/package.json +7 -6
  117. package/style/basic.css +4 -0
  118. package/style/inline.css +1 -0
  119. package/dist/src/types/Questionnaire.d.ts +0 -1
  120. package/dist/src/utils/transformForClient/transformForClientTaxResidenceFields.d.ts +0 -7
  121. package/dist/src/validations/getInvalidFields.d.ts +0 -5
  122. package/dist/src/validations/getRequiredFields.d.ts +0 -4
  123. package/dist/src/validations/getSupportedFields.d.ts +0 -7
  124. package/dist/src/validations/getVisibleFields.d.ts +0 -4
  125. /package/dist/src/utils/{getPromptKeyMap.d.ts → promptKeyMapping/getPromptKeyMap.d.ts} +0 -0
  126. /package/dist/src/{entry → widgets}/TaxbitQuestionnaire/index.d.ts +0 -0
package/README.md CHANGED
@@ -4,7 +4,7 @@ A React component and hook for gathering Tax Documentation data for US and EU Ta
4
4
 
5
5
  ## Usage
6
6
 
7
- The Taxbit React SDK provides a React component, hook, and Typescript types for gathering tax documentation data from users. The component can be used to collect data for the Taxbit DPS (Digital Platform Sales) or W-Form (W-9, W-8BEN, W-8BEN-E) tax documentation forms. A hook provides more tools to understand the user's tax documentation status and download any pdf versions of the files that are created if eligible.
7
+ The Taxbit React SDK provides a React component, hook, and Typescript types for gathering tax documentation data from users. The component can be used to collect data for the Taxbit DPS (Digital Platform Sales), W-Form (W-9, W-8BEN, W-8BEN-E), or Self-certification (DAC8, CARF) tax documentation forms. A hook provides additional tools to understand the user's tax documentation status and download any digital versions of the tax form files that are created if that are available.
8
8
 
9
9
  DPS (Digital Platform Sales) is a data standard and UI flow used by Taxbit to gather the information needed to report income as directed by the DAC7 for the European Union, and equivalent reporting requirements in Canada, New Zealand, and the United Kingdom.
10
10
 
@@ -179,6 +179,10 @@ type ClientTaxDocumentationStatus = {
179
179
  tinValidationDate?: string;
180
180
  needsResubmission: boolean;
181
181
  };
182
+ selfCertification?: {
183
+ dataCollectionStatus: 'COMPLETE' | 'INCOMPLETE';
184
+ needsResubmission: boolean;
185
+ };
182
186
  };
183
187
  ```
184
188
 
@@ -313,18 +317,23 @@ type Progress = {
313
317
  ```
314
318
 
315
319
  ```typescript
316
- type QuestionnaireType = 'DPS' | 'W-FORM';
320
+ type QuestionnaireType = 'DPS' | 'W-FORM' | 'SELF-CERT';
317
321
  ```
318
322
 
319
323
  ## Changelog
320
324
 
325
+ ### Version 1.2.0-beta.0
326
+
327
+ 1. Self-Certification support
328
+
321
329
  ### Version 1.1.0-beta.1
322
330
 
323
331
  1. Small bug fixes related to mailing address and using enter key to submit.
332
+ 2. React 19 Support.
324
333
 
325
334
  ### Version 1.1.0-beta.0
326
335
 
327
- 1. Treaty Claims can now be collected for the W-8BEN and W-8BEN-E forms.
336
+ 1. Treaty Claims Support on W-Forms.
328
337
 
329
338
  ### Version 1.0.0-beta.8
330
339
 
@@ -433,7 +442,7 @@ type QuestionnaireType = 'DPS' | 'W-FORM';
433
442
 
434
443
  ### Version 0.2.1
435
444
 
436
- 1. The SDK now supports React versions 16, 17, and 18 and TypeScript versions 4 and 5.
445
+ 1. The SDK now supports React versions 16, 17, 18 and TypeScript versions 4 and 5.
437
446
 
438
447
  ### Version 0.2.0
439
448
 
@@ -1,7 +1,7 @@
1
1
  import { ButtonKey, ErrorKey, PromptKey, SubPromptKey, SubTitleKey, TextKey } from '../../i18n/types';
2
- import { Locale, TaxDocumentation, TaxDocumentationKey } from '../../types';
2
+ import { Locale, QuestionnaireProp, TaxDocumentation, TaxDocumentationKey } from '../../types';
3
3
 
4
- export declare const getLocal: (fields: TaxDocumentation, language: Locale) => {
4
+ export declare const getLocal: (fields: TaxDocumentation, language: Locale, questionnaire: QuestionnaireProp) => {
5
5
  getLocalText: (key: TextKey) => string;
6
6
  getLocalTitle: (key: string) => string;
7
7
  getLocalSubTitle: (key: SubTitleKey) => string;
@@ -9,12 +9,13 @@ export declare const getLocal: (fields: TaxDocumentation, language: Locale) => {
9
9
  getLocalButton: (key: ButtonKey) => string;
10
10
  getLocalPrompt: (key: string) => string;
11
11
  getLocalSubPrompt: (key: TaxDocumentationKey) => string;
12
- getLocalOption: (key: string | undefined) => string | undefined;
12
+ getLocalOption: (key: string | undefined, prefix?: string) => string | undefined;
13
13
  getLocalSubOption: (key: string | undefined) => string | undefined;
14
14
  getLocalCountry: (key: string | undefined) => string;
15
15
  getLocalUsState: (key: string | undefined) => "" | "Alabama" | "Alaska" | "Arizona" | "Arkansas" | "California" | "Colorado" | "Connecticut" | "Delaware" | "District Of Columbia" | "Florida" | "Georgia" | "Hawaii" | "Idaho" | "Illinois" | "Indiana" | "Iowa" | "Kansas" | "Kentucky" | "Louisiana" | "Maine" | "Maryland" | "Massachusetts" | "Michigan" | "Minnesota" | "Mississippi" | "Missouri" | "Montana" | "Nebraska" | "Nevada" | "New Hampshire" | "New Jersey" | "New Mexico" | "New York" | "North Carolina" | "North Dakota" | "Ohio" | "Oklahoma" | "Oregon" | "Pennsylvania" | "Rhode Island" | "South Carolina" | "South Dakota" | "Tennessee" | "Texas" | "Utah" | "Vermont" | "Virginia" | "Washington" | "West Virginia" | "Wisconsin" | "Wyoming";
16
16
  getLocalCaProvince: (key: string | undefined) => string;
17
17
  getLocalMonth: (key: string | undefined) => string;
18
+ getLocalAddressTitle: (data: TaxDocumentation) => string;
18
19
  getPromptKey: (key: string) => PromptKey;
19
20
  getSubPromptKey: (key: string) => SubPromptKey;
20
21
  };
@@ -0,0 +1,3 @@
1
+ import { TaxDocumentation } from '../../types';
2
+
3
+ export declare const shiftControllingPerson: (fields: TaxDocumentation, index: 1 | 2 | 3 | 4) => TaxDocumentation;
@@ -1,3 +1,3 @@
1
1
  import { TaxDocumentation } from '../../types';
2
2
 
3
- export declare const shiftResidence: (fields: TaxDocumentation, index: 1 | 2 | 3 | 4) => TaxDocumentation;
3
+ export declare const shiftResidence: (fields: TaxDocumentation, prefix: string, index: string) => TaxDocumentation;
@@ -16,12 +16,13 @@ export declare const useQuestionnaireStep: () => {
16
16
  getLocalButton: (key: import('i18n/types').ButtonKey) => string;
17
17
  getLocalPrompt: (key: string) => string;
18
18
  getLocalSubPrompt: (key: TaxDocumentationKey) => string;
19
- getLocalOption: (key: string | undefined) => string | undefined;
19
+ getLocalOption: (key: string | undefined, prefix?: string) => string | undefined;
20
20
  getLocalSubOption: (key: string | undefined) => string | undefined;
21
21
  getLocalCountry: (key: string | undefined) => string;
22
22
  getLocalUsState: (key: string | undefined) => "" | "Alabama" | "Alaska" | "Arizona" | "Arkansas" | "California" | "Colorado" | "Connecticut" | "Delaware" | "District Of Columbia" | "Florida" | "Georgia" | "Hawaii" | "Idaho" | "Illinois" | "Indiana" | "Iowa" | "Kansas" | "Kentucky" | "Louisiana" | "Maine" | "Maryland" | "Massachusetts" | "Michigan" | "Minnesota" | "Mississippi" | "Missouri" | "Montana" | "Nebraska" | "Nevada" | "New Hampshire" | "New Jersey" | "New Mexico" | "New York" | "North Carolina" | "North Dakota" | "Ohio" | "Oklahoma" | "Oregon" | "Pennsylvania" | "Rhode Island" | "South Carolina" | "South Dakota" | "Tennessee" | "Texas" | "Utah" | "Vermont" | "Virginia" | "Washington" | "West Virginia" | "Wisconsin" | "Wyoming";
23
23
  getLocalCaProvince: (key: string | undefined) => string;
24
24
  getLocalMonth: (key: string | undefined) => string;
25
+ getLocalAddressTitle: (data: TaxDocumentation) => string;
25
26
  getPromptKey: (key: string) => import('i18n/types').PromptKey;
26
27
  getSubPromptKey: (key: string) => import('i18n/types').SubPromptKey;
27
28
  clearIfNotRequired: (...arg: TaxDocumentationKey[]) => (value: Yes | undefined) => void;
@@ -6,12 +6,13 @@ export declare const useQuestionnaireStepContext: () => {
6
6
  getLocalButton: (key: import('../../i18n/types/LocalizationKey.ts').ButtonKey) => string;
7
7
  getLocalPrompt: (key: string) => string;
8
8
  getLocalSubPrompt: (key: import('../../types/TaxDocumentation.ts').TaxDocumentationKey) => string;
9
- getLocalOption: (key: string | undefined) => string | undefined;
9
+ getLocalOption: (key: string | undefined, prefix?: string) => string | undefined;
10
10
  getLocalSubOption: (key: string | undefined) => string | undefined;
11
11
  getLocalCountry: (key: string | undefined) => string;
12
12
  getLocalUsState: (key: string | undefined) => "" | "Alabama" | "Alaska" | "Arizona" | "Arkansas" | "California" | "Colorado" | "Connecticut" | "Delaware" | "District Of Columbia" | "Florida" | "Georgia" | "Hawaii" | "Idaho" | "Illinois" | "Indiana" | "Iowa" | "Kansas" | "Kentucky" | "Louisiana" | "Maine" | "Maryland" | "Massachusetts" | "Michigan" | "Minnesota" | "Mississippi" | "Missouri" | "Montana" | "Nebraska" | "Nevada" | "New Hampshire" | "New Jersey" | "New Mexico" | "New York" | "North Carolina" | "North Dakota" | "Ohio" | "Oklahoma" | "Oregon" | "Pennsylvania" | "Rhode Island" | "South Carolina" | "South Dakota" | "Tennessee" | "Texas" | "Utah" | "Vermont" | "Virginia" | "Washington" | "West Virginia" | "Wisconsin" | "Wyoming";
13
13
  getLocalCaProvince: (key: string | undefined) => string;
14
14
  getLocalMonth: (key: string | undefined) => string;
15
+ getLocalAddressTitle: (data: import('../../types/TaxDocumentation.ts').TaxDocumentation) => string;
15
16
  getPromptKey: (key: string) => import('../../i18n/types/LocalizationKey.ts').PromptKey;
16
17
  getSubPromptKey: (key: string) => import('../../i18n/types/LocalizationKey.ts').SubPromptKey;
17
18
  clearIfNotRequired: (...arg: import('../../types/TaxDocumentation.ts').TaxDocumentationKey[]) => (value: import('../../types/Yes.ts').Yes | undefined) => void;
@@ -37,12 +38,13 @@ export declare const useQuestionnaireStepContext: () => {
37
38
  getLocalButton: (key: import('../../i18n/types/LocalizationKey.ts').ButtonKey) => string;
38
39
  getLocalPrompt: (key: string) => string;
39
40
  getLocalSubPrompt: (key: import('../../types/TaxDocumentation.ts').TaxDocumentationKey) => string;
40
- getLocalOption: (key: string | undefined) => string | undefined;
41
+ getLocalOption: (key: string | undefined, prefix?: string) => string | undefined;
41
42
  getLocalSubOption: (key: string | undefined) => string | undefined;
42
43
  getLocalCountry: (key: string | undefined) => string;
43
44
  getLocalUsState: (key: string | undefined) => "" | "Alabama" | "Alaska" | "Arizona" | "Arkansas" | "California" | "Colorado" | "Connecticut" | "Delaware" | "District Of Columbia" | "Florida" | "Georgia" | "Hawaii" | "Idaho" | "Illinois" | "Indiana" | "Iowa" | "Kansas" | "Kentucky" | "Louisiana" | "Maine" | "Maryland" | "Massachusetts" | "Michigan" | "Minnesota" | "Mississippi" | "Missouri" | "Montana" | "Nebraska" | "Nevada" | "New Hampshire" | "New Jersey" | "New Mexico" | "New York" | "North Carolina" | "North Dakota" | "Ohio" | "Oklahoma" | "Oregon" | "Pennsylvania" | "Rhode Island" | "South Carolina" | "South Dakota" | "Tennessee" | "Texas" | "Utah" | "Vermont" | "Virginia" | "Washington" | "West Virginia" | "Wisconsin" | "Wyoming";
44
45
  getLocalCaProvince: (key: string | undefined) => string;
45
46
  getLocalMonth: (key: string | undefined) => string;
47
+ getLocalAddressTitle: (data: import('../../types/TaxDocumentation.ts').TaxDocumentation) => string;
46
48
  getPromptKey: (key: string) => import('../../i18n/types/LocalizationKey.ts').PromptKey;
47
49
  getSubPromptKey: (key: string) => import('../../i18n/types/LocalizationKey.ts').SubPromptKey;
48
50
  clearIfNotRequired: (...arg: import('../../types/TaxDocumentation.ts').TaxDocumentationKey[]) => (value: import('../../types/Yes.ts').Yes | undefined) => void;
@@ -1,5 +1,5 @@
1
1
  import { ClientTaxDocumentation } from '@taxbit/utilities';
2
- import { InputStep, Locale, Progress, Questionnaire, TaxDocumentation } from 'types';
2
+ import { InputStep, Locale, Progress, QuestionnaireProp, TaxDocumentation } from 'types';
3
3
  import { ExternalValidations } from 'types/client';
4
4
 
5
5
  type InterviewConfig = {
@@ -12,7 +12,7 @@ export type UseTaxDocumentationProps = {
12
12
  onSubmit?: (data: ClientTaxDocumentation) => void | Promise<void>;
13
13
  onProgress?: (progress: Progress) => void | Promise<void>;
14
14
  step?: InputStep;
15
- questionnaire: Questionnaire;
15
+ questionnaire: QuestionnaireProp;
16
16
  config?: InterviewConfig;
17
17
  treatyClaims?: boolean;
18
18
  };
@@ -25,13 +25,13 @@ export declare const useTaxDocumentation: ({ data: startingData, language: initi
25
25
  goBack: (() => void) | undefined;
26
26
  goToNext: (data: TaxDocumentation) => void;
27
27
  progress: Progress | undefined;
28
- stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
28
+ stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
29
29
  data: TaxDocumentation;
30
30
  originalClientData: TaxDocumentation;
31
- initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
31
+ initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
32
32
  setLanguage: (lang: Locale) => void;
33
33
  language: Locale;
34
- questionnaire: Questionnaire;
34
+ questionnaire: QuestionnaireProp;
35
35
  externalValidations: ExternalValidations | undefined;
36
36
  config: InterviewConfig | undefined;
37
37
  isSubmitting: boolean;
@@ -7,13 +7,13 @@ export declare const useTaxDocumentationContext: () => {
7
7
  goBack: (() => void) | undefined;
8
8
  goToNext: (data: import('../../types').TaxDocumentation) => void;
9
9
  progress: import('../..').Progress | undefined;
10
- stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
10
+ stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
11
11
  data: import('../../types').TaxDocumentation;
12
12
  originalClientData: import('../../types').TaxDocumentation;
13
- initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
13
+ initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
14
14
  setLanguage: (lang: import('../..').Locale) => void;
15
15
  language: import('../..').Locale;
16
- questionnaire: import('../..').Questionnaire;
16
+ questionnaire: import('../..').QuestionnaireProp;
17
17
  externalValidations: import('../../types/client').ExternalValidations | undefined;
18
18
  config: {
19
19
  minimumAge: number;
@@ -29,13 +29,13 @@ export declare const useTaxDocumentationContext: () => {
29
29
  goBack: (() => void) | undefined;
30
30
  goToNext: (data: import('../../types').TaxDocumentation) => void;
31
31
  progress: import('../..').Progress | undefined;
32
- stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
32
+ stepName: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
33
33
  data: import('../../types').TaxDocumentation;
34
34
  originalClientData: import('../../types').TaxDocumentation;
35
- initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
35
+ initialStep: "AccountHolderClassification" | "AccountHolderContact" | "AccountHolderTax" | "AccountHolderTaxClarification" | "AccountHolderTreatyClaims" | "ControllingPersonDetails1" | "ControllingPersonDetails2" | "ControllingPersonDetails3" | "ControllingPersonDetails4" | "ControllingPersonDetails5" | "Exemptions" | "RegardedOwnerContact" | "RegardedOwnerTax" | "RegardedOwnerTreatyClaims" | "Summary" | "W8imyInstructions";
36
36
  setLanguage: (lang: import('../..').Locale) => void;
37
37
  language: import('../..').Locale;
38
- questionnaire: import('../..').Questionnaire;
38
+ questionnaire: import('../..').QuestionnaireProp;
39
39
  externalValidations: import('../../types/client').ExternalValidations | undefined;
40
40
  config: {
41
41
  minimumAge: number;
@@ -1,8 +1,8 @@
1
- import { Questionnaire } from 'types';
1
+ import { QuestionnaireProp } from 'types';
2
2
 
3
3
  type UseTaxbitProps = {
4
4
  bearerToken: string;
5
- questionnaire: Questionnaire;
5
+ questionnaire: QuestionnaireProp;
6
6
  staging?: boolean;
7
7
  onError?: (error: Error) => void | Promise<void>;
8
8
  };
@@ -1,11 +1,11 @@
1
1
  import { SignedClientTaxDocumentation } from '@taxbit/utilities';
2
- import { Questionnaire } from '../../types';
2
+ import { QuestionnaireProp } from '../../types';
3
3
  import { ClientTaxDocumentationStatus } from '../../types/client';
4
4
 
5
5
  type UseTaxbitStatusProps = {
6
6
  bearerToken?: string;
7
7
  onError?: (error: Error) => void | Promise<void>;
8
- questionnaire: Questionnaire;
8
+ questionnaire: QuestionnaireProp;
9
9
  staging?: boolean;
10
10
  };
11
11
  export declare const useTaxbitStatus: ({ bearerToken, questionnaire, staging, onError, }: UseTaxbitStatusProps) => {
@@ -1,4 +1,4 @@
1
- import { DPSPropertyFile } from '../types/PropertyFile';
1
+ import { ForeignPropertyFile } from '../types/PropertyFile';
2
2
 
3
- export declare const deTranslations: DPSPropertyFile;
3
+ export declare const deTranslations: ForeignPropertyFile;
4
4
  export declare const de: import('../types/PropertyFile').PropertyFile;
@@ -1,4 +1,4 @@
1
- import { DPSPropertyFile } from '../types/PropertyFile';
1
+ import { ForeignPropertyFile } from '../types/PropertyFile';
2
2
 
3
- export declare const elTranslations: DPSPropertyFile;
3
+ export declare const elTranslations: ForeignPropertyFile;
4
4
  export declare const el: import('../types/PropertyFile').PropertyFile;
@@ -1,3 +1 @@
1
- import { PropertyFile } from '../types/PropertyFile';
2
-
3
- export declare const ga: PropertyFile;
1
+ export declare const ga: import('../types/PropertyFile').PropertyFile;
@@ -1,4 +1,4 @@
1
- import { DPSPropertyFile } from '../types/PropertyFile';
1
+ import { ForeignPropertyFile } from '../types/PropertyFile';
2
2
 
3
- export declare const ltTranslations: DPSPropertyFile;
3
+ export declare const ltTranslations: ForeignPropertyFile;
4
4
  export declare const lt: import('../types/PropertyFile').PropertyFile;
@@ -1,4 +1,4 @@
1
- import { DPSPropertyFile } from '../types/PropertyFile';
1
+ import { ForeignPropertyFile } from '../types/PropertyFile';
2
2
 
3
- export declare const plTranslations: DPSPropertyFile;
3
+ export declare const plTranslations: ForeignPropertyFile;
4
4
  export declare const pl: import('../types/PropertyFile').PropertyFile;
@@ -1,11 +1,11 @@
1
1
  export type ButtonKey = 'edit' | 'back' | 'next' | 'reset' | 'submit' | 'cancel' | 'hide' | 'show';
2
2
  export type ErrorKey = 'countryMustBeAResidenceCountry' | 'formHasErrors' | 'invalid' | 'invalidDate' | 'invalidVat' | 'mustBeFiveOrNineDigits' | 'mustBeInDateFormat' | 'mustBeNineDigits' | 'mustBeNinoFormat' | 'mustBeCaPostalCodeFormat' | 'mustBeInVatinFormat' | 'mustBeValidBirthDate' | 'mustBeAtLeast18' | 'mustMatchName' | 'mustNotMatchVatin' | 'required' | 'residencesMustIncludeAddressCountry' | 'residencesMustIncludeAnEUCountry' | 'residencesMustIncludeVatCountry' | 'tooLong' | 'tooShort' | 'vatinMustNotMatchResidencyTin';
3
- export type SubOptionKey = 'accountHolderUsAccountType_SOLE_PROPRIETOR' | 'accountHolderUsAccountType_SM_LLC' | 'accountHolderUsAccountType_DISREGARDED_ENTITY';
4
- export type OptionKey = TreatyClaimOption | 'accountHolderUsPerson_yes' | 'accountHolderUsPerson_no' | 'usTrustEstateEin_yes' | 'usTrustEstateEin_no' | 'usSoleProprietorEin_yes' | 'usSoleProprietorEin_no' | 'regardedOwnerUsPerson_yes' | 'regardedOwnerUsPerson_no' | 'smllcOwnerUsPerson_yes' | 'smllcOwnerUsPerson_no' | 'smllcElection_yes' | 'smllcElection_no' | 'isIndividual_yes' | 'isIndividual_no' | 'no' | 'yes' | 'CENTRAL_BANK_OF_ISSUE' | 'COMPLEX_TRUST' | 'CORPORATION' | 'C_CORPORATION' | 'DISREGARDED_ENTITY' | 'ESTATE' | 'FOREIGN_GOVERNMENT_CONTROLLED_ENTITY' | 'FOREIGN_GOVERNMENT_INTEGRAL_PART' | 'GRANTOR_TRUST' | 'INDIVIDUAL' | 'INTERNATIONAL_ORGANIZATION' | 'LLC' | 'OTHER' | 'PARTNERSHIP' | 'PRIVATE_FOUNDATION' | 'SIMPLE_TRUST' | 'SM_LLC' | 'SOLE_PROPRIETOR' | 'S_CORPORATION' | 'TAX_EXEMPT_ORGANIZATION' | 'TRUST' | 'TRUST_ESTATE';
5
- export type PromptKey = TreatyClaimPrompt | 'addAdditional' | 'address' | 'businessRegistrationNumber' | 'businessRegistrationCountry' | 'city' | 'cityOfBirth' | 'country' | 'countryOfBirth' | 'dateOfBirth' | 'day' | 'dbaName' | 'exemptPayeeCode' | 'exemptFatcaCode' | 'financialAccountIdentifier' | 'financialAccountName' | 'foreignAccountType' | 'foreignOtherClassification' | 'foreignTin' | 'foreignTinIsNotRequired' | 'foreignTrustClassification' | 'isIndividual' | 'iAcknowledgeESignIsOk' | 'iAgreeWillResubmitIfIncorrect' | 'iAmACitizenOfTheUs' | 'iAmExemptFromFatcaReporting' | 'iAmNotSubjectToBackupWithholding' | 'iAuthorizeWithholdingAgent' | 'iCertifyToAll' | 'iConfirmIncomeIsNonUs' | 'iConfirmTheBeneficialOwnerIsExempt' | 'iConfirmTheInformationIsCorrectComplete' | 'iConfirmTheEntityIsNotAUsPerson' | 'iConfirmTheEntityIsTheBeneficialOwner' | 'iConfirmTheIndividualIsNotAUsPerson' | 'iConfirmTheIndividualIsTheBeneficialOwner' | 'iConfirmTheIndividualIsResidentOfTreatyCountry' | 'iConfirmTheTaxIdIsCorrect' | 'iHaveCapacityToSignForEntity' | 'iHaveCapacityToSignForIndividual' | 'mailingAddress' | 'mailingAddressIsDifferent' | 'month' | 'name' | 'nameOfDisregardedEntity' | 'nameOfEntity' | 'nameOfCCorporation' | 'nameOfCorporation' | 'nameOfIndividual' | 'nameOfIndividualSoleProprietor' | 'nameOfLlc' | 'nameOfOrganization' | 'nameOfPartnership' | 'nameOfSCorporation' | 'nameOfSmllc' | 'nameOfSmllcOwner' | 'nameOfSoleProprietor' | 'nameOfTrustEstate' | 'nameOfTrust' | 'province' | 'referenceNumbers' | 'regardedOwnerUsPerson' | 'regardedOwnerAccountType' | 'removeResidence' | 'signature' | 'smllcElection' | 'smllcOwnerAccountType' | 'smllcOwnerUsPerson' | 'state' | 'stateProvince' | 'street' | 'street2' | 'taxIdNumber' | 'taxIdNumberIsNotRequired' | 'tin' | 'tinUkCrn' | 'tinUkNino' | 'usAccountType' | 'usLlcClassification' | 'usOtherClassification' | 'usPerson' | 'usEin' | 'usSoleProprietorEin' | 'usSsn' | 'usTin' | 'usTrustEstateEin' | 'vatIdentificationNumber' | 'vatIsNotRequired' | 'vatCountry' | 'year' | 'zip';
6
- export type SubPromptKey = TreatyClaimSubPrompt | 'smllcElection' | 'iAmNotSubjectToBackupWithholding' | 'iConfirmIncomeIsNonUs' | 'isIndividual' | 'financialAccountIdentifier' | 'financialAccountName' | 'vatIdentificationNumber' | 'placeOfBirth' | 'referenceNumbers' | 'signature' | 'streetIsPermanent' | 'usPerson';
7
- export type TitleKey = 'accountHolder' | 'accountHolderClassification' | 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderTaxClarification' | 'accountHolderTreatyClaims' | 'address' | 'additionalConditions' | 'acknowledge' | 'certify' | 'confirmation' | 'countryOfCitizenship' | 'countryOfIncorporation' | 'exemptions' | 'mailingAddress' | 'primaryAddress' | 'permanentAddress' | 'placeOfBirth' | 'regardedOwner' | 'regardedOwnerClassification' | 'regardedOwnerContactInformation' | 'regardedOwnerTaxInformation' | 'regardedOwnerTreatyClaims' | 'signature' | 'summary' | 'taxResidences' | 'taxResidence1' | 'taxResidence2' | 'taxResidence3' | 'taxResidence4' | 'taxResidence5' | 'w8imyInstructions';
8
- export type SubTitleKey = 'taxResidences' | 'permanentAddress' | 'taxInformationTreatyClaims';
3
+ export type SubOptionKey = 'accountHolderUsAccountType_SOLE_PROPRIETOR' | 'accountHolderUsAccountType_SM_LLC' | 'accountHolderUsAccountType_DISREGARDED_ENTITY' | 'accountHolderActiveNonFinancialEntityType_OTHER' | 'accountHolderActiveNonFinancialEntityType_PUBLIC_CORPORATION';
4
+ export type OptionKey = TreatyClaimOption | 'accountHolderUsPerson_yes' | 'accountHolderUsPerson_no' | 'usTrustEstateEin_yes' | 'usTrustEstateEin_no' | 'usSoleProprietorEin_yes' | 'usSoleProprietorEin_no' | 'regardedOwnerUsPerson_yes' | 'regardedOwnerUsPerson_no' | 'smllcOwnerUsPerson_yes' | 'smllcOwnerUsPerson_no' | 'smllcElection_yes' | 'smllcElection_no' | 'isIndividual_yes' | 'isIndividual_no' | 'isInvestmentEntityManaged_yes' | 'isInvestmentEntityManaged_no' | 'no' | 'yes' | 'ACTIVE_NON_FINANCIAL_ENTITY' | 'CENTRAL_BANK_OF_ISSUE' | 'COMPLEX_TRUST' | 'CORPORATION' | 'CUSTODIAL_INSTITUTION' | 'C_CORPORATION' | 'DEPOSITORY_INSTITUTION' | 'DISREGARDED_ENTITY' | 'ENTITY_TYPE_TRUST' | 'ENTITY_TYPE_SIMILAR_TO_TRUST' | 'ENTITY_TYPE_OTHER' | 'ESTATE' | 'FINANCIAL_INSTITUTION' | 'FOREIGN_GOVERNMENT_CONTROLLED_ENTITY' | 'FOREIGN_GOVERNMENT_INTEGRAL_PART' | 'accountHolderActiveNonFinancialEntityType_GOVERNMENT_ENTITY' | 'GRANTOR_TRUST' | 'INDIVIDUAL' | 'accountHolderActiveNonFinancialEntityType_INTERNATIONAL_ORGANIZATION' | 'INTERNATIONAL_ORGANIZATION' | 'INVESTMENT_ENTITY' | 'INSURANCE_COMPANY' | 'LLC' | 'OTHER' | 'accountHolderActiveNonFinancialEntityType_OTHER' | 'PARTNERSHIP' | 'PASSIVE_NON_FINANCIAL_ENTITY' | 'PRIVATE_FOUNDATION' | 'accountHolderActiveNonFinancialEntityType_PUBLIC_CORPORATION' | 'SIGNATURE_CAPACITY_EXECUTOR' | 'SIGNATURE_CAPACITY_OFFICER' | 'SIGNATURE_CAPACITY_OTHER_CAPACITY' | 'SIMPLE_TRUST' | 'SM_LLC' | 'SOLE_PROPRIETOR' | 'S_CORPORATION' | 'TAX_EXEMPT_ORGANIZATION' | 'TRUST' | 'TRUST_ESTATE' | 'CONTROLLING_PERSON_ROLE_SETTLOR' | 'CONTROLLING_PERSON_ROLE_TRUSTEE' | 'CONTROLLING_PERSON_ROLE_PROTECTOR' | 'CONTROLLING_PERSON_ROLE_BENEFICIARY' | 'CONTROLLING_PERSON_ROLE_OTHER' | 'CONTROLLING_PERSON_ROLE_SETTLOR_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_TRUSTEE_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_PROTECTOR_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_BENEFICIARY_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_OTHER_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_OWNER' | 'CONTROLLING_PERSON_ROLE_OTHER_MEANS' | 'CONTROLLING_PERSON_ROLE_SENIOR_MANAGING_OFFICIAL' | 'MISSING_TIN_NOT_REQUIRED_REASON_NOT_ISSUED' | 'MISSING_TIN_NOT_REQUIRED_REASON_NOT_REQUIRED' | 'MISSING_TIN_NOT_REQUIRED_REASON_OTHER';
5
+ export type PromptKey = TreatyClaimPrompt | 'activeNonFinancialEntityType' | 'addAdditionalResidence' | 'addControllingPerson' | 'address' | 'businessRegistrationNumber' | 'businessRegistrationCountry' | 'city' | 'cityOfBirth' | 'country' | 'countryOfBirth' | 'dateOfBirth' | 'day' | 'dbaName' | 'exemptPayeeCode' | 'exemptFatcaCode' | 'financialAccountIdentifier' | 'financialAccountName' | 'foreignAccountType' | 'financialInstitutionType' | 'foreignOtherClassification' | 'foreignTin' | 'foreignTinIsNotRequired' | 'foreignTrustClassification' | 'investmentEntityManaged' | 'isIndividual' | 'iAcknowledgeESignIsOk' | 'iWillResubmitIfIncorrect' | 'iAmACitizenOfTheUs' | 'iAmExemptFromFatcaReporting' | 'iAmNotSubjectToBackupWithholding' | 'iAuthorizeWithholdingAgent' | 'iCertifyToAll' | 'iConfirmIncomeIsNonUs' | 'iConfirmTheBeneficialOwnerIsExempt' | 'iConfirmTheInformationIsCorrectComplete' | 'iConfirmTheEntityIsNotAUsPerson' | 'iConfirmTheEntityIsTheBeneficialOwner' | 'iConfirmTheIndividualIsNotAUsPerson' | 'iConfirmTheIndividualIsTheBeneficialOwner' | 'iConfirmTheIndividualIsResidentOfTreatyCountry' | 'iConfirmTheTaxIdIsCorrect' | 'iHaveCapacityToSignForEntity' | 'iHaveCapacityToSignForIndividual' | 'iDeclareStatementsAreCorrect' | 'iUnderstandTheInformationIsCovered' | 'iAcknowledgeTheInformationMayBeProvided' | 'iCertifyIAmAccountHolder' | 'iCertifyIAmAuthorizedToSignForAccountHolder' | 'iCertifyIWillNotifyPersons' | 'iWillNotifyChangeInCircumstanceForIndividual' | 'iWillNotifyChangeInCircumstanceForAccountHolder' | 'mailingAddress' | 'mailingAddressIsDifferent' | 'month' | 'name' | 'nameOfDisregardedEntity' | 'nameOfEntity' | 'nameOfCCorporation' | 'nameOfCorporation' | 'nameOfIndividual' | 'nameOfIndividualSoleProprietor' | 'nameOfLlc' | 'nameOfOrganization' | 'nameOfPartnership' | 'nameOfSCorporation' | 'nameOfSmllc' | 'nameOfSmllcOwner' | 'nameOfSoleProprietor' | 'nameOfTrustEstate' | 'nameOfTrust' | 'otherRole' | 'otherEquivalentRole' | 'ownershipPercentage' | 'managedEntityType' | 'passiveEntityType' | 'province' | 'referenceNumbers' | 'regardedOwnerUsPerson' | 'regardedOwnerAccountType' | 'relatedCorporation' | 'removeResidence' | 'removeControllingPerson' | 'role' | 'securitiesMarket' | 'signature' | 'signatureCapacity' | 'signatureCapacityOther' | 'smllcElection' | 'smllcOwnerAccountType' | 'smllcOwnerUsPerson' | 'countyRegion' | 'stateProvince' | 'street' | 'street2' | 'taxIdNumber' | 'taxIdNumberIsNotRequired' | 'taxIdNumberIsNotRequiredReason' | 'taxIdNumberIsNotRequiredReasonOther' | 'tin' | 'tinUkCrn' | 'tinUkNino' | 'type' | 'usAccountType' | 'usLlcClassification' | 'usOtherClassification' | 'usPerson' | 'usEin' | 'usSoleProprietorEin' | 'usSsn' | 'usTin' | 'usTrustEstateEin' | 'vatIdentificationNumber' | 'vatIsNotRequired' | 'vatCountry' | 'year' | 'zip';
6
+ export type SubPromptKey = TreatyClaimSubPrompt | 'smllcElection' | 'iAmNotSubjectToBackupWithholding' | 'iConfirmIncomeIsNonUs' | 'isIndividual' | 'financialAccountIdentifier' | 'financialAccountName' | 'financialInstitutionType' | 'vatIdentificationNumber' | 'placeOfBirth' | 'referenceNumbers' | 'relatedCorporation' | 'role' | 'securitiesMarket' | 'signature' | 'signatureCapacityOther' | 'streetIsPermanent' | 'usPerson';
7
+ export type TitleKey = 'accountHolder' | 'accountHolderClassification' | 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderTaxClarification' | 'accountHolderTreatyClaims' | 'address' | 'additionalConditions' | 'acknowledge' | 'carfClassificationDetails' | 'certify' | 'confirmation' | 'controllingPersonDetails' | 'controllingPersons' | 'controllingPerson1' | 'controllingPerson2' | 'controllingPerson3' | 'controllingPerson4' | 'controllingPerson5' | 'countryOfCitizenship' | 'countryOfIncorporation' | 'exemptions' | 'mailingAddress' | 'primaryAddress' | 'permanentAddress' | 'placeOfBirth' | 'regardedOwner' | 'regardedOwnerClassification' | 'regardedOwnerContactInformation' | 'regardedOwnerTaxInformation' | 'regardedOwnerTreatyClaims' | 'signature' | 'summary' | 'taxResidences' | 'taxResidence1' | 'taxResidence2' | 'taxResidence3' | 'taxResidence4' | 'taxResidence5' | 'w8imyInstructions';
8
+ export type SubTitleKey = 'controllingPersonDetails' | 'taxResidences' | 'permanentAddress' | 'taxInformationTreatyClaims';
9
9
  export type TextKey = 'eSignActReference' | 'notRequired' | 'notRequiredOrNotIssued' | 'interviewIsComplete' | 'penaltyOfPerjury' | 'penaltiesOfPerjury' | 'retrievingInterviewStatus' | 'taxDocumentationSaved' | 'w8imyInstructions';
10
10
  type TreatyClaimPrompt = 'treatyClaimIsEligible' | 'treatyClaimICertifyResident' | 'treatyClaimICertifyRequirements' | 'treatyClaimCountry' | 'treatyClaimTypeOfIncome' | 'treatyClaimWithholding' | 'treatyClaimAdditionalConditions' | 'treatyClaimLimitationOnBenefits' | 'treatyClaimLimitationOnBenefitsOtherArticleParagraph';
11
11
  type TreatyClaimSubPrompt = 'treatyClaimIsEligible' | 'treatyClaimWithholding' | 'treatyClaimAdditionalConditions' | 'treatyClaimLimitationOnBenefits';
@@ -29,23 +29,24 @@ export type PropertyFile = {
29
29
  [key in TextKey]: string;
30
30
  };
31
31
  };
32
- export type DPSPropertyFile = {
32
+ export type ForeignPropertyFile = {
33
33
  button: PropertyFile['button'];
34
- prompt: Pick<PropertyFile['prompt'], 'addAdditional' | 'address' | 'businessRegistrationCountry' | 'businessRegistrationNumber' | 'city' | 'cityOfBirth' | 'country' | 'countryOfBirth' | 'dateOfBirth' | 'day' | 'financialAccountIdentifier' | 'financialAccountName' | 'iConfirmTheInformationIsCorrectComplete' | 'isIndividual' | 'month' | 'name' | 'nameOfEntity' | 'nameOfIndividual' | 'province' | 'removeResidence' | 'state' | 'stateProvince' | 'street' | 'street2' | 'taxIdNumber' | 'taxIdNumberIsNotRequired' | 'tin' | 'tinUkCrn' | 'tinUkNino' | 'usTin' | 'vatCountry' | 'vatIdentificationNumber' | 'vatIsNotRequired' | 'year' | 'zip'>;
35
- subPrompt: Pick<PropertyFile['subPrompt'], 'financialAccountIdentifier' | 'financialAccountName' | 'isIndividual' | 'placeOfBirth' | 'streetIsPermanent' | 'vatIdentificationNumber'>;
36
- subTitle: Pick<PropertyFile['subTitle'], 'taxResidences'>;
37
- title: Pick<PropertyFile['title'], 'accountHolder' | 'accountHolderClassification' | 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderTaxClarification' | 'address' | 'confirmation' | 'countryOfCitizenship' | 'countryOfIncorporation' | 'permanentAddress' | 'placeOfBirth' | 'summary' | 'taxResidences' | 'taxResidence1' | 'taxResidence2' | 'taxResidence3' | 'taxResidence4' | 'taxResidence5'>;
34
+ prompt: Pick<PropertyFile['prompt'], 'addAdditionalResidence' | 'addControllingPerson' | 'financialInstitutionType' | 'activeNonFinancialEntityType' | 'passiveEntityType' | 'managedEntityType' | 'investmentEntityManaged' | 'iUnderstandTheInformationIsCovered' | 'iAcknowledgeTheInformationMayBeProvided' | 'iCertifyIAmAccountHolder' | 'iCertifyIAmAuthorizedToSignForAccountHolder' | 'iCertifyIWillNotifyPersons' | 'iDeclareStatementsAreCorrect' | 'iWillNotifyChangeInCircumstanceForIndividual' | 'iWillNotifyChangeInCircumstanceForAccountHolder' | 'otherRole' | 'otherEquivalentRole' | 'ownershipPercentage' | 'relatedCorporation' | 'removeControllingPerson' | 'role' | 'securitiesMarket' | 'taxIdNumberIsNotRequiredReason' | 'taxIdNumberIsNotRequiredReasonOther' | 'address' | 'businessRegistrationCountry' | 'businessRegistrationNumber' | 'city' | 'cityOfBirth' | 'country' | 'countryOfBirth' | 'dateOfBirth' | 'day' | 'financialAccountIdentifier' | 'financialAccountName' | 'iConfirmTheInformationIsCorrectComplete' | 'isIndividual' | 'month' | 'name' | 'nameOfEntity' | 'nameOfIndividual' | 'province' | 'removeResidence' | 'countyRegion' | 'stateProvince' | 'street' | 'street2' | 'signatureCapacity' | 'signatureCapacityOther' | 'taxIdNumber' | 'taxIdNumberIsNotRequired' | 'tin' | 'tinUkCrn' | 'tinUkNino' | 'type' | 'usTin' | 'vatCountry' | 'vatIdentificationNumber' | 'vatIsNotRequired' | 'year' | 'zip'>;
35
+ subPrompt: Pick<PropertyFile['subPrompt'], 'financialAccountIdentifier' | 'financialAccountName' | 'financialInstitutionType' | 'isIndividual' | 'placeOfBirth' | 'relatedCorporation' | 'role' | 'securitiesMarket' | 'signatureCapacityOther' | 'streetIsPermanent' | 'vatIdentificationNumber'>;
36
+ subTitle: Pick<PropertyFile['subTitle'], 'taxResidences' | 'controllingPersonDetails'>;
37
+ title: Pick<PropertyFile['title'], 'carfClassificationDetails' | 'controllingPersonDetails' | 'controllingPersons' | 'controllingPerson1' | 'controllingPerson2' | 'controllingPerson3' | 'controllingPerson4' | 'controllingPerson5' | 'accountHolder' | 'accountHolderClassification' | 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderTaxClarification' | 'address' | 'confirmation' | 'countryOfCitizenship' | 'countryOfIncorporation' | 'permanentAddress' | 'placeOfBirth' | 'summary' | 'taxResidences' | 'taxResidence1' | 'taxResidence2' | 'taxResidence3' | 'taxResidence4' | 'taxResidence5'>;
38
38
  text: Pick<PropertyFile['text'], 'interviewIsComplete' | 'notRequired' | 'notRequiredOrNotIssued' | 'retrievingInterviewStatus' | 'taxDocumentationSaved'>;
39
39
  error: Pick<PropertyFile['error'], 'countryMustBeAResidenceCountry' | 'formHasErrors' | 'invalid' | 'invalidDate' | 'invalidVat' | 'mustBeAtLeast18' | 'mustBeFiveOrNineDigits' | 'mustBeInDateFormat' | 'mustBeInVatinFormat' | 'mustBeNineDigits' | 'mustBeNinoFormat' | 'mustBeCaPostalCodeFormat' | 'mustBeValidBirthDate' | 'mustNotMatchVatin' | 'required' | 'residencesMustIncludeAddressCountry' | 'residencesMustIncludeAnEUCountry' | 'residencesMustIncludeVatCountry' | 'tooLong' | 'tooShort' | 'vatinMustNotMatchResidencyTin'>;
40
- option: Pick<PropertyFile['option'], 'no' | 'yes' | 'isIndividual_yes' | 'isIndividual_no'>;
40
+ option: Pick<PropertyFile['option'], 'no' | 'yes' | 'isIndividual_yes' | 'isIndividual_no' | 'isInvestmentEntityManaged_yes' | 'isInvestmentEntityManaged_no' | 'ACTIVE_NON_FINANCIAL_ENTITY' | 'PASSIVE_NON_FINANCIAL_ENTITY' | 'CUSTODIAL_INSTITUTION' | 'accountHolderActiveNonFinancialEntityType_GOVERNMENT_ENTITY' | 'INSURANCE_COMPANY' | 'INVESTMENT_ENTITY' | 'ENTITY_TYPE_TRUST' | 'ENTITY_TYPE_SIMILAR_TO_TRUST' | 'ENTITY_TYPE_OTHER' | 'accountHolderActiveNonFinancialEntityType_PUBLIC_CORPORATION' | 'accountHolderActiveNonFinancialEntityType_OTHER' | 'accountHolderActiveNonFinancialEntityType_INTERNATIONAL_ORGANIZATION' | 'SIGNATURE_CAPACITY_EXECUTOR' | 'SIGNATURE_CAPACITY_OFFICER' | 'SIGNATURE_CAPACITY_OTHER_CAPACITY' | 'DEPOSITORY_INSTITUTION' | 'FINANCIAL_INSTITUTION' | 'CONTROLLING_PERSON_ROLE_SETTLOR' | 'CONTROLLING_PERSON_ROLE_TRUSTEE' | 'CONTROLLING_PERSON_ROLE_PROTECTOR' | 'CONTROLLING_PERSON_ROLE_BENEFICIARY' | 'CONTROLLING_PERSON_ROLE_OTHER' | 'CONTROLLING_PERSON_ROLE_SETTLOR_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_TRUSTEE_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_PROTECTOR_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_BENEFICIARY_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_OTHER_EQUIVALENT' | 'CONTROLLING_PERSON_ROLE_OWNER' | 'CONTROLLING_PERSON_ROLE_OTHER_MEANS' | 'CONTROLLING_PERSON_ROLE_SENIOR_MANAGING_OFFICIAL' | 'MISSING_TIN_NOT_REQUIRED_REASON_NOT_ISSUED' | 'MISSING_TIN_NOT_REQUIRED_REASON_NOT_REQUIRED' | 'MISSING_TIN_NOT_REQUIRED_REASON_OTHER'>;
41
+ subOption: Pick<PropertyFile['subOption'], 'accountHolderActiveNonFinancialEntityType_PUBLIC_CORPORATION' | 'accountHolderActiveNonFinancialEntityType_OTHER'>;
41
42
  };
42
43
  export type PartialDPSPropertyFile = {
43
- button?: Partial<DPSPropertyFile['button']>;
44
- prompt?: Partial<DPSPropertyFile['prompt']>;
45
- subPrompt?: Partial<DPSPropertyFile['subPrompt']>;
46
- subTitle?: Partial<DPSPropertyFile['subTitle']>;
47
- title?: Partial<DPSPropertyFile['title']>;
48
- text?: Partial<DPSPropertyFile['text']>;
49
- error?: Partial<DPSPropertyFile['error']>;
50
- option?: Partial<DPSPropertyFile['option']>;
44
+ button?: Partial<ForeignPropertyFile['button']>;
45
+ prompt?: Partial<ForeignPropertyFile['prompt']>;
46
+ subPrompt?: Partial<ForeignPropertyFile['subPrompt']>;
47
+ subTitle?: Partial<ForeignPropertyFile['subTitle']>;
48
+ title?: Partial<ForeignPropertyFile['title']>;
49
+ text?: Partial<ForeignPropertyFile['text']>;
50
+ error?: Partial<ForeignPropertyFile['error']>;
51
+ option?: Partial<ForeignPropertyFile['option']>;
51
52
  };
@@ -1,9 +1,9 @@
1
1
  import { ClientTaxDocumentation } from '@taxbit/utilities';
2
2
 
3
- export * from './entry/TaxbitQuestionnaire';
4
3
  export * from './hooks/useTaxbit/useTaxbit';
5
4
  export * from './types/client/ClientTaxDocumentationStatus';
6
5
  export * from './types/Locale';
7
6
  export * from './types/Progress';
8
- export * from './types/Questionnaire';
7
+ export * from './types/QuestionnaireProp.ts';
8
+ export * from './widgets/TaxbitQuestionnaire';
9
9
  export type { ClientTaxDocumentation };
@@ -0,0 +1,3 @@
1
+ export declare const activeNonFinancialEntityTypeOptions: {
2
+ value: T;
3
+ }[];
@@ -0,0 +1,3 @@
1
+ export declare const getControllingPersonRoleOptions: (entityType: string | undefined) => {
2
+ value: T;
3
+ }[];
@@ -0,0 +1,3 @@
1
+ export declare const entityTypeOptions: {
2
+ value: T;
3
+ }[];
@@ -0,0 +1,3 @@
1
+ export declare const financialInstitutionTypeOptions: {
2
+ value: T;
3
+ }[];
@@ -1,6 +1,10 @@
1
+ export * from './activeNonFinancialEntityTypeOptions';
2
+ export * from './controllingPersonRoleOptions';
1
3
  export * from './countryOptions';
2
4
  export * from './dayOptions';
5
+ export * from './entityTypeOptions.ts';
3
6
  export * from './fatcaCodeOptions';
7
+ export * from './financialInstitutionTypeOptions';
4
8
  export * from './foreignAccountHolderAccountTypeOptions';
5
9
  export * from './foreignOtherClassificationOptions';
6
10
  export * from './foreignRegardedOwnerAccountTypeOptions';
@@ -8,6 +12,9 @@ export * from './foreignTrustClassificationOptions';
8
12
  export * from './getTreatyCountryLimitationOnBenefitOptions';
9
13
  export * from './localeOptions';
10
14
  export * from './payeeCodeOptions';
15
+ export * from './selfCertificationAccountTypeOptions';
16
+ export * from './signatureCapacityOptions';
17
+ export * from './tinNotRequiredReasonOptions';
11
18
  export * from './typeOfIncomeOptions';
12
19
  export * from './usAccountHolderAccountTypeOptions';
13
20
  export * from './usLlcAccountTypeOptions';
@@ -1,4 +1,4 @@
1
1
  export declare const payeeCodeOptions: {
2
- label: "10" | "11" | "12" | "13" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
2
+ label: "1" | "2" | "3" | "4" | "5" | "10" | "11" | "12" | "13" | "6" | "7" | "8" | "9";
3
3
  value: T;
4
4
  }[];
@@ -0,0 +1,3 @@
1
+ export declare const selfCertificationAccountTypeOptions: {
2
+ value: T;
3
+ }[];
@@ -0,0 +1,3 @@
1
+ export declare const signatureCapacityOptions: {
2
+ value: T;
3
+ }[];
@@ -0,0 +1,3 @@
1
+ export declare const tinNotRequiredReasonOptions: {
2
+ value: T;
3
+ }[];
@@ -1,9 +1,12 @@
1
- import { Questionnaire } from 'types';
1
+ import { QuestionnaireProp } from 'types';
2
2
 
3
+ export declare const TAX_DOCUMENTATION_SUBMISSIONS_PATH = "tax-documentation/submissions";
4
+ export declare const TAX_DOCUMENTATION_STATUS_PATH = "tax-documentation-status";
5
+ export declare const TAX_DOCUMENT_PATH = "tax-documentation/document";
3
6
  export declare const api: {
4
7
  taxDocumentationSubmissions: {
5
8
  post: (environment: "PRODUCTION" | "STAGING") => string;
6
- get: (environment: "PRODUCTION" | "STAGING", questionnaire: Questionnaire) => string;
9
+ get: (environment: "PRODUCTION" | "STAGING", questionnaire: QuestionnaireProp) => string;
7
10
  };
8
11
  taxDocumentationStatus: {
9
12
  get: (environment: "PRODUCTION" | "STAGING") => string;
@@ -0,0 +1,33 @@
1
+ type ResponseOptions = {
2
+ once?: boolean;
3
+ body?: unknown;
4
+ status?: number;
5
+ };
6
+ export declare const mockApi: {
7
+ taxDocumentationSubmissions: {
8
+ get: {
9
+ success: (options?: ResponseOptions) => import('msw').HttpHandler;
10
+ };
11
+ post: {
12
+ success: (options?: ResponseOptions) => import('msw').HttpHandler;
13
+ unauthorized: (options?: ResponseOptions) => import('msw').HttpHandler;
14
+ };
15
+ };
16
+ taxDocumentationStatus: {
17
+ get: {
18
+ success: (options?: ResponseOptions) => import('msw').HttpHandler;
19
+ unauthorized: (options?: ResponseOptions) => import('msw').HttpHandler;
20
+ };
21
+ };
22
+ taxDocument: {
23
+ post: {
24
+ success: (options?: ResponseOptions) => import('msw').HttpHandler;
25
+ };
26
+ get: {
27
+ success: (options?: ResponseOptions) => import('msw').HttpHandler;
28
+ pending: (options?: ResponseOptions) => import('msw').HttpHandler;
29
+ };
30
+ };
31
+ };
32
+ export declare const successHandlers: import('msw').HttpHandler[];
33
+ export {};
@@ -1,8 +1,8 @@
1
1
  import { ClientTaxDocumentation } from '@taxbit/utilities';
2
2
  import { default as React } from 'react';
3
- import { Questionnaire } from '../types';
3
+ import { QuestionnaireProp } from '../types';
4
4
 
5
5
  export declare const Wrapper: React.FC<React.PropsWithChildren & {
6
6
  initialData?: ClientTaxDocumentation;
7
- questionnaire?: Questionnaire;
7
+ questionnaire?: QuestionnaireProp;
8
8
  }>;
@@ -1,5 +1,5 @@
1
1
  import { ClientTaxDocumentation } from '@taxbit/utilities';
2
2
  import { default as React } from 'react';
3
- import { Questionnaire } from '../types';
3
+ import { QuestionnaireProp } from '../types';
4
4
 
5
- export declare const getWrapper: (initialData?: ClientTaxDocumentation, questionnaire?: Questionnaire) => ({ children }: React.PropsWithChildren) => React.ReactNode | Promise<React.ReactNode>;
5
+ export declare const getWrapper: (initialData?: ClientTaxDocumentation, questionnaire?: QuestionnaireProp) => ({ children }: React.PropsWithChildren) => React.ReactNode | Promise<React.ReactNode>;
@@ -1,9 +1,16 @@
1
1
  export declare const expectRowError: (prompt: string) => void;
2
2
  export declare const expectRowErrorText: (prompt: string, text: string) => void;
3
3
  export declare const expectNoRowError: (prompt: string) => void;
4
+ export declare const expectQuestionCount: (count: number) => void;
4
5
  export declare const expectText: (text: string, length?: number) => void;
5
6
  export declare const expectSummaryFieldText: (field: string, text: string) => void;
6
7
  export declare const expectNullInput: (ariaLabel: string) => void;
8
+ export declare const expectVisibleQuestion: (prompt: string) => void;
9
+ export declare const expectNoQuestion: (prompt: string) => void;
10
+ export declare const expectCheckbox: (prompt: string) => void;
11
+ export declare const expectNoCheckbox: (prompt: string) => void;
12
+ export declare const expectSection: (title: string) => void;
13
+ export declare const expectNoSection: (title: string) => void;
7
14
  export declare const expectDisabledInput: (ariaLabel: string) => void;
8
15
  export declare const expectInputValue: (ariaLabel: string, value: string) => void;
9
16
  export declare const clickLabel: (ariaLabel: string) => void;
@@ -16,8 +23,11 @@ export declare const clickNext: () => void;
16
23
  export declare const clickSubmit: () => void;
17
24
  export declare const clickAddAdditionalResidence: () => void;
18
25
  export declare const clickRemoveResidence: (index: 1 | 2 | 3 | 4 | 5) => void;
26
+ export declare const clickAddControllingPerson: () => void;
27
+ export declare const clickRemoveControllingPerson: (index: 1 | 2 | 3 | 4 | 5) => void;
19
28
  export declare const setBusinessNameAndAddress: (prefix?: string) => void;
20
29
  export declare const setIndividualNameAndAddress: (prefix?: string) => void;
21
30
  export declare const setUSIndividualNameAndAddress: (prefix?: string) => void;
22
31
  export declare const setIndividualNameAndAddressAndBirthDate: (prefix?: string) => void;
23
32
  export declare const setUSIndividualNameAndAddressAndBirthDate: (prefix?: string) => void;
33
+ export declare const setIndividualCountryNameAndAddressAndBirthDate: (prefix?: string) => void;
@@ -1,4 +1,4 @@
1
- declare const inputSteps: readonly ["AccountHolderClassification", "AccountHolderContact", "AccountHolderTax", "AccountHolderTaxClarification", "AccountHolderTreatyClaims", "Exemptions", "RegardedOwnerContact", "RegardedOwnerTax", "RegardedOwnerTreatyClaims", "Summary", "W8imyInstructions"];
1
+ declare const inputSteps: readonly ["AccountHolderClassification", "AccountHolderContact", "AccountHolderTax", "AccountHolderTaxClarification", "AccountHolderTreatyClaims", "ControllingPersonDetails1", "ControllingPersonDetails2", "ControllingPersonDetails3", "ControllingPersonDetails4", "ControllingPersonDetails5", "Exemptions", "RegardedOwnerContact", "RegardedOwnerTax", "RegardedOwnerTreatyClaims", "Summary", "W8imyInstructions"];
2
2
  export type InputStep = (typeof inputSteps)[number];
3
3
  export declare const isInputStep: (step: string) => step is InputStep;
4
4
  export declare const confirmInputStep: (step: string) => InputStep;
@@ -0,0 +1 @@
1
+ export type QuestionnaireProp = 'W-FORM' | 'DPS' | 'SELF-CERT';
@@ -1 +1 @@
1
- export type StepId = 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderClassification' | 'accountHolderTaxClarification' | 'accountHolderTreatyClaims' | 'confirmation' | 'exemptions' | 'regardedOwnerContactInformation' | 'regardedOwnerTaxInformation' | 'regardedOwnerTreatyClaims' | 'summary' | 'w8imyInstructions';
1
+ export type StepId = 'accountHolderContactInformation' | 'accountHolderTaxInformation' | 'accountHolderClassification' | 'accountHolderTaxClarification' | 'accountHolderTreatyClaims' | 'confirmation' | 'controllingPersonDetails1' | 'controllingPersonDetails2' | 'controllingPersonDetails3' | 'controllingPersonDetails4' | 'controllingPersonDetails5' | 'exemptions' | 'regardedOwnerContactInformation' | 'regardedOwnerTaxInformation' | 'regardedOwnerTreatyClaims' | 'summary' | 'w8imyInstructions';