export interface Voucher {
  id: number;
  company_id: number;
  branch_id: number | null;
  voucher_number: string;
  date: string;
  partner_id: number | null;
  partner: any;
  total_amount: string;
  amount_in_words: string | null;
  payment_method: string;
  payment_method_label: string;
  receiving_account_id: number | null;
  receiving_account: any;
  paying_account_id: number | null;
  paying_account: any;
  bank_account_id: number | null;
  bank_account: any;
  check_number: string | null;
  check_date: string | null;
  check_bank: string | null;
  description: string | null;
  description_en: string | null;
  description_ar: string | null;
  reference_type: string | null;
  reference_id: number | null;
  reference_number: string | null;
  status: string;
  status_label: string;
  journal_entry_id: number | null;
  cost_center_id: number | null;
  currency_id: number | null;
  currency: any;
  exchange_rate: string;
  created_by: number;
  approved_by: number | null;
  approved_at: string | null;
  created_at: string;
  updated_at: string;
}

export interface CreateVoucher {
  date: string;
  partner_id?: number | null;
  total_amount: number;
  amount_in_words?: string;
  payment_method: string;
  receiving_account_id?: number | null;
  paying_account_id?: number | null;
  bank_account_id?: number | null;
  check_number?: string;
  check_date?: string;
  check_bank?: string;
  description?: string;
  description_en?: string;
  description_ar?: string;
  cost_center_id?: number | null;
  currency_id?: number | null;
  exchange_rate?: number;
}

export type UpdateVoucher = Partial<CreateVoucher>;
