import { InvoiceShareOptions } from '../crypto/entities/InvoiceShareOptions.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { Invoice } from '../model/Invoice.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface InvoiceFlavouredInGroupApi { /** * * In-group version of [InvoiceFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, invoice: GroupScoped, options?: { options?: InvoiceShareOptions | undefined; }): Promise>; /** * * In-group version of [InvoiceFlavouredApi.shareWithMany] */ shareWithMany(invoice: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: InvoiceShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [InvoiceApi.createInvoice] */ createInvoice(entity: GroupScoped): Promise>; /** * * In-group version of [InvoiceApi.createInvoices] */ createInvoices(entities: Array>): Promise>>; /** * * In-group version of [InvoiceBasicFlavouredApi.undeleteInvoiceById] */ undeleteInvoiceById(entityId: GroupScoped): Promise>; /** * * In-group version of [InvoiceBasicFlavouredApi.undeleteInvoicesByIds] */ undeleteInvoicesByIds(entityIds: Array>): Promise>>; /** * * In-group version of [InvoiceBasicFlavouredApi.undeleteInvoice] */ undeleteInvoice(invoice: GroupScoped): Promise>; /** * * In-group version of [InvoiceBasicFlavouredApi.undeleteInvoices] */ undeleteInvoices(invoices: Array>): Promise>>; /** * * In-group version of [InvoiceBasicFlavouredApi.modifyInvoice] */ modifyInvoice(entity: GroupScoped): Promise>; /** * * In-group version of [InvoiceBasicFlavouredApi.modifyInvoices] */ modifyInvoices(entities: Array>): Promise>>; /** * * In-group version of [InvoiceBasicFlavouredApi.getInvoice] */ getInvoice(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [InvoiceBasicFlavouredApi.getInvoices] */ getInvoices(groupId: string, entityIds: Array): Promise>>; }