import { HasDescription } from './description.model';
/**
 * @public
 */
export declare enum AttachmentType {
    Other = "Other",
    Application = "Application",
    Resume = "Resume"
}
/**
 * @public
 */
export interface Attachment extends HasDescription {
    documentTypeId: string;
    mandatory: boolean;
    attachmentType: AttachmentType;
}
/**
 * @public
 */
export interface ApplicationFormType {
    /**
     * Flag indicating whether to display the image.
     */
    showImage: boolean;
    /**
     * Represents a flag indicating whether to show regions.
     */
    showRegions: boolean;
    /**
     * Indicates whether to show locations or not.
     */
    showLocations: boolean;
    /**
     * Indicates whether to display fields of work.
     */
    showFieldsOfWork: boolean;
    /**
     * Indicates whether to display elements or not.
     */
    showElements: boolean;
    /**
     * Flag indicating whether to show the "Allow Save Disclaimer" message.
     */
    showAllowSaveDisclaimer: boolean;
    /**
     * Indicates whether to show previously applied changes or not.
     */
    showPreviouslyApplied: boolean;
    /**
     * Flags whether or not to display media.
     */
    showMedia: boolean;
    /**
     * Indicates whether the birth date should be shown or not.
     */
    showBirthDate: boolean;
    /**
     * Represents a variable that determines whether to show the gender.
     */
    showGender: boolean;
    /**
     * Represents a variable indicating whether to display the home phone number.
     */
    showHomePhone: boolean;
    /**
     * Indicates whether to display the mobile phone on the interface.
     */
    showMobilePhone: boolean;
    /**
     * Indicates whether to show the country information or not.
     */
    showCountry: boolean;
    /**
     * Indicates whether to display the state/province of a location.
     */
    showStateProvince: boolean;
    /**
     * Represents a variable indicating whether to show the address.
     */
    showAddress: boolean;
    /**
     * Represents a variable showAddress2 which indicates whether to display
     * the Address Line 2 in an address block.
     */
    showAddress2: boolean;
    /**
     * Determines whether to show the nationality of a person.
     */
    showNationality: boolean;
    /**
     * Represents the marital status of an individual.
     */
    showMaritalStatus: boolean;
    /**
     * Indicates whether to display the salutation or not.
     */
    showSalutation: boolean;
    /**
     * Represents whether gender is mandatory or not.
     */
    genderMandatory: boolean;
    /**
     * Indicates whether the birth date is mandatory or not.
     */
    birthDateMandatory: boolean;
    /**
     * Flag to indicate if a mobile phone is mandatory.
     */
    mobilePhoneMandatory: boolean;
    /**
     * Flag to indicate whether the home phone number is mandatory.
     */
    homePhoneMandatory: boolean;
    /**
     * Represents whether the address is mandatory or not.
     */
    addressMandatory: boolean;
    /**
     * Represents whether the media is mandatory or not.
     */
    mediaMandatory: boolean;
    /**
     * Represents the document type ID of an invalid image document.
     */
    invalidImageDocumentTypeId: string;
    /**
     * Represents the unique identifier for the application note document type.
     */
    applicationNoteDocumentTypeId: string;
    /**
     * The reference to the default advertisement.
     */
    defaultAdvertisementReference: string;
    /**
     * Represents whether a note should be displayed or not.
     */
    showNote: boolean;
    /**
     * Flag indicating whether saving a disclaimer is mandatory.
     */
    allowSaveDisclaimerMandatory: boolean;
    /**
     * Indicates whether the email should be repeated or not.
     */
    repeatEmail: boolean;
    /**
     * The `allowSaveDisclaimer` variable stores the disclaimer text that is used to determine whether saving is allowed or not.
     */
    allowSaveDisclaimer: string;
    /**
     * Represents the confirmation page for a website.
     */
    confirmationPage: string;
    /**
     * Represents information about an attachment.
     */
    attachmentInfo: string;
    /**
     * The unique identifier for a candidate mailing template.
     */
    candidateMailingTemplateId: string;
    /**
     * Represents an array of {@link Attachment}.
     */
    attachments: Attachment[];
    /**
     * Indicates whether sign-in with LinkedIn is enabled.
     */
    enableSignInWithLinkedIn: boolean;
    /**
     * Indicates whether Jobindex QuickApply is enabled.
     */
    enableJobindexQuickApply: boolean;
}
/**
 * @internal
 */
export interface ApplicationFormSettings {
    enablePicturePreview?: boolean;
    showColonInFieldNames?: boolean;
}
