import { IdentityType } from "../types"; declare const FullNameOptions: readonly ["with_title", "no_title", "with_first_name", "no_first_name", "with_middle_name", "no_middle_name", "with_last_name", "no_last_name"]; export interface PersonConstructorArgs { title?: string; firstName: string; lastName?: string; middleName?: string; dateOfBirth?: Date | undefined; identityType?: IdentityType; identityNumber?: string | undefined; } export type IPersonObject = PersonConstructorArgs & { name: string; }; export declare abstract class Person { #private; protected _title?: string | undefined; protected _firstName: string; protected _lastName?: string | undefined; protected _middleName?: string | undefined; protected _dateOfBirth?: Date | undefined; protected _identityType?: IdentityType; protected _identityNumber?: string | undefined; constructor(payload: PersonConstructorArgs); get name(): string; get title(): string | undefined; get firstName(): string; get lastName(): string | undefined; get middleName(): string | undefined; get dateOfBirth(): Date | undefined; get identityType(): IdentityType | undefined; get identityNumber(): string | undefined; set title(value: string | undefined); set lastName(value: string | undefined); set middleName(value: string | undefined); set dateOfBirth(value: Date | undefined); set identityType(value: IdentityType | undefined); set identityNumber(value: string | undefined); getFullName(options?: typeof FullNameOptions[number][]): string; protected _toObject(modifier?: (arg: IPersonObject) => T): T | IPersonObject; } export {}; //# sourceMappingURL=Person.d.ts.map