import { ImpactPublisher, TaxDocumentType } from "./data"; /** * Normalize user input to the domestic form Impact stores: digits only, * with the country dial code and trunk-zero prefix removed. */ export declare function toDomesticNumber(phoneCountryCode: string | undefined, input: string | undefined): string; /** * Validates a phone number against both libphonenumber-js's per-country * pattern rules AND Impact's I18nPhoneNumber length rules, applied to the * sanitized value we'll submit. */ export declare function isValidI18nPhoneNumber(phoneCountryCode: string | undefined, phoneNumber: string | undefined): boolean; export declare function validTaxDocument(requiredType: TaxDocumentType | undefined): boolean; export declare const objectIsFull: (obj: Record) => boolean; export declare const taxTypeToName: (taxType: TaxDocumentType) => "" | "W-9" | "W-8"; export declare function validateBillingField(regex: RegExp, value: string): boolean; export declare const formatErrorMessage: (fieldName: string, errorMessage: string) => string; export declare function getCountryObj({ countryCode, locale, }: { countryCode: string; locale: string; }): { countryCode: string; displayName: any; }; /** The minimum balance Impact requires before it will issue a payout, e.g. "USD50.00". */ export declare function formatPayoutThreshold(publisher: ImpactPublisher | null | undefined): string | undefined; /** * `payoutsAccount.balance` is a formatted string; only `balanceAmount` (minor units) is comparable. * A zero balance gets no notice — there is nothing waiting to pay out. */ export declare function isBalanceUnderPayoutThreshold(publisher: ImpactPublisher | null | undefined): boolean;