import { ClientTaxDocumentationStatus } from '../../types/client/ClientTaxDocumentationStatus'; type WFormQuestionnaire = NonNullable; type WFormDocType = WFormQuestionnaire['type']; type WFormIssue = NonNullable[number]; /** * Which W-Form doc types each curable issue applies to. W-9 never appears * — there are no curable issues for W-9. Address-shape issues * (`CARE_OF_PERMANENT_ADDRESS`, `PO_BOX_PERMANENT_ADDRESS`) are only * curable on entity forms (W-8BEN-E, W-8IMY); on individual W-8BEN they * surface as issues but the SDK's curing flow can't resolve them. * * Coordination dependency: account-service `DOCUMENT_CURABLE_ISSUE_TYPES` * is the source of truth; any service-side addition or removal requires * the same change here plus an SDK version bump. */ export declare const DOCUMENT_CURABLE_ISSUE_RULES: { readonly US_INDICIA: readonly ["W-8BEN", "W-8BEN-E", "W-8IMY"]; readonly TREATY_COUNTRY_MISMATCH: readonly ["W-8BEN", "W-8BEN-E"]; readonly CARE_OF_PERMANENT_ADDRESS: readonly ["W-8BEN-E", "W-8IMY"]; readonly PO_BOX_PERMANENT_ADDRESS: readonly ["W-8BEN-E", "W-8IMY"]; }; export type CurableIssueType = keyof typeof DOCUMENT_CURABLE_ISSUE_RULES; /** * True when the issue is one the SDK's curing flow can resolve on the * given W-Form doc type AND is currently `OPEN`. `IN_REVIEW` and * `RESOLVED` deliberately return false — once a submission is in review, * the user can't act on it again until a tax manager flips it back to * `OPEN`. */ export declare const isDocumentCurableIssue: (issue: WFormIssue, docType: WFormDocType) => boolean; export {};