export interface FilamentSpool {
  id: number;
  name: string;
  material_base_id: number;
  material_finish_id: number;
  material_modifier_id: number;
  color_hex: string;
  brand: string;
  diameter_mm: number;
  initial_grams: number;
  remaining_grams: number;
  spool_weight_grams: number;
  cost_usd: number;
  low_stock_threshold_grams: number;
  notes: string;
  barcode: string;
  created_at: string;
  updated_at: string;
  deleted_at: string | null;
}

export interface PrintJob {
  id: number;
  name: string;
  printer_id: number;
  filament_id: number;
  status: string;
  duration_seconds: number;
  filament_used_grams: number;
  cost_usd: number;
  started_at: string;
  completed_at: string | null;
  created_at: string;
  updated_at: string;
}

export interface ListResponse<T> {
  data: T[];
  total: number;
  limit: number;
  offset: number;
}
