import { u as NormResult, P as PhoneKind } from './types-OoUNo2KB.js'; /** The rules' `normalize` switches; each defaults to true. */ interface NormalizeSwitches { trim?: boolean; invisible?: boolean; fullwidthDigits?: boolean; } /** * `kr.brn` (사업자등록번호): 10 digits with a valid check digit. Output `123-45-67890`. * A valid check digit does not mean the business exists; that needs the NTS API on a server. */ declare function normalizeKrBrn(input: unknown, opts?: { normalize?: NormalizeSwitches; }): NormResult; declare const isBrn: (s: string) => boolean; /** * `kr.phone`: spaces, dots, hyphens and parentheses are ignored and `+82`/`82` becomes a leading 0. * `kind` picks mobile (01x), landline (area codes, 070, 050x) or any (both plus 15xx/16xx/18xx). * A number that is only valid with a 0 in front (Excel dropped it) is `LEADING_ZERO_LOSS`. * Output is hyphenated: `010-1234-5678`, `02-123-4567`, `1588-1234`. */ declare function normalizeKrPhone(input: unknown, opts?: { kind?: PhoneKind; normalize?: NormalizeSwitches; }): NormResult; declare const isPhone: (s: string, kind?: PhoneKind) => boolean; /** * `kr.zip` (우편번호): the 5-digit code in use since 2015-08. A 6-digit old code (`123-456`) gets * `reason: 'old'`; 4 digits means Excel dropped the leading 0 (Seoul is 01xxx–08xxx). */ declare function normalizeKrZip(input: unknown, opts?: { normalize?: NormalizeSwitches; }): NormResult; declare const isZip: (s: string) => boolean; /** * `kr.amount`: a number with an optional `원`/`KRW` suffix or `₩`/`₩`/`KRW` prefix (KRW in any case), * thousands commas and spaces. Accounting negatives `(1,000)`, `△1,000` and `▲1,000` count, as do `-` and `−`; * a leading `+` is allowed (one sign at most). Decimals are allowed; unit words (`1천원`), a lone `-` and values beyond Number.MAX_SAFE_INTEGER are errors. Output is a number. */ declare function normalizeKrAmount(input: unknown, opts?: { normalize?: NormalizeSwitches; }): NormResult; declare const isAmount: (s: string) => boolean; /** * `kr.rrn` (주민등록번호, also 외국인등록번호): 6+7 digits, a real birth date for the century the 7th digit * gives. Numbers issued since 2020-10 have random last digits, so a checksum mismatch is only a * `RRN_CHECKSUM` warning (`checksum: 'off'` drops it). Output `YYMMDD-NNNNNNN`. */ declare function normalizeKrRrn(input: unknown, opts?: { checksum?: 'warn' | 'off'; normalize?: NormalizeSwitches; }): NormResult; /** Shape, birth date and 7th digit; the checksum is not required (see `normalizeKrRrn`). */ declare const isRrn: (s: string) => boolean; /** * `kr.crn` (법인등록번호): 13 digits, output `NNNNNN-NNNNNNN`. The checksum is off by default; * `checksum: 'warn'` adds a `CRN_CHECKSUM` warning on a mismatch. */ declare function normalizeKrCrn(input: unknown, opts?: { checksum?: 'warn' | 'off'; normalize?: NormalizeSwitches; }): NormResult; /** Shape only (13 digits), like the default rule. */ declare const isCrn: (s: string) => boolean; export { isAmount, isBrn, isCrn, isPhone, isRrn, isZip, normalizeKrAmount, normalizeKrBrn, normalizeKrCrn, normalizeKrPhone, normalizeKrRrn, normalizeKrZip };