import { BaseEntity } from "./base.entity";
import { User } from "./user.entity";
import { Interview } from "./interview.entity";
import { AiInterviewRescheduleRequest } from "./ai-interview-reschedule-request.entity";
export declare enum AiInterviewStatusEnum {
    NOT_ATTEMPTED = "NOT_ATTEMPTED",
    ATTEMPTED = "ATTEMPTED",
    PENDING = "PENDING",
    ACTIVE = "ACTIVE",
    IN_PROGRESS = "IN_PROGRESS",
    IN_COMPLETE = "IN_COMPLETE",
    COMPELETED = "COMPELETED",
    PASSED = "PASSED",
    FAILED = "FAILED",
    EXPIRED = "EXPIRED",
    POSTPONED = "POSTPONED",
    RESCHEDULED = "RESCHEDULED",
    EXITED = "EXITED"
}
export declare enum ResultStatusEnum {
    NOT_EVALUATED = "NOT_EVALUATED",
    EVALUATING = "EVALUATING",
    PASSED = "PASSED",
    FAILED = "FAILED"
}
export declare enum RecordingStatusEnum {
    PROCESSING = "PROCESSING",
    COMPLETED = "COMPLETED",
    FAILED = "FAILED"
}
export declare class AiInterview extends BaseEntity {
    aiInterviewUniqueId: string;
    candidateId: number;
    candidate: User;
    interviwerId: number;
    interviwer: User;
    interviewId: number;
    interview: Interview;
    inviteId: number;
    candidateInterviewId: string;
    candidateInterviewLink: string;
    hasAttempted: boolean;
    attemptedAt: Date;
    completedAt: Date;
    exitedAt: Date;
    expiredAt: Date;
    status: AiInterviewStatusEnum;
    resultStatus: ResultStatusEnum;
    recordingStatus: RecordingStatusEnum;
    isRescheduled: boolean;
    rescheduledAt: Date;
    recordingLink: string;
    iframeResponse: string;
    interviewInsight: string;
    isF2fInterviewScheduled: boolean;
    isContractSent: boolean;
    attempts: number;
    rescheduleRequests: AiInterviewRescheduleRequest[];
}
