import { IContactIAMProvider } from './ContactIAMProvider';
import { IContactEvent } from './ContactEvent';
export declare class Contact implements IContact {
    id: string;
    handle: string;
    firstName: string;
    lastName: string;
    avatarUrl?: string;
    initials: string;
    displayName: string;
    text: string;
    jobTitle?: string;
    email?: string;
    emailPersonal?: string;
    countryCode?: string;
    affiliation?: string;
    affiliationUrl?: string;
    affiliationLinkedinUrl?: string;
    affiliationSecondary?: string;
    affiliationTertiary?: string;
    notes?: string;
    tags: string[];
    events: Array<IContactEvent>;
    iamProviders: Array<IContactIAMProvider>;
    creationDate: Date;
    lastUpdateDate?: Date;
    emailEnrichJson: string;
    linkedinEnrichJson: string;
    unsubscribedFromOutbounds: boolean;
    linkedUserUid?: string;
    constructor(c: any);
    setTags(tags: string[]): void;
    addEvent(event: IContactEvent): void;
}
/**
 * Convert the raw contact object to {@link IContact}.
 *
 * @param c Raw contact object
 * @returns Contact
 */
export declare function asContact(c: any): IContact;
export type IContact = {
    id: string;
    handle: string;
    firstName: string;
    lastName: string;
    avatarUrl?: string;
    initials: string;
    displayName: string;
    text: string;
    jobTitle?: string;
    email?: string;
    emailPersonal?: string;
    countryCode?: string;
    affiliation?: string;
    affiliationUrl?: string;
    affiliationLinkedinUrl?: string;
    affiliationSecondary?: string;
    affiliationTertiary?: string;
    notes?: string;
    tags: string[];
    setTags: (tags: string[]) => void;
    events: Array<IContactEvent>;
    addEvent: (event: IContactEvent) => void;
    iamProviders: Array<IContactIAMProvider>;
    creationDate: Date;
    lastUpdateDate?: Date;
    emailEnrichJson: string;
    linkedinEnrichJson: string;
    unsubscribedFromOutbounds: boolean;
    linkedUserUid?: string;
};
export default IContact;
