import { DateType } from "react-native-ui-datepicker";

export interface UserData {
  firstName: string;
  lastName: string;
  email?: string;
  isAdmin: boolean;
}

export interface AttendanceRecord {
  id: number;
  place: string;
  address: string;
  date: string;
  in: string;
  out: string | null;
}

export interface DocumentItem {
  id: number;
  mimetype: string;
  filename: string;
  url: string;
  date: string;
}

export interface TimeOffRequestType {
  id: number;
  name: string;
  color: string;
  time_required: number;
}

export interface TimeOffRequest {
  id: number;
  type: string;
  start_date: DateType;
  end_date?: DateType | null;
  start_time?: string | null;
  end_time?: string | null;
  message?: string | null;
  status: number;
  timeOffRequestType: TimeOffRequestType;
}

export interface Place {
  id: number;
  label: string;
  code?: string;
}

export interface Supplier {
  id: number;
  label: string;
  code: string;
}

export interface InvoiceItem {
  id: number;
  placeName: string;
  supplier: string;
  date: string;
  documentNumber: string;
  totalAmount: string;
}

export interface InvoiceInfo extends InvoiceItem {
  link: string;
}

export interface InvoiceAccounting {
  expiry: string;
  tpa_description: string;
  amount: string;
  isPaid: boolean;
}

export interface Machine {
  id: number;
  label: string;
  type?: string;
}

export interface MachineAttendanceItem {
  id: number;
  machine_uuid: string;
  name: string;
  description: string;
  date: string;
  in: string;
  out: string | null;
}
