declare type NameType = string | Record; declare type OrderType = string[]; declare type EncodeType = string; interface Source { name: NameType; order: OrderType; encode: EncodeType; } export default class Name { private name; private order; private encode; constructor(source: Source); static isNameValid(name: NameType): boolean; static isOrderValid(order: OrderType): boolean; source(): { name: any; order: OrderType; encode: string; }; formattedName(order?: string): any; fullName(): string; getName(placeholder?: string): any; setName(name: string, placeholder?: string): this; getOrder(): OrderType; setOrder(order: OrderType): this; getEncode(): string; setEncode(encode: EncodeType): this; capitalFamilyName(): this; initialGivenName(includeMiddle?: boolean): this; initialMiddleName(): this; prefix(customPrefix: string): this; suffix(customSuffix: string): this; private isMononym; private getSpace; } export {};