import { Criteria } from "@repo/rdx-criteria/server"; import { UniqueID } from "@repo/rdx-ddd"; import { Collection, Result } from "@repo/rdx-utils"; import { CustomerInvoice, ICustomerInvoiceProps } from "../aggregates"; export interface ICustomerInvoiceService { findCustomerInvoices( criteria: Criteria, transaction?: any ): Promise, Error>>; findCustomerInvoiceById( customerInvoiceId: UniqueID, transaction?: any ): Promise>; updateCustomerInvoiceById( customerInvoiceId: UniqueID, data: Partial, transaction?: any ): Promise>; createCustomerInvoice( customerInvoiceId: UniqueID, data: ICustomerInvoiceProps, transaction?: any ): Promise>; deleteCustomerInvoiceById( customerInvoiceId: UniqueID, transaction?: any ): Promise>; }