import { Result, ValueObject } from 'rich-domain';
import { ddd } from './ddd.list';
/**
 * @description Brazilian Home Phone Number
 * @default (XX) XXXX-XXXX
 */
declare class HomePhone extends ValueObject<string> {
    protected static readonly REGEX: RegExp;
    protected static readonly MESSAGE: string;
    private constructor();
    toPattern(): string;
    isMobile(): boolean;
    isHome(): boolean;
    static isValid(value: string): boolean;
    /**
     *
     * @param value Phone number (XX) XXXX-XXXX
     * @returns true if pattern match and false if not.
     */
    static isValidProps(value: string): boolean;
    /**
     * @returns value XXXXXXXXXX as string
     */
    value(): string;
    /**
     *
     * @returns only numbers without special chars. Includes 0 and DDD.
     * @example 01122502301
     */
    toCall(): string;
    number(): string;
    /**
     *
     * @returns only area code (DDD) as number
     * @example 11
     */
    code(): ddd;
    /**
     *
     * @returns only area code (DDD) as number
     * @example 11
     */
    static code(phone: string): ddd;
    uf(): "Distrito Federal" | "Goiás" | "Mato Grosso" | "Mato Grosso do Sul" | "Alagoas" | "Bahia" | "Ceará" | "Maranhão" | "Paraíba" | "Pernambuco" | "Piauí" | "Rio Grande do Norte" | "Acre" | "Amapá" | "Amazonas" | "Pará" | "Rondônia" | "Roraima" | "Tocantins" | "Paraná" | "Rio Grande do Sul" | "Santa Catarina" | "Espírito Santo" | "Minas Gerais" | "Rio de Janeiro" | "São Paulo";
    static removeSpecialChars(cell: string): string;
    static addMask(cell: string): string;
    /**
     *
     * @param value value as string
     * @returns instance of HomePhone or throw an error
     */
    static init(value: string): HomePhone;
    /**
     *
     * @param value Brazilian home phone number
     * @example (XX) XXXX-XXXX
     * @returns Result of HomePhoneValueObject
     */
    static create(value: string): Result<HomePhone | null>;
}
export { HomePhone };
export default HomePhone;
