export interface SupplierPayableSummary {
  id: string;
  amount: number;
  dueDate: string;
  status: string;
  description?: string;
}

export interface Supplier {
  id: string;
  companyId: string;
  name: string;
  document?: string | null;
  email?: string | null;
  phone?: string | null;
  contactName?: string | null;
  openPayablesCount?: number;
  totalOpenAmount?: number;
  payables?: SupplierPayableSummary[];
  createdAt?: string;
  updatedAt?: string;
}

export interface SupplierStats {
  total: number;
  activeWithPayables: number;
  totalPayableAmount: number;
}

export interface CreateSupplierDTO {
  name: string;
  document?: string;
  email?: string;
  phone?: string;
  contactName?: string;
}

export interface UpdateSupplierDTO {
  name?: string;
  document?: string;
  email?: string;
  phone?: string;
  contactName?: string;
}

export interface SupplierFilterParams {
  search?: string;
  page?: number;
  limit?: number;
}
