export declare class CNPJ {
    private static readonly MOD_ALG;
    private static readonly LENGTH;
    private static readonly BASE_NUMERALS_LENGTH;
    private static readonly VERIFIER_DIGITS_LENGTH;
    private static readonly BASE_NUMERALS_START;
    private static readonly BASE_NUMERALS_END;
    private static readonly FIRST_VERIFIER_DIGIT_WEIGHTS;
    private static readonly SECOND_VERIFIER_DIGIT_WEIGHTS;
    private static readonly MASK_REGEX;
    private static readonly MASK_PATTERN;
    private static readonly MASK_SENSITIVE_PATTERN;
    private static readonly BLACKLIST;
    private static readonly VALIDATION_RULES;
    /**
     * PT-BR: Verifica se um número de CNPJ é válido.
     * EN: Checks if a CNPJ number is valid.
     *
     * @param cnpj - PT-BR: O número de CNPJ. EN: The CNPJ number.
     * @returns PT-BR: `true` se o número de CNPJ for válido. EN: `true` if the CNPJ number is valid.
     *
     * @example
     * ```
     * CNPJ.isValid("00.000.000/0000-00"); // false
     * CNPJ.isValid("52.029.894/0001-46"); // true
     * ```
     */
    static isValid(cnpj: string): boolean;
    /**
     * PT-BR: Máscara um número de CNPJ.
     * Útil para exibir o número.
     * Essa é a máscara padrão. Use `maskSensitive` para mascarar dados sensíveis.
     * Use `unmask` para remover a máscara.
     *
     * EN: Masks a CNPJ number.
     * Useful for displaying the number.
     * This is the default mask. Use `maskSensitive` to mask sensitive data.
     * Use `unmask` to remove the mask.
     *
     * @param cnpj - PT-BR: O número de CNPJ. EN: The CNPJ number.
     * @returns PT-BR: O número de CNPJ mascarado. EN: The masked CNPJ number.
     *
     * @example
     * ```
     * CNPJ.mask("52029894000146"); // "52.029.894/0001-46"
     * ```
     */
    static mask(cnpj: string): string;
    /**
     * PT-BR: Máscara um número de CNPJ,
     * Útil para exibir dados sensíveis.
     *
     * EN: Masks a CNPJ number,
     * Useful for displaying sensitive data.
     *
     * @param cnpj - PT-BR: O número de CNPJ. EN: The CNPJ number.
     * @returns PT-BR: O número de CNPJ mascarado. EN: The masked CNPJ number.
     *
     * @example
     * ```
     * CNPJ.maskSensitive("52029894000146"); // "52.029.***\/0001-**"
     * ```
     */
    static maskSensitive(cnpj: string): string;
    /**
     * PT-BR: Remove todos os caracteres não numéricos de um número de CNPJ.
     *
     * EN: Removes all non-digit characters from a CNPJ number.
     *
     * @param cnpj - PT-BR: O número de CNPJ. EN: The CNPJ number.
     * @returns PT-BR: O número de CNPJ sem máscara. EN: The CNPJ number without mask.
     *
     * @example
     * ```
     * CNPJ.unmask("52.029.894/0001-46"); // "52029894000146"
     * ```
     */
    static unmask(cnpj: string): string;
    /**
     * PT-BR: Gera um número de CNPJ aleatório.
     *
     * EN: Generates a random CNPJ number.
     *
     * @returns PT-BR: O número de CNPJ gerado. EN: The generated CNPJ number.
     *
     * @example
     * ```
     * CNPJ.generate(); // "52029894000146"
     * ```
     */
    static generate(): string;
    /**
     * PT-BR: Gera um número de CNPJ aleatório com máscara.
     *
     * EN: Generates a random CNPJ number with mask.
     *
     * @returns PT-BR: O número de CNPJ gerado com máscara. EN: The generated CNPJ number with mask.
     *
     * @example
     * ```
     * CNPJ.generateMasked(); // "52.029.894/0001-46"
     * ```
     */
    static generateMasked(): string;
    private static clear;
    private static shouldHaveValidVerifierDigits;
    private static getBaseNumerals;
    private static calculateVerifierDigits;
    private static calculateFirstVerifierDigit;
    private static calculateSecondVerifierDigit;
}
//# sourceMappingURL=CNPJ.d.ts.map