import { Type, Field, FieldOptions, BaseField, ListField } from "@snowtop/ent/schema";
import { CountryCode, NumberFormat, PhoneNumber as LibPhoneNumber, FormatNumberOptions } from "libphonenumber-js";
export declare class PhoneNumber extends BaseField implements Field {
    type: Type;
    private _region;
    private _format;
    private _formatOptions;
    private _numbers;
    private _validateForRegion;
    private _validate;
    private validators;
    countryCode(region: CountryCode): this;
    numberFormat(format: NumberFormat, formatOptions?: FormatNumberOptions): this;
    validateForRegion(valid: boolean): this;
    validateNumber(valid: boolean): this;
    validate(validator: (number: LibPhoneNumber) => boolean): this;
    valid(val: any): boolean;
    format(val: any): string;
}
export declare function PhoneNumberType(options?: FieldOptions): PhoneNumber;
export declare function PhoneNumberListType(options?: FieldOptions): ListField;
