export type ProfileType = Partial<{
  profession_id: number;
  years_of_experience: string;
  phone: string;
  about_me: string;
  gender: string;
}>;

export interface ReferenceResponseType {
  id: number;
  uuid: string;

  name: string;
  label: string;
  occupation: string;
  organization: string;
  phone: string;
  mobile: string;
  relationship: string;

  profile_id: number;
  verify: boolean;
  user_id: number;
}

export interface ProfileData {
  id: number;
  uuid: string;
  profession_id: number;
  profession: Profession;

  image: string | null;
  thumbnail: string | null;

  gender: string | null;
  years_of_experience: string | null;

  phone: string | null;
  secondary_phone: string | null;

  country: string | null;
  city: string | null;
  postal_code: string | null;

  present_address: string | null;
  permanent_address: string | null;

  emergency_contact: string | null;
  emergency_contact_name: string | null;
  emergency_relation: string | null;

  dob: string | null;
  height: string | null;
  blood_group: string | null;
  marital_status: string | null;
  religion: string | null;

  passport_id: string | null;
  national_id: string | null;
  birth_certificate_id: string | null;

  father_name: string | null;
  mother_name: string | null;

  declaration: string | null;
  about_me: string | null;

  expertises: Expertise[];
  skills: SkillsResponseData;
  educations: any[];
  certificates: any[];
  awards: any[];
  experiences: any[];
  references: any[];
  links: any[];
  personal_values: any[];
  hobbies: any[];

  created_at: string;
  updated_at: string;
}

export interface Expertise {
  id: number;
  uuid: string;
  name: string;
  description: string;
  is_active: boolean;
  created_by: number | null;
  updated_by: number | null;
  deleted_by: number | null;
  deleted_at: string | null;
  created_at: string;
  updated_at: string;
  pivot: Pivot;
}
export interface Profession {
  id: number;
  uuid: string;
  category_id: number;
  name: string;
  description: string | null;
  is_active: boolean;
  created_at: string;
  updated_at: string;
}
// Certificate
export type CertificateFrom = {
  certificate_name: string;
  organization: string;
  issue_year: string;
  credential_id?: string;
  credential_url?: string;
  certificate_file?: File | null; // optional upload
};
export type ExpertiseItem = {
  id: string;
  label: string;
};

export type ProfileFormType = {
  expertise: ExpertiseItem[]; // ✅ FIX
};

// Award

export type AwardForm = {
  award_name: string;
  organization: string;
  year: string;
  award_url?: string | null
  award_file?: File | null; 

};


export type SelectedItemType = {
  experience: {
    designation: string;
    jobType: { label: string; value: string } | null;
    companyName: string;
    companyWebsiteLink: string;
    startDate: Date | string;
    endDate: Date | string;
    currentJob: boolean;
    jobRes: string;
  }[];
};

export type ExperienceType = {
  job_title: string;
  company_name: string;
  company_url?: string;
  employment_type: string;
  start_date: string | null;
  end_date?: string | null;
  is_current: boolean;
  responsibilities: string;
};
export interface Pivot {
  profile_id: number;
  expertise_id: number;
}

export type SkillsType = {
  id: number;
  uuid: string;
  name: string;
  type: string;
};

export interface SkillsResponseData {
  soft?: SkillItem[];
  tool?: SkillItem[];
  language?: SkillItem[];
}
export interface SkillItem {
  id: number;
  uuid: string;
  name?: string;
  label: string;
  type: "soft" | "tool" | "language";

  is_active?: boolean;
}
export type EducationType = {
  degree_name: string;
  institute_name: string;
  passing_year: string;
  major: string;
  result: string;
  end_date: Date;
  start_date: Date;
  is_ongoing: boolean;
  country: string;
  city: string;
};
export interface EducationResponseType {
  id: number;
  uuid: string;

  degree_name: string;
  institute_name: string;

  city: string | null;
  country: string | null;

  is_ongoing: boolean;

  start_date: string | null;
  end_date: string | null;

  passing_year: string | null;

  major: string | null;
  result: string | null;

  profile_id: number;

  created_by: number | null;
  updated_by: number | null;

  created_at: string;
  updated_at: string;
}
export type CertificateType = {
  title: string;
  organization: string;
  issue_year: string;
  certificate_name: string;
  credential_url: string;
  certificate_file?: String | null; // optional upload

};
export type AwardsType = {
  title: string;
  organization: string;
  year: string;
};

export type AwardsMapType = {
  id: string;
  label: string;
  institution: string;
  passing_year: string;
  award_url?: string;
  url?: string;
};
export type ProfileLinksType = {
  uuid?: string;
  platform:
    | {
        id?: number | string;
        label: string;
        value: string;
        uuid?: string | number;
        domain?: string;
      }
    | string;
  url: string;
  social_media_platform_id?: number | string;
  is_portfolio: boolean;
};
export type ReferencesType = {
  name: string;
  occupation: string;
  organization: string;
  phone: string;
  relationship: string;
};

export type ProfileUpdateType = {
  display_name?: string;
  mobile_number?: number;
  company_name?: string;
  email_address?: string;
  location?: string;
  occupation?: string;
};
