/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Merge from "../../../index";
/**
 * # The Candidate Object
 *
 * ### Description
 *
 * The `Candidate` object is used to represent profile information about a given Candidate. Because it is specific to a Candidate, this information stays constant across applications.
 *
 * ### Usage Example
 *
 * Fetch from the `LIST Candidates` endpoint and filter by `ID` to show all candidates.
 */
export interface Candidate {
    id?: string;
    /** The third-party API ID of the matching object. */
    remoteId?: string;
    /** The datetime that this object was created by Merge. */
    createdAt?: Date;
    /** The datetime that this object was modified by Merge. */
    modifiedAt?: Date;
    /** The candidate's first name. */
    firstName?: string;
    /** The candidate's last name. */
    lastName?: string;
    /** The candidate's current company. */
    company?: string;
    /** The candidate's current title. */
    title?: string;
    /** When the third party's candidate was created. */
    remoteCreatedAt?: Date;
    /** When the third party's candidate was updated. */
    remoteUpdatedAt?: Date;
    /** When the most recent interaction with the candidate occurred. */
    lastInteractionAt?: Date;
    /** Whether or not the candidate is private. */
    isPrivate?: boolean;
    /** Whether or not the candidate can be emailed. */
    canEmail?: boolean;
    /** The candidate's locations. */
    locations?: (string | undefined)[];
    phoneNumbers?: Merge.ats.PhoneNumber[];
    emailAddresses?: Merge.ats.EmailAddress[];
    urls?: Merge.ats.Url[];
    /** Array of `Tag` names as strings. */
    tags?: (string | undefined)[];
    /** Array of `Application` object IDs. */
    applications?: (Merge.ats.CandidateApplicationsItem | undefined)[];
    /** Array of `Attachment` object IDs. */
    attachments?: (Merge.ats.CandidateAttachmentsItem | undefined)[];
    /** Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/). */
    remoteWasDeleted?: boolean;
    fieldMappings?: Record<string, unknown>;
    remoteData?: Merge.ats.RemoteData[];
}
