import { AbstractValidatableDocument } from '../../contracts/abstract-validatable-document.js'; import { ReasonCode } from '../../contracts/reason-code.js'; import { type DocumentMeta } from '../../contracts/validation-result.js'; /** * Validates PIX keys (BACEN DICT), a composite of the five key types: * CPF, CNPJ, e-mail, phone (E.164) and the random key (EVP, a UUID). * * Validation is format + checksum only (CPF/CNPJ reuse their validators); it * does NOT check whether the key is actually registered in the DICT — that is * an online lookup. Detected type is exposed as `meta.keyType`. */ export declare class PixValidation extends AbstractValidatableDocument { protected documentName(): string; /** PIX keys are not digit-only; keep the trimmed value verbatim. */ protected sanitize(value: string): string; protected doValidate(): ReasonCode | null; /** * Classifies the key by shape. Order matters: '+' and '@' are unambiguous; * a UUID is checked before digit-only so it never falls through; then the * digit-only CPF (11) / CNPJ (14) lengths. */ private static detectType; /** The detected key type (null when the key is invalid — not reached on the valid path). */ protected extractMeta(normalized: string): DocumentMeta; }