export declare class ORCIDInfo {
    private readonly _orcid;
    private readonly _familyName;
    private readonly _givenNames;
    private readonly _employments?;
    private readonly _preferredLocale?;
    private readonly _biography?;
    private readonly _emails?;
    private readonly _keywords?;
    private readonly _researcherUrls?;
    private readonly _country?;
    private readonly _ORCiDJSON;
    constructor(orcid: string, ORCiDJSON: object, familyName: string, givenNames: string[], employments?: Employment[], preferredLocale?: string, biography?: string, emails?: {
        email: string;
        primary: boolean;
        verified: boolean;
    }[], keywords?: {
        content: string;
        index: number;
    }[], researcherUrls?: {
        url: string;
        name: string;
        index: number;
    }[], country?: string);
    get orcid(): string;
    get familyName(): string;
    get givenNames(): string[];
    get ORCiDJSON(): object;
    get employments(): Employment[];
    get preferredLocale(): string;
    get biography(): string;
    get emails(): {
        email: string;
        primary: boolean;
        verified: boolean;
    }[];
    get keywords(): {
        content: string;
        index: number;
    }[];
    get researcherUrls(): {
        url: string;
        name: string;
        index: number;
    }[];
    get country(): string;
    static isORCiD(text: string): boolean;
    static getORCiDInfo(orcid: string): Promise<ORCIDInfo>;
    static fromJSON(serialized: string): ORCIDInfo;
    getAffiliationsAt(date: Date): Employment[];
    getAffiliationAsString(affiliation: Employment, showDepartment?: boolean): string | undefined;
    toObject(): {
        orcid: string;
        ORCiDJSON: object;
        familyName: string;
        givenNames: string[];
        employments: string[];
        preferredLocale: string;
        biography: string;
        emails: {
            email: string;
            primary: boolean;
            verified: boolean;
        }[];
        keywords: {
            content: string;
            index: number;
        }[];
        researcherUrls: {
            url: string;
            name: string;
            index: number;
        }[];
        country: string;
    };
}
declare class Employment {
    startDate: Date;
    endDate: Date | null;
    organization: string;
    department: string;
    constructor(startDate: Date, endDate: Date | null, organization: string, department: string);
    static fromJSON(serialized: string): Employment;
    toObject(): {
        startDate: Date;
        endDate: Date;
        organization: string;
        department: string;
    };
}
export {};
