import { z } from "zod/v4"; import { ArrayElement } from "@repo/rdx-utils"; import { CreateCustomerInvoiceRequestSchema, GetCustomerInvoiceByIdResponseSchema, ListCustomerInvoicesResponseDTO, UpdateCustomerInvoiceByIdRequestSchema, } from "../../common"; // Esquemas (Zod) provenientes del servidor export const CustomerInvoiceSchema = GetCustomerInvoiceByIdResponseSchema.omit({ metadata: true, }); export const CustomerInvoiceCreateSchema = CreateCustomerInvoiceRequestSchema; export const CustomerInvoiceUpdateSchema = UpdateCustomerInvoiceByIdRequestSchema; // Tipos (derivados de Zod o DTOs del backend) export type CustomerInvoice = z.infer; export type CustomerInvoiceItem = ArrayElement; export type CustomerInvoiceCreateInput = z.infer; // Cuerpo para crear export type CustomerInvoiceUpdateInput = z.infer; // Cuerpo para actualizar // Resultado de consulta con criteria (paginado, etc.) export type CustomerInvoicesPage = ListCustomerInvoicesResponseDTO; // Ítem simplificado dentro del listado (no toda la entidad) export type CustomerInvoiceSummary = Omit, "metadata">;