import {GetRequestParams} from "../Axios";
import {Order} from "../../components/UI/DuaList/ListHeader/ListHead";
import {FilterStatusType} from "../ReactComponents";
import {WorkPackage} from "../../components/Rescom/RescomProjects/RescomProjectsList/ProjectsList";
import {PersonalFolderFile} from "../HrSupport/PersonalFolder";
import {Microservice} from "../EgovUser";
import dayjs from "dayjs";

export interface RescomCollaborator {
    u_dua_code: string;
    number_of_messages: any;
    can_renew_contract: any;
    c_unit_code: any;
    ei_latest_invitation_in_platform: any;
    days_remain: string | undefined;
    active_project_count: any;
    active_contract_count: any;
    pr_tooltip: string;
    u_agreed_amount: string | undefined;
    u_research_group: string | undefined;
    u_project_specialization: string;
    c_father_name: string;
    u_active_dua: number | undefined | boolean;
    c_personal_email: string;
    u_project_specialization_id: string;
    c_lastname: string;
    c_afm: number | string;
    u_id: number;
    status: boolean;
    fullname: string;
    research_group: string;
    deal: string;
    calc_contract_remain: any;
    latest_invitation_in_platform: any;
    has_hr: boolean;
    email: string;
    speciality: string;
    c_firstname: string;
    triangle: boolean | undefined;
    attention: boolean | undefined;
    u_active_employee: boolean | number;
    c_contract_end_date: any

}

export interface Deal {
    end_date: dayjs.ConfigType;
    start_date: dayjs.ConfigType;
    id: number | string
    is_active: boolean
    date_from: any
    date_to: any
    amount:any
}
export interface DealForm {
    user_id: string | number
    id?: number
    is_active:boolean;
    start_date: any
    end_date: any
    amount:any
}
export interface DealUpdateForm {
    user_id: string | number
    end_date: any;
    start_date: any;
    id:number;
    is_active:boolean;
    amount:any
}
export interface GetDealsParams {
user_id:string
    // page: number
    // page_size: number
}

// export interface ContractType {
//     description: string
//     id: 1
//     name: 'pending' | 'awaiting_acceptance' | 'accepted' | 'declined' | 'cancelled' | 'error' | 'cancel'
//     view_name: string
//     view_name_plural: string
//     type: FilterStatusType
// }


export interface CollaboratorMessage {
    user_email: string;
    created_at: any;
    id: string;
    author: string;   // who wrote it
    date: string;     // ISO date string
    content?: string;  // actual comment text
}


export interface GetRescomCollaboratorsParams extends GetRequestParams {
    to_resolve: boolean | null| string;
    is_dua_invited: boolean | null | string;

    project_specialization_id?: any
    is_active_employee?:any
    is_active_dua?:any
    status?: any
    order: Order,
    order_by: string
    search: string
    role?: string
    project_code: string
}
