/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Address } from './Address';
import { ApplicantSocialLinks } from './ApplicantSocialLinks';
import { ApplicantWebsites } from './ApplicantWebsites';
import { CustomField } from './CustomField';
import { Email } from './Email';
import { PassThroughBody } from './PassThroughBody';
import { PhoneNumber } from './PhoneNumber';
import { Tags } from './Tags';
/**
 *
 * @export
 * @interface Applicant
 */
export interface Applicant {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof Applicant
     */
    readonly id?: string;
    /**
     * The name of an applicant.
     * @type {string}
     * @memberof Applicant
     */
    name?: string;
    /**
     * The first name of the person.
     * @type {string}
     * @memberof Applicant
     */
    first_name?: string | null;
    /**
     * The last name of the person.
     * @type {string}
     * @memberof Applicant
     */
    last_name?: string | null;
    /**
     * Middle name of the person.
     * @type {string}
     * @memberof Applicant
     */
    middle_name?: string | null;
    /**
     * The initials of the person, usually derived from their first, middle, and last names.
     * @type {string}
     * @memberof Applicant
     */
    initials?: string | null;
    /**
     * The date of birth of the person.
     * @type {Date}
     * @memberof Applicant
     */
    birthday?: Date | null;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    cover_letter?: string;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    readonly job_url?: string | null;
    /**
     * The URL of the photo of a person.
     * @type {string}
     * @memberof Applicant
     */
    photo_url?: string | null;
    /**
     * Typically a list of previous companies where the contact has worked or schools that the contact has attended
     * @type {string}
     * @memberof Applicant
     */
    headline?: string;
    /**
     * The job title of the person.
     * @type {string}
     * @memberof Applicant
     */
    title?: string | null;
    /**
     *
     * @type {Array<Email>}
     * @memberof Applicant
     */
    emails?: Array<Email>;
    /**
     *
     * @type {Array<CustomField>}
     * @memberof Applicant
     */
    custom_fields?: Array<CustomField>;
    /**
     *
     * @type {Array<PhoneNumber>}
     * @memberof Applicant
     */
    phone_numbers?: Array<PhoneNumber>;
    /**
     *
     * @type {Array<Address>}
     * @memberof Applicant
     */
    addresses?: Array<Address>;
    /**
     *
     * @type {Array<ApplicantWebsites>}
     * @memberof Applicant
     */
    websites?: Array<ApplicantWebsites>;
    /**
     *
     * @type {Array<ApplicantSocialLinks>}
     * @memberof Applicant
     */
    social_links?: Array<ApplicantSocialLinks>;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    stage_id?: string;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    recruiter_id?: string;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    coordinator_id?: string;
    /**
     *
     * @type {Array<string>}
     * @memberof Applicant
     */
    application_ids?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Applicant
     */
    applications?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Applicant
     */
    followers?: Array<string> | null;
    /**
     *
     * @type {Array<string>}
     * @memberof Applicant
     */
    sources?: Array<string> | null;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    readonly source_id?: string;
    /**
     *
     * @type {boolean}
     * @memberof Applicant
     */
    confidential?: boolean;
    /**
     *
     * @type {boolean}
     * @memberof Applicant
     */
    anonymized?: boolean;
    /**
     *
     * @type {Tags}
     * @memberof Applicant
     */
    tags?: Tags | null;
    /**
     *
     * @type {boolean}
     * @memberof Applicant
     */
    archived?: boolean | null;
    /**
     *
     * @type {Date}
     * @memberof Applicant
     */
    readonly last_interaction_at?: Date | null;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    owner_id?: string | null;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    readonly sourced_by?: string | null;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    readonly cv_url?: string;
    /**
     *
     * @type {string}
     * @memberof Applicant
     */
    record_url?: string | null;
    /**
     *
     * @type {Date}
     * @memberof Applicant
     */
    readonly rejected_at?: Date | null;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof Applicant
     */
    readonly custom_mappings?: object | null;
    /**
     * Flag to indicate if the object is deleted.
     * @type {boolean}
     * @memberof Applicant
     */
    deleted?: boolean | null;
    /**
     * The user who deleted the object.
     * @type {string}
     * @memberof Applicant
     */
    readonly deleted_by?: string | null;
    /**
     * The time at which the object was deleted.
     * @type {Date}
     * @memberof Applicant
     */
    readonly deleted_at?: Date | null;
    /**
     * The user who last updated the object.
     * @type {string}
     * @memberof Applicant
     */
    readonly updated_by?: string | null;
    /**
     * The user who created the object.
     * @type {string}
     * @memberof Applicant
     */
    readonly created_by?: string | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof Applicant
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof Applicant
     */
    readonly created_at?: Date | null;
    /**
     *
     * @type {PassThroughBody}
     * @memberof Applicant
     */
    pass_through?: PassThroughBody;
}
export declare function ApplicantFromJSON(json: any): Applicant;
export declare function ApplicantFromJSONTyped(json: any, ignoreDiscriminator: boolean): Applicant;
export declare function ApplicantToJSON(value?: Applicant | null): any;
