import { BaseEntity } from "../../common/entities/base.entity";
import { Company } from "../../company/entities/company.entity";
import { Employee } from "../../employees/entities/employee.entity";
import { LeaveType } from "../../leave-types/entities/leave-type.entity";
import { LeaveRequestApprovalLog } from "./leave-request-approval-log.entity";
export declare enum LeaveRequestStatus {
    PENDING = "pending",
    APPROVED = "approved",
    REJECTED = "rejected",
    CANCELLED = "cancelled"
}
export declare enum LeaveDayType {
    FULL = "FULL",
    FIRST_HALF = "FIRST_HALF",
    SECOND_HALF = "SECOND_HALF"
}
export declare class LeaveRequest extends BaseEntity {
    id: number;
    company_id: number;
    employee_id: number;
    leave_type_id: number;
    sub_leave_type_id: number;
    from_date: Date;
    to_date: Date;
    duration_days: number;
    reason: string;
    status: LeaveRequestStatus;
    approved_by: number;
    approved_at: Date;
    comments: string;
    is_cancelled_after_approval: boolean;
    leave_day_type: string;
    company: Company;
    employee: Employee;
    leaveType: LeaveType;
    subLeaveType: LeaveType;
    approvedBy: Employee;
    approvalLogs: LeaveRequestApprovalLog[];
}
