import { HasDescription } from './description.model';
import { HasId } from './id.model';
import { VacancyListFilters } from './vacancy-list.model';
/**
 * @public
 */
export interface VacancyDetails extends HasId, HasDescription {
    type: VacancyType;
    startDate: string | null;
    endDate: string | null;
    positionStartDate: string | null;
    priority: number;
    reAdvertisement: boolean;
    unsolicited: boolean;
    employmentCategoryName: string | null;
    internalAccess: boolean;
    externalAccess: boolean;
    teaserText: null | string;
    candidateApplicationFormTypeId: string;
    contactEmployeeName: null | string;
    /**
     * @deprecated Use {@link contactEmployeeWorkPhoneNumber} instead.
     */
    contactEmployeWorkPhoneNumber: null | string;
    contactEmployeeWorkPhoneNumber: null | string;
    contactEmployeeMobilePhoneNumber: null | string;
    contactEmployeeEmail: null | string;
    advertisementText: null | string;
    companyName: string;
    companyAddress: string;
    organizationName: string;
    locations: VacancyType[];
    fieldsOfWork: VacancyType[];
    regions: VacancyType[];
    areas: Area[];
    vacancyElements: VacancyElement[];
    medias: VacancyType[];
    bannerImage: null | string;
    bannerImageMimeType: null | string;
    listImage: null | string;
    listImageMimeType: null | string;
}
/**
 * @public
 */
export type SimpleVacancyDetails = Pick<VacancyDetails, 'id' | 'description' | 'type' | 'startDate' | 'endDate' | 'priority' | 'unsolicited' | 'internalAccess' | 'externalAccess' | 'teaserText' | 'locations' | 'regions' | 'areas' | 'fieldsOfWork' | 'bannerImage' | 'listImage'>;
/**
 * @public
 */
export interface VacancyType extends HasId, HasDescription {
}
/**
 * @public
 */
export type Area = HasId;
/**
 * @public
 */
export interface VacancyElement extends HasId, HasDescription {
    allowMultipleSelection: boolean;
    vacancyElementLines: VacancyType[];
}
/**
 * @public
 */
export type VacancyDetailsFilters = Pick<VacancyListFilters, 'access'>;
