export interface Multipliers { readonly [key: string]: ReadonlyArray; } export interface Rules { multipliers: Multipliers; check?: RegExp; regex: ReadonlyArray; lookup?: ReadonlyArray; typeFormats?: { readonly [key: string]: RegExp; }; additional?: ReadonlyArray; } export interface Country { name: string; codes: ReadonlyArray; calcFn: (vat: string, options?: { readonly [key: string]: any; }) => boolean; rules: Rules; } export interface VatCheckResult { value?: string; isValid: boolean; isValidFormat: boolean; isSupportedCountry: boolean; country?: { name: string; isoCode: { short: string; long: string; numeric: string; }; }; } export declare function checkVAT(vat: string, countriesList?: ReadonlyArray): VatCheckResult;