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