import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
import { JobSkill } from "./job-skill.entity";
import { JobApplication } from "./job-application.entity";
import { Interview } from "./interview.entity";
import { Country } from "./country.entity";
import { State } from "./state.entity";
import { City } from "./city.entity";
import { JobRecommendation } from "./job-recommendation.entity";
import { Contract } from "./contract.entity";
export declare enum JobLocationEnum {
    ONSITE = "ONSITE",
    REMOTE = "REMOTE",
    BOTH = "BOTH"
}
export declare enum TypeOfEmploymentEnum {
    FULLTIME = "FULLTIME",
    PARTTIME = "PARTTIME",
    BOTH = "BOTH"
}
export declare enum Step {
    BASIC_INFORMATION = "BASIC_INFORMATION",
    ADDITIONAL_COMMENTS = "ADDITIONAL_COMMENTS",
    JOB_DESCRIPTION = "JOB_DESCRIPTION"
}
export declare enum JobStatusEnum {
    ACTIVE = "ACTIVE",
    OPEN = "OPEN",
    DRAFT = "DRAFT",
    ONHOLD = "ONHOLD",
    CLOSED = "CLOSED"
}
export declare enum DurationTypeEnum {
    DAY = "DAY",
    WEEK = "WEEK",
    MONTH = "MONTH",
    YEAR = "YEAR"
}
export declare class Job extends BaseEntity {
    jobId: string;
    userId: number;
    user: User;
    countryId: number;
    country: Country;
    stateId: number;
    state: State;
    cityId: number;
    city: City;
    jobRole: string;
    note: string;
    openings: number;
    location: JobLocationEnum;
    typeOfEmployment: TypeOfEmploymentEnum;
    academicQualification: string;
    yearsOfExperience: string;
    businessIndustry: string;
    currency: string;
    expectedSalaryFrom: number;
    expectedSalaryTo: number;
    tentativeStartDate: Date;
    tentativeEndDate: Date;
    duration: string;
    durationType: DurationTypeEnum;
    description: string;
    additionalComment: string;
    onboardingTat: string;
    candidateCommunicationSkills: string;
    stepCompleted: Step;
    status: JobStatusEnum;
    viewedCount: number;
    applicationCount: number;
    jobSkills: JobSkill[];
    jobApplications: JobApplication[];
    interviews: Interview[];
    recommendations: JobRecommendation[];
    contracts: Contract[];
}
