export interface Employee {
  id: string;
  firstName: string;
  lastName: string;
  phoneNumber: string;
  addedAt: string;
}

export interface Announcement {
  id: string;
  name: string;
  companyTypes: string[];
  totalAmount: number;
  paymentStatus: 'paid' | 'pending' | 'failed';
  createdAt: string;
}

export interface Bonus {
  id: string;
  title: string;
  description: string;
  percentage: number;
  bonusAmount: number;
  createdAt: string;
}

export interface ProductService {
  id: string;
  title: string;
  description: string;
  mediaUrl: string;
  mediaType: 'image' | 'video';
  categories: string[];
  createdAt: string;
}

export interface UserInfoResponseData {
  status: boolean;
  data: {
    id: number;
    activate_types: {
      id: number;
      name: string;
      code: string;
      external_id: null | number;
      level: number;
      is_leaf: boolean;
      icon_name: null | string;
      parent: {
        id: number;
        name: string;
        code: string;
      };
    }[];

    last_login: null | string;
    is_superuser: boolean;
    is_staff: boolean;
    is_active: boolean;
    date_joined: string;
    first_name: string;
    last_name: null | string;
    email: null | string;
    phone: string;
    username: string;
    validated_at: string;
    company_name: string;
    stir: string;
    director_full_name: string;
    referral: null | string;
    referral_amount: number;
    referral_share: number;
    telegram_id: null | string;
    can_create_referral: boolean;
    role: string;
    person_type: 'employee' | 'legal_entity' | 'ytt' | 'band';
    company_image: null | string;
    address: null | string;
    district: number;
    age: null | number;
    gender: 'male' | 'female' | null;
    parent: null | string;
    user_tg_ids: number[];
  };
}

export interface ExployeesResponse {
  status: boolean;
  data: {
    links: {
      previous: null | string;
      next: null | string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: ExployeesDataResponse[];
  };
}

export interface ExployeesDataResponse {
  first_name: string;
  last_name: string;
  phone: string;
}

export interface MyAdsData {
  status: boolean;
  data: {
    links: {
      previous: null | string;
      next: null | string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: MyAdsDataRes[];
  };
}

export interface MyAdsDataRes {
  id: number;
  title: string;
  description: string;
  total_view_count: number;
  files: {
    id: number;
    file: string;
  }[];

  status: 'paid' | 'pending' | 'verified' | 'canceled';
  types: {
    id: number;
    name: string;
  }[];

  letters: string[];
  total_price: number;
  phone_number: string;
  payments_type: 'OTHER' | 'PAYME' | 'REFERRAL';
  created_at: string;
  username: string;
}

export interface MyBonusesData {
  status: boolean;
  data: {
    links: {
      previous: null | string;
      next: null | string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    results: MyBonusesDataRes[];
  };
}
export interface MyBonusesDataRes {
  id: number;
  ad: {
    title: string;
    description: string;
  };
  amount: number;
  percent: number;
  created_at: string;
}

export interface NotificationListRes {
  status: boolean;
  data: {
    links: {
      previous: null | string;
      next: null | string;
    };
    total_items: number;
    total_pages: number;
    page_size: number;
    current_page: number;
    unread_count: number;

    results: NotificationListDataRes[];
  };
}

export interface NotificationListDataRes {
  id: number;
  title: string;
  description: string;
  is_send: boolean;
  is_read: boolean;
  created_at: string;
  updated_at: string;
}
