/** Why an IBAN is (in)valid — drives the component's error messaging. */ export type IbanReason = 'valid' | 'empty' | 'incomplete' | 'badFormat' | 'badChecksum'; /** * Published IBAN lengths by ISO-3166 alpha-2 country code (the SEPA zone plus * the common non-SEPA registry entries). Used to decide when a typed value is * "complete" so the component never flags a partially-entered IBAN as invalid. */ export declare const IBAN_LENGTHS: Record; /** The shortest registered IBAN (Norway, 15) — the completeness floor for an * unknown country code. */ export declare const MIN_IBAN_LENGTH = 15; /** The longest registered IBAN (34) — the hard input cap. */ export declare const MAX_IBAN_LENGTH = 34; /** * ISO 7064 mod-97-10. Moves the leading 4 characters (country + check digits) * to the end, maps letters A–Z to 10–35, and reduces the resulting decimal * string modulo 97 in chunks (avoids BigInt). A valid IBAN yields `1`. * * Assumes `value` is already normalised to `[A-Z0-9]` (uppercase, no spaces). */ export declare function ibanMod97(value: string): number; /** * Classify a normalised (uppercased, `[A-Z0-9]`, ≤34-char) IBAN string. Returns * `'incomplete'` while the value is shorter than its country expects so the * caller can stay silent mid-entry, and only `'badFormat'` / `'badChecksum'` * once the value is structurally complete. */ export declare function classifyIban(raw: string): IbanReason; /** Convenience boolean wrapper around {@link classifyIban}. */ export declare function isValidIban(raw: string): boolean; //# sourceMappingURL=is-valid-iban.d.ts.map