import type { Freight } from "@edr/types";

/** Mirrors backend `Invoice` (the shared `Freight.IInvoice` omits a couple of raw entity columns). */
export interface Invoice extends Freight.IInvoice {
  subtotalAmount: number;
  taxAmount: number;
}

/** Query parameters for the invoice list. */
export interface InvoiceListFilter {
  page: number;
  pageSize: number;
  companyId?: string;
  status?: Freight.InvoiceStatus;
  search?: string;
}

/** Standard paginated list envelope (matches the customers/bookings service shape). */
export interface PaginatedInvoices {
  items: Invoice[];
  total: number;
}
