/** Make a type nullable. */ export type Nullable = T | null | undefined; /** * The abbreviation type to indicate whether or not to add period to a prefix * using the American or British way. */ export declare enum Title { US = "US", UK = "UK" } /** * An option indicating how to format a surname. * * This enum can be set via `Config` or when creating a `LastName`. As this can * become ambiguous at the time of handling it, the value set in `Config` is * prioritized and viewed as the source of truth for future considerations. */ export declare enum Surname { FATHER = "father", MOTHER = "mother", HYPHENATED = "hyphenated", ALL = "all" } /** The order of appearance of a `FullName`. */ export declare enum NameOrder { FIRST_NAME = "firstName", LAST_NAME = "lastName" } /** The types of name handled in this according the name standards. */ export declare enum NameType { FIRST_NAME = "firstName", MIDDLE_NAME = "middleName", LAST_NAME = "lastName", BIRTH_NAME = "birthName" } /** The possible variants to indicate how to flatten a `FullName`. */ export declare enum Flat { FIRST_NAME = "firstName", MIDDLE_NAME = "middleName", LAST_NAME = "lastName", FIRST_MID = "firstMid", MID_LAST = "midLast", ALL = "all" } /** The range to use when capitalizing a string content. */ export declare enum CapsRange { NONE = 0, INITIAL = 1, ALL = 2 } /** The types of name handled in this utility according the name standards. */ export declare class Namon { readonly index: number; readonly key: string; static readonly PREFIX: Namon; static readonly FIRST_NAME: Namon; static readonly MIDDLE_NAME: Namon; static readonly LAST_NAME: Namon; static readonly SUFFIX: Namon; /** The list of supported name types. */ static readonly values: Namon[]; /** All the predefined name types. */ static readonly all: Map; private static readonly aliases; private constructor(); /** Whether this string key is part of the predefined keys. */ static has(key: string): boolean; /** Makes a string key a namon type. */ static cast(key: string): Nullable; /** String representation of this object. */ toString(): string; /** Whether this and the other value are equal. */ equal(other: Namon | unknown): boolean; } /** The token used to indicate how to split string values. */ export declare class Separator { readonly name: string; readonly token: string; static readonly COMMA: Separator; static readonly COLON: Separator; static readonly DOUBLE_QUOTE: Separator; static readonly EMPTY: Separator; static readonly HYPHEN: Separator; static readonly PERIOD: Separator; static readonly SEMI_COLON: Separator; static readonly SINGLE_QUOTE: Separator; static readonly SPACE: Separator; static readonly UNDERSCORE: Separator; /** All the available separators. */ static readonly all: Map; /** All the available tokens. */ static readonly tokens: string[]; private constructor(); /** Makes a string key a separator type. */ static cast(key: string): Nullable; /** String representation of this object. */ toString(): string; }