import type * as Merge from "../../../index";
/**
 * # The Application Object
 * ### Description
 * The Application Object is used to represent a candidate's journey through a particular Job's recruiting process. If a Candidate applies for multiple Jobs, there will be a separate Application for each Job if the third-party integration allows it.
 *
 * ### Usage Example
 * Fetch from the `LIST Applications` endpoint and filter by `ID` to show all applications.
 */
export interface Application {
    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 applying. */
    candidate?: Merge.ats.ApplicationCandidate;
    /** The job being applied for. */
    job?: Merge.ats.ApplicationJob;
    /** When the application was submitted. */
    appliedAt?: Date;
    /** When the application was rejected. */
    rejectedAt?: Date;
    offers?: (Merge.ats.ApplicationOffersItem | undefined)[];
    /** The application's source. */
    source?: string;
    /** The user credited for this application. */
    creditedTo?: Merge.ats.ApplicationCreditedTo;
    screeningQuestionAnswers?: Merge.ats.ApplicationScreeningQuestionAnswersItem[];
    /** The application's current stage. */
    currentStage?: Merge.ats.ApplicationCurrentStage;
    /** The application's reason for rejection. */
    rejectReason?: Merge.ats.ApplicationRejectReason;
    /** 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[];
}
